Редакция 56 | Редакция 60 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS
Редакция | Автор | № строки | Строка |
---|---|---|---|
24 | pingvin | 1 | #include "classeditor.h" |
2 | #include "ui_classeditor.h" |
||
3 | |||
45 | pingvin | 4 | |
24 | pingvin | 5 | ClassEditor::ClassEditor(QWidget *parent) : |
6 | QMainWindow(parent), |
||
7 | ui(new Ui::ClassEditor) |
||
8 | { |
||
9 | ui->setupUi(this); |
||
10 | // settdialog = new SettingsDialog(this); |
||
11 | settdialog.show(); |
||
12 | sql.setDatabaseName(tr("an_db")); |
||
56 | pingvin | 13 | |
35 | pingvin | 14 | field = new TableField(tr(""), this); |
38 | pingvin | 15 | field->setNotNull(true); |
35 | pingvin | 16 | field->setDefaultValue(tr("")); |
33 | pingvin | 17 | |
38 | pingvin | 18 | table = new SqlTable (tr("NewTable"), this); |
19 | table->setName(tr("NewTable")); |
||
39 | pingvin | 20 | table->fields().at(0)->setNotNull(true); |
21 | if (!(table->setPrimaryKey(tr("ID")))) { |
||
22 | ui->label_3->setText(table->lastError()); |
||
23 | } |
||
24 | else ui->label_3->setText(table->primaryKey()); |
||
25 | table->append(field); |
||
26 | |||
27 | field = new TableField(tr(""), this); |
||
28 | field->setNotNull(true); |
||
29 | field->setDefaultValue(tr("")); |
||
30 | table->append(field); |
||
31 | |||
40 | pingvin | 32 | field = new TableField(tr(""), this); |
33 | field->setNotNull(true); |
||
34 | field->setDefaultValue(tr("")); |
||
35 | table->append(field); |
||
36 | |||
37 | field = new TableField(tr(" ()"), this); |
||
38 | field->setNotNull(true); |
||
39 | field->setType(tr("INTEGER")); |
||
40 | field->setDefaultValue(tr("1")); |
||
41 | table->append(field); |
||
42 | |||
43 | field = new TableField(tr(" "), this); |
||
44 | field->setNotNull(false); |
||
45 | field->setType(tr("DATE")); |
||
46 | field->setDefaultValue(tr("NULL")); |
||
47 | table->append(field); |
||
48 | |||
38 | pingvin | 49 | ui->label_2->setText(table->name()); |
50 | ui->label->setText(table->fields().at(0)->sqlString()); |
||
39 | pingvin | 51 | ui->label_4->setText(table->sqlString()); |
40 | pingvin | 52 | ////// ui->lineEdit->insert(table->sqlString()); |
38 | pingvin | 53 | |
45 | pingvin | 54 | |
55 | /********************************************** |
||
56 | |||
40 | pingvin | 57 | QTextDocument *document; |
58 | // = ui->textEdit->document(); |
||
59 | QTextCursor *cursor; |
||
45 | pingvin | 60 | |
40 | pingvin | 61 | document = ui->textEdit->document(); |
62 | cursor = new QTextCursor(document); |
||
63 | cursor->movePosition(QTextCursor::Start); |
||
64 | QTextCharFormat format(cursor->charFormat()); |
||
65 | //format.setFontFamily("Courier"); |
||
66 | format.setFontFamily("Arial"); |
||
67 | //format.setFontItalic(false); |
||
68 | |||
69 | format.setFontWeight(QFont::Normal); |
||
70 | QTextCharFormat boldFormat = format; |
||
71 | boldFormat.setFontWeight(QFont::Bold); |
||
72 | |||
73 | QTextCharFormat italicFormat = format; |
||
74 | //format.setFontFamily("Courier"); |
||
75 | // format.setFontFamily("Arial"); |
||
76 | italicFormat.setFontItalic(true); |
||
77 | |||
78 | cursor->insertText(table->sqlString(), format); |
||
41 | pingvin | 79 | |
45 | pingvin | 80 | ****************************************************/ |
81 | |||
41 | pingvin | 82 | QString errorString; |
83 | |||
84 | sql.setDatabaseName(tr("an_db")); |
||
85 | sql.setHostName(tr("localhost")); |
||
86 | sql.setUserName(tr("an")); |
||
87 | sql.setPassword(tr("393939")); |
||
88 | |||
89 | bool ok; |
||
44 | pingvin | 90 | ok = sql.connect(); |
41 | pingvin | 91 | if (!ok) { |
92 | QMessageBox::critical( // . |
||
93 | this, // . |
||
94 | QObject::tr("Database Error"), // . |
||
45 | pingvin | 95 | sql.lasError()); // . |
41 | pingvin | 96 | |
97 | } |
||
98 | else { |
||
99 | |||
100 | QMessageBox::information( // . |
||
101 | this, // . |
||
102 | QObject::tr("Database Connect"), // . |
||
103 | QObject::tr(" .")); // . |
||
104 | |||
105 | |||
106 | |||
107 | |||
108 | |||
24 | pingvin | 109 | } |
110 | |||
42 | pingvin | 111 | |
44 | pingvin | 112 | ok = sql.createTable(table); |
42 | pingvin | 113 | if (!ok) { |
114 | QMessageBox::critical( // . |
||
115 | this, // . |
||
116 | QObject::tr("Database Error"), // . |
||
45 | pingvin | 117 | sql.lasError()); // . |
118 | } |
||
42 | pingvin | 119 | else { |
120 | |||
121 | QMessageBox::information( // . |
||
122 | this, // . |
||
123 | QObject::tr("Database Connect"), // . |
||
124 | QObject::tr(" .")); // . |
||
45 | pingvin | 125 | } |
42 | pingvin | 126 | |
127 | |||
128 | |||
129 | |||
130 | |||
56 | pingvin | 131 | ok = sql.createListOfClassesTable(); |
41 | pingvin | 132 | |
45 | pingvin | 133 | if (!ok) { |
134 | QMessageBox::critical( // . |
||
135 | this, // . |
||
136 | QObject::tr("Database Error"), // . |
||
137 | sql.lasError()); // . |
||
138 | |||
139 | } |
||
140 | else { |
||
141 | |||
142 | QMessageBox::information( // . |
||
143 | this, // . |
||
144 | QObject::tr("Database Create"), // . |
||
145 | QObject::tr(" .")); // . |
||
146 | } |
||
147 | |||
148 | |||
56 | pingvin | 149 | |
150 | |||
151 | ok = sql.createDescriptionOfClassesTable(); |
||
152 | |||
153 | if (!ok) { |
||
154 | QMessageBox::critical( // . |
||
155 | this, // . |
||
156 | QObject::tr("Database Error"), // . |
||
157 | sql.lasError()); // . |
||
158 | |||
159 | } |
||
160 | else { |
||
161 | |||
162 | QMessageBox::information( // . |
||
163 | this, // . |
||
164 | QObject::tr("Database Create"), // . |
||
165 | QObject::tr(" .")); // . |
||
166 | } |
||
167 | |||
168 | |||
169 | |||
170 | |||
171 | |||
172 | |||
173 | |||
174 | /////////////////model = new QSqlTableModel(this); |
||
50 | pingvin | 175 | mymodel = new MyModel(this); |
56 | pingvin | 176 | modelForDescription = new QSqlTableModel(this); |
50 | pingvin | 177 | |
56 | pingvin | 178 | /////////////////model->setTable(tr("ListOfClasses")); |
50 | pingvin | 179 | mymodel->setTable(tr("ListOfClasses")); |
56 | pingvin | 180 | modelForDescription->setTable(tr("DescriptionOfClasses")); |
181 | modelForDescription->setEditStrategy(QSqlTableModel::OnFieldChange); |
||
50 | pingvin | 182 | |
45 | pingvin | 183 | /////model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
50 | pingvin | 184 | |
185 | /* |
||
45 | pingvin | 186 | model->setEditStrategy(QSqlTableModel::OnFieldChange); |
50 | pingvin | 187 | mymodel->setEditStrategy(QSqlTableModel::OnFieldChange); |
188 | */ |
||
189 | |||
190 | |||
56 | pingvin | 191 | //////////////////model->setSort(0, Qt::AscendingOrder); |
50 | pingvin | 192 | mymodel->setSort(0, Qt::AscendingOrder); |
56 | pingvin | 193 | modelForDescription->setSort(0, Qt::AscendingOrder); |
50 | pingvin | 194 | |
56 | pingvin | 195 | |
45 | pingvin | 196 | // model->setFilter(tr("__ = '7' and _ = 'i09090909'")); |
56 | pingvin | 197 | ////////////////////model->select(); |
50 | pingvin | 198 | mymodel->select(); |
56 | pingvin | 199 | modelForDescription->setFilter(tr("ClassIdentifer = 1")); |
200 | modelForDescription->select(); |
||
50 | pingvin | 201 | |
56 | pingvin | 202 | |
203 | /////////////////////////model->setHeaderData(1, Qt::Horizontal, tr(" ")); |
||
50 | pingvin | 204 | mymodel->setHeaderData(1, Qt::Horizontal, tr(" ")); |
205 | |||
206 | |||
207 | |||
56 | pingvin | 208 | ////////////////////////model->setHeaderData(2, Qt::Horizontal, tr(" ")); |
50 | pingvin | 209 | mymodel->setHeaderData(2, Qt::Horizontal, tr(" ")); |
210 | |||
211 | //ui->tableView->setModel(model); |
||
212 | ui->tableView->setModel(mymodel); |
||
56 | pingvin | 213 | //tableForDescription = new QTableView(); |
214 | ui->tableView_2->setModel(modelForDescription); |
||
215 | ui->tableView_2->setAlternatingRowColors(true); |
||
216 | ui->tableView_2->resizeColumnsToContents(); |
||
217 | //tableForDescription->show(); |
||
50 | pingvin | 218 | |
219 | |||
45 | pingvin | 220 | ui->tableView->setAlternatingRowColors(true); |
221 | ui->tableView->resizeColumnsToContents(); |
||
56 | pingvin | 222 | //ui->tableView->hideColumn(0); |
55 | pingvin | 223 | ui->tableView->hideColumn(3); |
45 | pingvin | 224 | |
225 | |||
55 | pingvin | 226 | //connect(ui->tableView, SIGNAL(clicked(const QModelIndex)), this, SLOT(on_tableView_clicked(const QModelIndex))); |
42 | pingvin | 227 | } |
228 | |||
45 | pingvin | 229 | |
230 | |||
231 | |||
232 | |||
233 | |||
234 | |||
235 | |||
236 | |||
237 | |||
238 | |||
24 | pingvin | 239 | ClassEditor::~ClassEditor() |
240 | { |
||
241 | delete ui; |
||
38 | pingvin | 242 | // delete field; |
24 | pingvin | 243 | // delete settdialog; |
244 | } |
||
245 | |||
246 | void ClassEditor::changeEvent(QEvent *e) |
||
247 | { |
||
248 | QMainWindow::changeEvent(e); |
||
249 | switch (e->type()) { |
||
250 | case QEvent::LanguageChange: |
||
251 | ui->retranslateUi(this); |
||
252 | break; |
||
253 | default: |
||
254 | break; |
||
255 | } |
||
256 | } |
||
51 | pingvin | 257 | |
258 | |||
259 | |||
260 | void ClassEditor::addNewClass(){ |
||
261 | |||
262 | int row = model->rowCount(); |
||
263 | |||
264 | model->insertRows(row, 1); |
||
54 | pingvin | 265 | model->setData(model->index(row, 1), tr("New class")); // " " |
51 | pingvin | 266 | |
267 | |||
268 | // model->setData(model->index(row, 1), tr(" ")); |
||
269 | // model->setData(model->index(row, 2) , tr(" , 1")); |
||
270 | |||
271 | |||
272 | model->submitAll(); |
||
273 | |||
274 | row = model->rowCount(); |
||
275 | QString tmp_str; |
||
276 | int i_tmp; |
||
277 | i_tmp = model->data(model->index(row-1, 0)).toInt(); |
||
278 | tmp_str = model->data(model->index(row-1, 0)).toString(); // - |
||
279 | |||
280 | tmp_str.append(tr("_Inctance")); |
||
281 | model->setData(model->index(row-1, 3), tmp_str ); // |
||
282 | |||
283 | model->submitAll(); |
||
284 | mymodel->select(); |
||
285 | |||
286 | |||
287 | } |
||
288 | |||
289 | |||
54 | pingvin | 290 | void ClassEditor::addNewClass_new(){ |
291 | |||
292 | int row = mymodel->rowCount(); |
||
293 | |||
294 | mymodel->insertRows(row, 1); |
||
295 | mymodel->setData(mymodel->index(row, 1), QVariant(tr("New classs")), Qt::EditRole); // " " |
||
296 | |||
297 | mymodel->submitAll(); |
||
298 | |||
299 | row = mymodel->rowCount(); |
||
300 | QString tmp_str1; |
||
301 | int i_tmp1; |
||
302 | i_tmp1 = mymodel->data(mymodel->index(row-1, 0)).toInt(); |
||
303 | tmp_str1 = mymodel->data(mymodel->index(row-1, 0)).toString(); // - |
||
304 | |||
305 | tmp_str1.append(tr("_Inctance")); |
||
306 | mymodel->setData(mymodel->index(row-1, 3), QVariant(tmp_str1), Qt::EditRole); // |
||
307 | |||
308 | // model->setData(model->index(row, 1), tr(" ")); |
||
309 | // model->setData(model->index(row, 2) , tr(" , 1")); |
||
310 | |||
311 | |||
56 | pingvin | 312 | //mymodel->submitAll(); |
54 | pingvin | 313 | |
314 | //row = mymodel->rowCount(); |
||
315 | |||
316 | |||
56 | pingvin | 317 | //mymodel->select(); |
54 | pingvin | 318 | |
319 | |||
320 | } |
||
321 | |||
322 | |||
51 | pingvin | 323 | void ClassEditor::on_pushButton_clicked(){ |
54 | pingvin | 324 | //int i; |
325 | //i++; |
||
326 | /////ClassEditor::addNewClass(); |
||
327 | ClassEditor::addNewClass_new(); |
||
328 | mymodel->select(); |
||
329 | //ui->tableView->setModel(mymodel); |
||
330 | |||
51 | pingvin | 331 | } |
54 | pingvin | 332 | |
55 | pingvin | 333 | void ClassEditor::on_tableView_clicked(const QModelIndex & index ){ |
334 | int i, row, column; |
||
335 | i++; |
||
336 | row = index.row(); |
||
337 | column = index.column(); |
||
56 | pingvin | 338 | QModelIndex index_tmp; |
339 | QString tmp_str, filter_str; |
||
340 | index_tmp = ui->tableView->model()->index(row, 0); |
||
341 | tmp_str = ui->tableView->model()->data(index_tmp).toString(); |
||
342 | ui->label->setText(tmp_str); |
||
343 | filter_str = tr("ClassIdentifer = "); |
||
344 | filter_str.append(tmp_str); |
||
345 | modelForDescription->setFilter(filter_str); |
||
346 | i++; |
||
55 | pingvin | 347 | } |
54 | pingvin | 348 | |
59 | pingvin | 349 | |
350 | |||
351 | void ClassEditor::on_pushButton_2_clicked(){ |
||
352 | int i; |
||
353 | i++; |
||
354 | |||
355 | } |
||
356 | |||
357 | void ClassEditor::on_pushButton_3_clicked(){ // " " |
||
358 | int i; |
||
359 | i++; |
||
360 | } |
||
361 | void ClassEditor::on_pushButton_4_clicked(){ // " " |
||
362 | int i; |
||
363 | i++; |
||
364 | } |