Редакция 82 | Редакция 86 | К новейшей редакции | Только различия | Учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 82 | Редакция 83 | ||
---|---|---|---|
1 | #include "classeditor.h"
|
1 | #include "classeditor.h"
|
2 | #include "ui_classeditor.h"
|
2 | #include "ui_classeditor.h"
|
3 | 3 | ||
4 | 4 | ||
5 | ClassEditor::ClassEditor(QWidget *parent) : |
5 | ClassEditor::ClassEditor(QWidget *parent) : |
6 | QMainWindow(parent), |
6 | QMainWindow(parent), |
7 | ui(new Ui::ClassEditor) |
7 | ui(new Ui::ClassEditor) |
8 | {
|
8 | {
|
9 | ui->setupUi(this); |
9 | ui->setupUi(this); |
10 | 10 | ||
11 | 11 | ||
12 | 12 | ||
13 | // settdialog = new SettingsDialog(this);
|
13 | // settdialog = new SettingsDialog(this);
|
14 | ///////////////////////////////////////////////////// settdialog.show();
|
14 | ///////////////////////////////////////////////////// settdialog.show();
|
15 | sql.setDatabaseName(tr("an_db")); |
15 | sql.setDatabaseName(tr("an_db")); |
16 | 16 | ||
17 | /*
|
17 | /*
|
18 | field = new TableField(tr("Ñîòðóäíèêè"), this);
|
18 | field = new TableField(tr("Ñîòðóäíèêè"), this);
|
19 | field->setNotNull(true);
|
19 | field->setNotNull(true);
|
20 | field->setDefaultValue(tr("ñîòðóäíèê"));
|
20 | field->setDefaultValue(tr("ñîòðóäíèê"));
|
21 | 21 | ||
22 | table = new SqlTable (tr("NewTable"), this);
|
22 | table = new SqlTable (tr("NewTable"), this);
|
23 | table->setName(tr("NewTable"));
|
23 | table->setName(tr("NewTable"));
|
24 | table->fields().at(0)->setNotNull(true);
|
24 | table->fields().at(0)->setNotNull(true);
|
25 | if (!(table->setPrimaryKey(tr("ID")))) {
|
25 | if (!(table->setPrimaryKey(tr("ID")))) {
|
26 | ui->label_3->setText(table->lastError());
|
26 | ui->label_3->setText(table->lastError());
|
27 | }
|
27 | }
|
28 | else ui->label_3->setText(table->primaryKey());
|
28 | else ui->label_3->setText(table->primaryKey());
|
29 | table->append(field);
|
29 | table->append(field);
|
30 | 30 | ||
31 | field = new TableField(tr("Êîìïüþòåðû"), this);
|
31 | field = new TableField(tr("Êîìïüþòåðû"), this);
|
32 | field->setNotNull(true);
|
32 | field->setNotNull(true);
|
33 | field->setDefaultValue(tr("êîìïüþòåð"));
|
33 | field->setDefaultValue(tr("êîìïüþòåð"));
|
34 | table->append(field);
|
34 | table->append(field);
|
35 | 35 | ||
36 | field = new TableField(tr("Ìîíèòîðû"), this);
|
36 | field = new TableField(tr("Ìîíèòîðû"), this);
|
37 | field->setNotNull(true);
|
37 | field->setNotNull(true);
|
38 | field->setDefaultValue(tr("ìîíèòîð"));
|
38 | field->setDefaultValue(tr("ìîíèòîð"));
|
39 | table->append(field);
|
39 | table->append(field);
|
40 | 40 | ||
41 | field = new TableField(tr("Êîëè÷åñòâî (øòóê)"), this);
|
41 | field = new TableField(tr("Êîëè÷åñòâî (øòóê)"), this);
|
42 | field->setNotNull(true);
|
42 | field->setNotNull(true);
|
43 | field->setType(tr("INTEGER"));
|
43 | field->setType(tr("INTEGER"));
|
44 | field->setDefaultValue(tr("1"));
|
44 | field->setDefaultValue(tr("1"));
|
45 | table->append(field);
|
45 | table->append(field);
|
46 | 46 | ||
47 | field = new TableField(tr("Äåíü ðîæäåíèÿ"), this);
|
47 | field = new TableField(tr("Äåíü ðîæäåíèÿ"), this);
|
48 | field->setNotNull(false);
|
48 | field->setNotNull(false);
|
49 | field->setType(tr("DATE"));
|
49 | field->setType(tr("DATE"));
|
50 | field->setDefaultValue(tr("NULL"));
|
50 | field->setDefaultValue(tr("NULL"));
|
51 | table->append(field);
|
51 | table->append(field);
|
52 | 52 | ||
53 | ui->label_2->setText(table->name());
|
53 | ui->label_2->setText(table->name());
|
54 | ui->label->setText(table->fields().at(0)->sqlString());
|
54 | ui->label->setText(table->fields().at(0)->sqlString());
|
55 | ui->label_4->setText(table->sqlString());
|
55 | ui->label_4->setText(table->sqlString());
|
56 | ////// ui->lineEdit->insert(table->sqlString());
|
56 | ////// ui->lineEdit->insert(table->sqlString());
|
57 | 57 | ||
58 | */
|
58 | */
|
59 | /**********************************************
|
59 | /**********************************************
|
60 | 60 | ||
61 | QTextDocument *document;
|
61 | QTextDocument *document;
|
62 | // = ui->textEdit->document();
|
62 | // = ui->textEdit->document();
|
63 | QTextCursor *cursor;
|
63 | QTextCursor *cursor;
|
64 | 64 | ||
65 | document = ui->textEdit->document();
|
65 | document = ui->textEdit->document();
|
66 | cursor = new QTextCursor(document);
|
66 | cursor = new QTextCursor(document);
|
67 | cursor->movePosition(QTextCursor::Start);
|
67 | cursor->movePosition(QTextCursor::Start);
|
68 | QTextCharFormat format(cursor->charFormat());
|
68 | QTextCharFormat format(cursor->charFormat());
|
69 | //format.setFontFamily("Courier");
|
69 | //format.setFontFamily("Courier");
|
70 | format.setFontFamily("Arial");
|
70 | format.setFontFamily("Arial");
|
71 | //format.setFontItalic(false);
|
71 | //format.setFontItalic(false);
|
72 | 72 | ||
73 | format.setFontWeight(QFont::Normal);
|
73 | format.setFontWeight(QFont::Normal);
|
74 | QTextCharFormat boldFormat = format;
|
74 | QTextCharFormat boldFormat = format;
|
75 | boldFormat.setFontWeight(QFont::Bold);
|
75 | boldFormat.setFontWeight(QFont::Bold);
|
76 | 76 | ||
77 | QTextCharFormat italicFormat = format;
|
77 | QTextCharFormat italicFormat = format;
|
78 | //format.setFontFamily("Courier");
|
78 | //format.setFontFamily("Courier");
|
79 | // format.setFontFamily("Arial");
|
79 | // format.setFontFamily("Arial");
|
80 | italicFormat.setFontItalic(true);
|
80 | italicFormat.setFontItalic(true);
|
81 | 81 | ||
82 | cursor->insertText(table->sqlString(), format);
|
82 | cursor->insertText(table->sqlString(), format);
|
83 | 83 | ||
84 | ****************************************************/
|
84 | ****************************************************/
|
85 | 85 | ||
86 | QString errorString;
|
86 | QString errorString;
|
87 | 87 | ||
88 | sql.setDatabaseName(tr("an_db")); |
88 | sql.setDatabaseName(tr("an_db")); |
89 | sql.setHostName(tr("localhost")); |
89 | sql.setHostName(tr("localhost")); |
90 | sql.setUserName(tr("an")); |
90 | sql.setUserName(tr("an")); |
91 | sql.setPassword(tr("393939")); |
91 | sql.setPassword(tr("393939")); |
92 | 92 | ||
93 | bool ok; |
93 | bool ok; |
94 | ok = sql.connect(); |
94 | ok = sql.connect(); |
95 | if (!ok) { |
95 | if (!ok) { |
96 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
96 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
97 | this, // Ðîäèòåëüñêèé âèäæåò. |
97 | this, // Ðîäèòåëüñêèé âèäæåò. |
98 | QObject::tr("Database Error"), // Çàãîëîâîê. |
98 | QObject::tr("Database Error"), // Çàãîëîâîê. |
99 | sql.lasError()); // Òåêñò ñîîáùåíèÿ. |
99 | sql.lasError()); // Òåêñò ñîîáùåíèÿ. |
100 | 100 | ||
101 | }
|
101 | }
|
102 | else { |
102 | else { |
103 | 103 | ||
104 | QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
104 | QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
105 | this, // Ðîäèòåëüñêèé âèäæåò. |
105 | this, // Ðîäèòåëüñêèé âèäæåò. |
106 | QObject::tr("Database Connect"), // Çàãîëîâîê. |
106 | QObject::tr("Database Connect"), // Çàãîëîâîê. |
107 | QObject::tr("Ñîåäèíåíèå ñ áàçîé äàííûõ óñïåøíî óñòàíîâëåíî.")); // Òåêñò ñîîáùåíèÿ. |
107 | QObject::tr("Ñîåäèíåíèå ñ áàçîé äàííûõ óñïåøíî óñòàíîâëåíî.")); // Òåêñò ñîîáùåíèÿ. |
108 | 108 | ||
109 | 109 | ||
110 | 110 | ||
111 | 111 | ||
112 | 112 | ||
113 | }
|
113 | }
|
114 | 114 | ||
115 | /*
|
115 | /*
|
116 | ok = sql.createTable(table);
|
116 | ok = sql.createTable(table);
|
117 | if (!ok) {
|
117 | if (!ok) {
|
118 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
|
118 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
|
119 | this, // Ðîäèòåëüñêèé âèäæåò.
|
119 | this, // Ðîäèòåëüñêèé âèäæåò.
|
120 | QObject::tr("Database Error"), // Çàãîëîâîê.
|
120 | QObject::tr("Database Error"), // Çàãîëîâîê.
|
121 | sql.lasError()); // Òåêñò ñîîáùåíèÿ.
|
121 | sql.lasError()); // Òåêñò ñîîáùåíèÿ.
|
122 | }
|
122 | }
|
123 | else {
|
123 | else {
|
124 | 124 | ||
125 | QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
|
125 | QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
|
126 | this, // Ðîäèòåëüñêèé âèäæåò.
|
126 | this, // Ðîäèòåëüñêèé âèäæåò.
|
127 | QObject::tr("Database Connect"), // Çàãîëîâîê.
|
127 | QObject::tr("Database Connect"), // Çàãîëîâîê.
|
128 | QObject::tr("Òàáëèöà â áàçå äàííûõ óñïåøíî ñîçäàíà.")); // Òåêñò ñîîáùåíèÿ.
|
128 | QObject::tr("Òàáëèöà â áàçå äàííûõ óñïåøíî ñîçäàíà.")); // Òåêñò ñîîáùåíèÿ.
|
129 | }
|
129 | }
|
130 | 130 | ||
131 | 131 | ||
132 | 132 | ||
133 | */
|
133 | */
|
134 | 134 | ||
135 | ok = sql.createListOfClassesTable(); |
135 | ok = sql.createListOfClassesTable(); |
136 | 136 | ||
137 | if (!ok) { |
137 | if (!ok) { |
138 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
138 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
139 | this, // Ðîäèòåëüñêèé âèäæåò. |
139 | this, // Ðîäèòåëüñêèé âèäæåò. |
140 | QObject::tr("Database Error"), // Çàãîëîâîê. |
140 | QObject::tr("Database Error"), // Çàãîëîâîê. |
141 | sql.lasError()); // Òåêñò ñîîáùåíèÿ. |
141 | sql.lasError()); // Òåêñò ñîîáùåíèÿ. |
142 | 142 | ||
143 | }
|
143 | }
|
144 | else { |
144 | else { |
145 | 145 | ||
146 | QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
146 | QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
147 | this, // Ðîäèòåëüñêèé âèäæåò. |
147 | this, // Ðîäèòåëüñêèé âèäæåò. |
148 | QObject::tr("Database Create"), // Çàãîëîâîê. |
148 | QObject::tr("Database Create"), // Çàãîëîâîê. |
149 | QObject::tr("Áàçà äàííûõ óñïåøíî ñîçäàíà.")); // Òåêñò ñîîáùåíèÿ. |
149 | QObject::tr("Áàçà äàííûõ óñïåøíî ñîçäàíà.")); // Òåêñò ñîîáùåíèÿ. |
150 | }
|
150 | }
|
151 | 151 | ||
152 | 152 | ||
153 | 153 | ||
154 | 154 | ||
155 | ok = sql.createDescriptionOfClassesTable(); |
155 | ok = sql.createDescriptionOfClassesTable(); |
156 | 156 | ||
157 | if (!ok) { |
157 | if (!ok) { |
158 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
158 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
159 | this, // Ðîäèòåëüñêèé âèäæåò. |
159 | this, // Ðîäèòåëüñêèé âèäæåò. |
160 | QObject::tr("Database Error"), // Çàãîëîâîê. |
160 | QObject::tr("Database Error"), // Çàãîëîâîê. |
161 | sql.lasError()); // Òåêñò ñîîáùåíèÿ. |
161 | sql.lasError()); // Òåêñò ñîîáùåíèÿ. |
162 | 162 | ||
163 | }
|
163 | }
|
164 | else { |
164 | else { |
165 | 165 | ||
166 | QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
166 | QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
167 | this, // Ðîäèòåëüñêèé âèäæåò. |
167 | this, // Ðîäèòåëüñêèé âèäæåò. |
168 | QObject::tr("Database Create"), // Çàãîëîâîê. |
168 | QObject::tr("Database Create"), // Çàãîëîâîê. |
169 | QObject::tr("Áàçà äàííûõ óñïåøíî ñîçäàíà.")); // Òåêñò ñîîáùåíèÿ. |
169 | QObject::tr("Áàçà äàííûõ óñïåøíî ñîçäàíà.")); // Òåêñò ñîîáùåíèÿ. |
170 | }
|
170 | }
|
171 | 171 | ||
172 | 172 | ||
173 | 173 | ||
174 | 174 | ||
175 | 175 | ||
176 | 176 | ||
177 | 177 | ||
178 | model = new QSqlTableModel(); // õðàíèëèùå îáúåêòîâ êëàññà |
178 | model = new QSqlTableModel(); // õðàíèëèùå îáúåêòîâ êëàññà |
179 | tableForInstance = new QTableView(); |
179 | tableForInstance = new QTableView(); |
180 | mymodel = new MyModel(this); |
180 | mymodel = new MyModel(this); |
181 | modelForPointers = new ModelForPointers(this); // // ìîäåëü äëÿ òàáëèöû ñ óêàçàòåëÿìè |
181 | modelForPointers = new ModelForPointers(this); // // ìîäåëü äëÿ òàáëèöû ñ óêàçàòåëÿìè |
182 | 182 | ||
183 | //modelForDescription = new QSqlTableModel(this);
|
183 | //modelForDescription = new QSqlTableModel(this);
|
184 | modelForDescription = new ModelForDescriptionTable(this); |
184 | modelForDescription = new ModelForDescriptionTable(this); |
185 | 185 | ||
186 | 186 | ||
187 | /////////////////model->setTable(tr("ListOfClasses"));
|
187 | /////////////////model->setTable(tr("ListOfClasses"));
|
188 | mymodel->setTable(tr("ListOfClasses")); |
188 | mymodel->setTable(tr("ListOfClasses")); |
189 | modelForDescription->setTable(tr("DescriptionOfClasses")); |
189 | modelForDescription->setTable(tr("DescriptionOfClasses")); |
190 | modelForDescription->setEditStrategy(QSqlTableModel::OnFieldChange); |
190 | modelForDescription->setEditStrategy(QSqlTableModel::OnFieldChange); |
191 | 191 | ||
192 | /////model->setEditStrategy(QSqlTableModel::OnManualSubmit);
|
192 | /////model->setEditStrategy(QSqlTableModel::OnManualSubmit);
|
193 | 193 | ||
194 | modelForPointers->setEditStrategy(QSqlTableModel::OnManualSubmit); |
194 | modelForPointers->setEditStrategy(QSqlTableModel::OnManualSubmit); |
195 | modelForPointers->setTable(tr("DescriptionOfClasses")); |
195 | modelForPointers->setTable(tr("DescriptionOfClasses")); |
196 | 196 | ||
197 | 197 | ||
198 | 198 | ||
199 | 199 | ||
200 | //mymodel->setEditStrategy(QSqlTableModel::OnFieldChange);
|
200 | //mymodel->setEditStrategy(QSqlTableModel::OnFieldChange);
|
201 | 201 | ||
202 | 202 | ||
203 | 203 | ||
204 | //////////////////model->setSort(0, Qt::AscendingOrder);
|
204 | //////////////////model->setSort(0, Qt::AscendingOrder);
|
205 | mymodel->setSort(0, Qt::AscendingOrder); |
205 | mymodel->setSort(0, Qt::AscendingOrder); |
206 | modelForDescription->setSort(0, Qt::AscendingOrder); |
206 | modelForDescription->setSort(0, Qt::AscendingOrder); |
207 | modelForPointers->setSort(0, Qt::AscendingOrder); |
207 | modelForPointers->setSort(0, Qt::AscendingOrder); |
208 | 208 | ||
209 | // model->setFilter(tr("Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà = '7' and Èíâåíòàðíûé_íîìåð = 'i09090909'"));
|
209 | // model->setFilter(tr("Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà = '7' and Èíâåíòàðíûé_íîìåð = 'i09090909'"));
|
210 | ////////////////////model->select();
|
210 | ////////////////////model->select();
|
211 | mymodel->select(); |
211 | mymodel->select(); |
212 | // modelForPointers->select();
|
212 | // modelForPointers->select();
|
213 | 213 | ||
214 | 214 | ||
215 | 215 | ||
216 | 216 | ||
217 | /////////////////////////model->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà"));
|
217 | /////////////////////////model->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà"));
|
218 | mymodel->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà")); |
218 | mymodel->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà")); |
219 | 219 | ||
220 | 220 | ||
221 | 221 | ||
222 | ////////////////////////model->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà"));
|
222 | ////////////////////////model->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà"));
|
223 | mymodel->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà")); |
223 | mymodel->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà")); |
224 | mymodel->setHeaderData(4, Qt::Horizontal, tr("Êîìåíòàðèé")); |
224 | mymodel->setHeaderData(4, Qt::Horizontal, tr("Êîìåíòàðèé")); |
225 | 225 | ||
226 | //ui->tableView_3->setModel(modelForPointers);
|
226 | //ui->tableView_3->setModel(modelForPointers);
|
227 | 227 | ||
228 | //ui->tableView->setModel(model);
|
228 | //ui->tableView->setModel(model);
|
229 | ui->tableView->setModel(mymodel); |
229 | ui->tableView->setModel(mymodel); |
230 | //tableForDescription = new QTableView();
|
230 | //tableForDescription = new QTableView();
|
231 | ui->tableView_2->setModel(modelForDescription); |
231 | ui->tableView_2->setModel(modelForDescription); |
232 | ui->tableView_2->setAlternatingRowColors(true); |
232 | ui->tableView_2->setAlternatingRowColors(true); |
233 | ui->tableView_2->resizeColumnsToContents(); |
233 | ui->tableView_2->resizeColumnsToContents(); |
234 | //tableForDescription->show();
|
234 | //tableForDescription->show();
|
235 | 235 | ||
236 | 236 | ||
237 | ui->tableView->setAlternatingRowColors(true); |
237 | ui->tableView->setAlternatingRowColors(true); |
238 | ui->tableView->resizeColumnsToContents(); |
238 | ui->tableView->resizeColumnsToContents(); |
239 | 239 | ||
240 | ui->tableView->hideColumn(0); |
240 | ui->tableView->hideColumn(0); |
241 | ui->tableView->hideColumn(3); |
241 | ui->tableView->hideColumn(3); |
242 | ui->tableView->hideColumn(2); |
242 | ui->tableView->hideColumn(2); |
243 | 243 | ||
244 | /*
|
244 | /*
|
245 | ui->tableView_2->hideColumn(0);
|
245 | ui->tableView_2->hideColumn(0);
|
246 | ui->tableView_2->hideColumn(5);
|
246 | ui->tableView_2->hideColumn(5);
|
247 | ui->tableView_2->hideColumn(2);
|
247 | ui->tableView_2->hideColumn(2);
|
248 | */
|
248 | */
|
249 | ui->tableView_2->setItemDelegateForColumn(3, &classTableDelegate); |
249 | ui->tableView_2->setItemDelegateForColumn(3, &classTableDelegate); |
250 | 250 | ||
251 | currIndexOfClassesTable = mymodel->index(0, 1); |
251 | currIndexOfClassesTable = mymodel->index(0, 1); |
252 | QModelIndex index_temp;
|
252 | QModelIndex index_temp;
|
253 | 253 | ||
254 | 254 | ||
255 | 255 | ||
256 | currClassID = mymodel->data(mymodel->index(0,0)).toString(); |
256 | currClassID = mymodel->data(mymodel->index(0,0)).toString(); |
257 | QItemSelectionModel *selectionModel = ui->tableView->selectionModel(); |
257 | QItemSelectionModel *selectionModel = ui->tableView->selectionModel(); |
258 | 258 | ||
259 | QModelIndex topLeft;
|
259 | QModelIndex topLeft;
|
260 | QModelIndex bottomRight;
|
260 | QModelIndex bottomRight;
|
261 | 261 | ||
262 | topLeft = mymodel->index(0, 0, QModelIndex()); |
262 | topLeft = mymodel->index(0, 0, QModelIndex()); |
263 | bottomRight = mymodel->index(0, 1, QModelIndex()); |
263 | bottomRight = mymodel->index(0, 1, QModelIndex()); |
264 | 264 | ||
265 | QItemSelection selection(topLeft, bottomRight); |
265 | QItemSelection selection(topLeft, bottomRight); |
266 | selectionModel->select(selection, QItemSelectionModel::Select); |
266 | selectionModel->select(selection, QItemSelectionModel::Select); |
267 | 267 | ||
268 | 268 | ||
269 | QString class_indx, class_instance;
|
269 | QString class_indx, class_instance;
|
270 | QString str_fltr = tr("ClassIdentifer = "); |
270 | QString str_fltr = tr("ClassIdentifer = "); |
271 | class_indx = mymodel->data(mymodel->index(0,0)).toString(); |
271 | class_indx = mymodel->data(mymodel->index(0,0)).toString(); |
272 | class_instance = mymodel->data(mymodel->index(0,3)).toString(); |
272 | class_instance = mymodel->data(mymodel->index(0,3)).toString(); |
273 | 273 | ||
274 | currInctanceTable = class_instance; // |
274 | currInctanceTable = class_instance; // |
275 | modelForDescription->setInctance(class_instance); // ïåðåäàåì â ìîäåëü ïîëåé èìÿ òåêóùåé òàáëèöû-õðàíèëèùà |
275 | modelForDescription->setInctance(class_instance); // ïåðåäàåì â ìîäåëü ïîëåé èìÿ òåêóùåé òàáëèöû-õðàíèëèùà |
276 | //class_instance.append(tr("_inctance"));
|
276 | //class_instance.append(tr("_inctance"));
|
277 | str_fltr.append(class_indx); |
277 | str_fltr.append(class_indx); |
- | 278 | str_fltr.append(tr(" AND FieldType <> \"pointer\"")); |
|
278 | 279 | ||
279 | model->setTable(class_instance); |
280 | model->setTable(class_instance); |
280 | //model->setTable(tr("memory"));
|
281 | //model->setTable(tr("memory"));
|
281 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
282 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
282 | model->select(); |
283 | model->select(); |
283 | tableForInstance->setModel(model); |
284 | tableForInstance->setModel(model); |
284 | tableForInstance->resizeColumnsToContents(); |
285 | tableForInstance->resizeColumnsToContents(); |
285 | tableForInstance->setWindowTitle(class_instance); |
286 | tableForInstance->setWindowTitle(class_instance); |
286 | tableForInstance->show(); |
287 | tableForInstance->show(); |
287 | 288 | ||
288 | modelForDescription->setFilter(str_fltr); |
289 | modelForDescription->setFilter(str_fltr); |
289 | modelForDescription->select(); |
290 | modelForDescription->select(); |
290 | ui->tableView_2->resizeColumnsToContents(); |
291 | ui->tableView_2->resizeColumnsToContents(); |
291 | 292 | ||
- | 293 | ||
- | 294 | str_fltr = tr("ClassIdentifer = "); |
|
- | 295 | modelForPointers->setInctance(class_instance); // ïåðåäàåì â ìîäåëü ïîëåé èìÿ òåêóùåé òàáëèöû-õðàíèëèùà |
|
292 | // str_fltr.clear();
|
296 | str_fltr.append(class_indx); |
- | 297 | str_fltr.append(tr(" AND FieldType = \"pointer\"")); |
|
293 | // str_fltr.append( tr(" FieldType = pointer "));
|
298 | // str_fltr.append( tr(" FieldType = pointer "));
|
- | 299 | ||
- | 300 | ||
- | 301 | ||
294 | modelForPointers->setFilter(tr(" FieldType = \"pointer\" ")); |
302 | modelForPointers->setFilter(str_fltr); |
295 | modelForPointers->select(); |
303 | modelForPointers->select(); |
296 | ui->tableView_3->setModel(modelForPointers); |
304 | ui->tableView_3->setModel(modelForPointers); |
- | 305 | ui->tableView_3->resizeColumnsToContents(); |
|
297 | 306 | ||
298 | //connect(ui->tableView, SIGNAL(clicked(const QModelIndex)), this, SLOT(on_tableView_clicked(const QModelIndex)));
|
307 | //connect(ui->tableView, SIGNAL(clicked(const QModelIndex)), this, SLOT(on_tableView_clicked(const QModelIndex)));
|
299 | connect(mymodel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_myModel_dataChanged(QModelIndex,QModelIndex))); |
308 | connect(mymodel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_myModel_dataChanged(QModelIndex,QModelIndex))); |
300 | connect(modelForDescription, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_modelForDescription_dataChanged(QModelIndex,QModelIndex))); |
309 | connect(modelForDescription, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_modelForDescription_dataChanged(QModelIndex,QModelIndex))); |
301 | //connect(ui->newClassAction, SIGNAL(triggered(bool)), this, SLOT(on_pushButton_clicked(bool)));
|
310 | //connect(ui->newClassAction, SIGNAL(triggered(bool)), this, SLOT(on_pushButton_clicked(bool)));
|
302 | connect(ui->action_ID, SIGNAL(triggered(bool)), this, SLOT(on_action_ID_triggered(bool))); |
311 | connect(ui->action_ID, SIGNAL(triggered(bool)), this, SLOT(on_action_ID_triggered(bool))); |
303 | connect(ui->action_showAlias, SIGNAL(triggered(bool)), this, SLOT(on_action_showAlias_triggered(bool))); // ïîêàçûâàòü ïñåâäîíèìû |
312 | connect(ui->action_showAlias, SIGNAL(triggered(bool)), this, SLOT(on_action_showAlias_triggered(bool))); // ïîêàçûâàòü ïñåâäîíèìû |
304 | connect(ui->action_showInstance, SIGNAL(triggered(bool)), this, SLOT(on_action_showInstance_triggered(bool))); // ïîêàçûâàòü õðàíèëèùà îáúåêòîâ |
313 | connect(ui->action_showInstance, SIGNAL(triggered(bool)), this, SLOT(on_action_showInstance_triggered(bool))); // ïîêàçûâàòü õðàíèëèùà îáúåêòîâ |
305 | connect(ui->action_removeSelectedFields, SIGNAL(triggered()), this, SLOT(on_pushButton_4_clicked())); // óäàëèòü âûäåëåííûå ïîëÿ |
314 | connect(ui->action_removeSelectedFields, SIGNAL(triggered()), this, SLOT(on_pushButton_4_clicked())); // óäàëèòü âûäåëåííûå ïîëÿ |
306 | connect(ui->action_removeAllFields, SIGNAL(triggered()), this, SLOT(on_pushButton_5_clicked())); // óäàëèòü âñå ïîëÿ |
315 | connect(ui->action_removeAllFields, SIGNAL(triggered()), this, SLOT(on_pushButton_5_clicked())); // óäàëèòü âñå ïîëÿ |
307 | connect(ui->action_removeSelectedClasses, SIGNAL(triggered()), this, SLOT(on_pushButton_2_clicked())); // óäàëèòü âûäåëåííûå êëàññû |
316 | connect(ui->action_removeSelectedClasses, SIGNAL(triggered()), this, SLOT(on_pushButton_2_clicked())); // óäàëèòü âûäåëåííûå êëàññû |
308 | connect(ui->action_removeAllClasses, SIGNAL(triggered()), this, SLOT(on_action_removeAllClasses())); // óäàëèòü âñå êëàññû |
317 | connect(ui->action_removeAllClasses, SIGNAL(triggered()), this, SLOT(on_action_removeAllClasses())); // óäàëèòü âñå êëàññû |
309 | connect(ui->action_newClass, SIGNAL(triggered()), this, SLOT(on_pushButton_clicked())); // äîáàâèòü íîâûé êëàññ |
318 | connect(ui->action_newClass, SIGNAL(triggered()), this, SLOT(on_pushButton_clicked())); // äîáàâèòü íîâûé êëàññ |
310 | connect(ui->action_newField, SIGNAL(triggered()), this, SLOT(on_pushButton_3_clicked())); // äîáàâèòü íîâîå ïîëå |
319 | connect(ui->action_newField, SIGNAL(triggered()), this, SLOT(on_pushButton_3_clicked())); // äîáàâèòü íîâîå ïîëå |
311 | connect(ClassEditor::modelForDescription, SIGNAL(field_changed()), this, SLOT(on_field_changed())); // äîáàâèòü íîâîå ïîëå |
320 | connect(ClassEditor::modelForDescription, SIGNAL(field_changed()), this, SLOT(on_field_changed())); // äîáàâèòü íîâîå ïîëå |
312 | }
|
321 | }
|
313 | 322 | ||
314 | 323 | ||
315 | 324 | ||
316 | 325 | ||
317 | 326 | ||
318 | 327 | ||
319 | 328 | ||
320 | 329 | ||
321 | 330 | ||
322 | 331 | ||
323 | 332 | ||
324 | ClassEditor::~ClassEditor() |
333 | ClassEditor::~ClassEditor() |
325 | {
|
334 | {
|
326 | delete ui; |
335 | delete ui; |
327 | delete model; |
336 | delete model; |
328 | delete tableForInstance; |
337 | delete tableForInstance; |
329 | // delete field;
|
338 | // delete field;
|
330 | // delete settdialog;
|
339 | // delete settdialog;
|
331 | }
|
340 | }
|
332 | 341 | ||
333 | void ClassEditor::changeEvent(QEvent *e) |
342 | void ClassEditor::changeEvent(QEvent *e) |
334 | {
|
343 | {
|
335 | QMainWindow::changeEvent(e); |
344 | QMainWindow::changeEvent(e); |
336 | switch (e->type()) { |
345 | switch (e->type()) { |
337 | case QEvent::LanguageChange: |
346 | case QEvent::LanguageChange: |
338 | ui->retranslateUi(this); |
347 | ui->retranslateUi(this); |
339 | break; |
348 | break; |
340 | default: |
349 | default: |
341 | break; |
350 | break; |
342 | }
|
351 | }
|
343 | }
|
352 | }
|
344 | 353 | ||
345 | 354 | ||
346 | /*
|
355 | /*
|
347 | void ClassEditor::addNewClass(){
|
356 | void ClassEditor::addNewClass(){
|
348 | 357 | ||
349 | int row = model->rowCount();
|
358 | int row = model->rowCount();
|
350 | 359 | ||
351 | model->insertRows(row, 1);
|
360 | model->insertRows(row, 1);
|
352 | model->setData(model->index(row, 1), tr("New class")); // ïðèñâàèâàåì íîâîå çíà÷åíèå ïîëþ "èìÿ êëàññà"
|
361 | model->setData(model->index(row, 1), tr("New class")); // ïðèñâàèâàåì íîâîå çíà÷åíèå ïîëþ "èìÿ êëàññà"
|
353 | 362 | ||
354 | 363 | ||
355 | // model->setData(model->index(row, 1), tr("Âàñÿ Ïóïê èí"));
|
364 | // model->setData(model->index(row, 1), tr("Âàñÿ Ïóïê èí"));
|
356 | // model->setData(model->index(row, 2) , tr("Ìóõîñðà íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
|
365 | // model->setData(model->index(row, 2) , tr("Ìóõîñðà íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
|
357 | 366 | ||
358 | 367 | ||
359 | model->submitAll();
|
368 | model->submitAll();
|
360 | 369 | ||
361 | row = model->rowCount();
|
370 | row = model->rowCount();
|
362 | QString tmp_str;
|
371 | QString tmp_str;
|
363 | int i_tmp;
|
372 | int i_tmp;
|
364 | i_tmp = model->data(model->index(row-1, 0)).toInt();
|
373 | i_tmp = model->data(model->index(row-1, 0)).toInt();
|
365 | tmp_str = model->data(model->index(row-1, 0)).toString(); // ãåíåðèì èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ êëàññà
|
374 | tmp_str = model->data(model->index(row-1, 0)).toString(); // ãåíåðèì èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ êëàññà
|
366 | 375 | ||
367 | tmp_str.append(tr("_Inctance"));
|
376 | tmp_str.append(tr("_Inctance"));
|
368 | model->setData(model->index(row-1, 3), tmp_str ); // è çàíîñèì çíà÷åíèå â òàáëèöó
|
377 | model->setData(model->index(row-1, 3), tmp_str ); // è çàíîñèì çíà÷åíèå â òàáëèöó
|
369 | 378 | ||
370 | model->submitAll();
|
379 | model->submitAll();
|
371 | mymodel->select();
|
380 | mymodel->select();
|
372 | 381 | ||
373 | 382 | ||
374 | }
|
383 | }
|
375 | */
|
384 | */
|
376 | 385 | ||
377 | void ClassEditor::addNewClass_new(){ |
386 | void ClassEditor::addNewClass_new(){ |
378 | 387 | ||
379 | int row = mymodel->rowCount(); |
388 | int row = mymodel->rowCount(); |
380 | 389 | ||
381 | mymodel->insertRows(row, 1); |
390 | mymodel->insertRows(row, 1); |
382 | mymodel->setData(mymodel->index(row, 1), QVariant(tr("New class")), Qt::EditRole); // ïðèñâàèâàåì íîâîå çíà÷åíèå ïîëþ "èìÿ êëàññà" |
391 | mymodel->setData(mymodel->index(row, 1), QVariant(tr("New class")), Qt::EditRole); // ïðèñâàèâàåì íîâîå çíà÷åíèå ïîëþ "èìÿ êëàññà" |
383 | 392 | ||
384 | 393 | ||
385 | mymodel->submitAll(); |
394 | mymodel->submitAll(); |
386 | row = mymodel->rowCount(); |
395 | row = mymodel->rowCount(); |
387 | QString tmp_str1, sql_str;
|
396 | QString tmp_str1, sql_str;
|
388 | int i_tmp1; |
397 | int i_tmp1; |
389 | i_tmp1 = mymodel->data(mymodel->index(row-1, 0)).toInt(); |
398 | i_tmp1 = mymodel->data(mymodel->index(row-1, 0)).toInt(); |
390 | tmp_str1 = mymodel->data(mymodel->index(row-1, 0)).toString(); // ãåíåðèì èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ êëàññà |
399 | tmp_str1 = mymodel->data(mymodel->index(row-1, 0)).toString(); // ãåíåðèì èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ êëàññà |
391 | 400 | ||
392 | tmp_str1.append(tr("_Inctance")); |
401 | tmp_str1.append(tr("_Inctance")); |
393 | SqlTable* tbl; |
402 | SqlTable* tbl; |
394 | tbl = new SqlTable(tmp_str1); // ñîçäàåì õðàíèëèùå îáúåêòîâ |
403 | tbl = new SqlTable(tmp_str1); // ñîçäàåì õðàíèëèùå îáúåêòîâ |
395 | sql_str = tbl->sqlString(); |
404 | sql_str = tbl->sqlString(); |
396 | bool ok; |
405 | bool ok; |
397 | 406 | ||
398 | ok = sql.createTable(tbl); |
407 | ok = sql.createTable(tbl); |
399 | 408 | ||
400 | if (!ok) { |
409 | if (!ok) { |
401 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
410 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
402 | this, // Ðîäèòåëüñêèé âèäæåò. |
411 | this, // Ðîäèòåëüñêèé âèäæåò. |
403 | QObject::tr("Database Error"), // Çàãîëîâîê. |
412 | QObject::tr("Database Error"), // Çàãîëîâîê. |
404 | sql.lasError()); // Òåêñò ñîîáùåíèÿ. |
413 | sql.lasError()); // Òåêñò ñîîáùåíèÿ. |
405 | delete tbl; |
414 | delete tbl; |
406 | mymodel->removeRow(row-1); |
415 | mymodel->removeRow(row-1); |
407 | mymodel->submitAll(); |
416 | mymodel->submitAll(); |
408 | mymodel->select(); |
417 | mymodel->select(); |
409 | ui->tableView_2->resizeRowsToContents(); |
418 | ui->tableView_2->resizeRowsToContents(); |
410 | return; // âûõîäèì íå ïðèìåíÿÿ èçìåíåíèé |
419 | return; // âûõîäèì íå ïðèìåíÿÿ èçìåíåíèé |
411 | 420 | ||
412 | }
|
421 | }
|
413 | 422 | ||
414 | delete tbl; |
423 | delete tbl; |
415 | mymodel->setData(mymodel->index(row-1, 3), QVariant(tmp_str1), Qt::EditRole); // è çàíîñèì çíà÷åíèå â òàáëèöó |
424 | mymodel->setData(mymodel->index(row-1, 3), QVariant(tmp_str1), Qt::EditRole); // è çàíîñèì çíà÷åíèå â òàáëèöó |
416 | 425 | ||
417 | 426 | ||
418 | 427 | ||
419 | // model->setData(model->index(row, 1), tr("Âàñÿ Ïóïê èí"));
|
428 | // model->setData(model->index(row, 1), tr("Âàñÿ Ïóïê èí"));
|
420 | // model->setData(model->index(row, 2) , tr("Ìóõîñðà íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
|
429 | // model->setData(model->index(row, 2) , tr("Ìóõîñðà íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
|
421 | 430 | ||
422 | 431 | ||
423 | //mymodel->submitAll();
|
432 | //mymodel->submitAll();
|
424 | 433 | ||
425 | //row = mymodel->rowCount();
|
434 | //row = mymodel->rowCount();
|
426 | 435 | ||
427 | 436 | ||
428 | //mymodel->select();
|
437 | //mymodel->select();
|
429 | 438 | ||
430 | 439 | ||
431 | }
|
440 | }
|
432 | 441 | ||
433 | 442 | ||
434 | void ClassEditor::addNewField(){ |
443 | void ClassEditor::addNewField(){ |
435 | // QSqlRecord rec = mymodel->record(1);
|
444 | // QSqlRecord rec = mymodel->record(1);
|
436 | //bool ok;
|
445 | //bool ok;
|
437 | //ok = rec.isEmpty();
|
446 | //ok = rec.isEmpty();
|
438 | //QString currientClassID;
|
447 | //QString currientClassID;
|
439 | //currientClassID = rec.value(1).toString();
|
448 | //currientClassID = rec.value(1).toString();
|
440 | QString Inctance_str; // èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ äëÿ âûáðàííîãî êëàññà |
449 | QString Inctance_str; // èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ äëÿ âûáðàííîãî êëàññà |
441 | QString query_str = tr("ALTER TABLE "); |
450 | QString query_str = tr("ALTER TABLE "); |
442 | QString db_error;
|
451 | QString db_error;
|
443 | QSqlQuery q;
|
452 | QSqlQuery q;
|
444 | int currRow = ClassEditor::currIndexOfClassesTable.row(); // |
453 | int currRow = ClassEditor::currIndexOfClassesTable.row(); // |
445 | Inctance_str = mymodel->data(mymodel->index(currRow, 3)).toString(); |
454 | Inctance_str = mymodel->data(mymodel->index(currRow, 3)).toString(); |
446 | query_str.append( Inctance_str); |
455 | query_str.append( Inctance_str); |
447 | query_str.append(tr(" ADD COLUMN `New field` CHAR(30)")); |
456 | query_str.append(tr(" ADD COLUMN `New field` CHAR(30)")); |
448 | bool ok = q.prepare(query_str); |
457 | bool ok = q.prepare(query_str); |
449 | 458 | ||
450 | ok = q.exec(); |
459 | ok = q.exec(); |
451 | if (!ok) { |
460 | if (!ok) { |
452 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
461 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
453 | this, // Ðîäèòåëüñêèé âèäæåò. |
462 | this, // Ðîäèòåëüñêèé âèäæåò. |
454 | QObject::tr("Database Error"), // Çàãîëîâîê. |
463 | QObject::tr("Database Error"), // Çàãîëîâîê. |
455 | q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
464 | q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
456 | 465 | ||
457 | return; // âûõîäèì íå ïðèìåíÿÿ èçìåíåíèé |
466 | return; // âûõîäèì íå ïðèìåíÿÿ èçìåíåíèé |
458 | 467 | ||
459 | }
|
468 | }
|
460 | 469 | ||
461 | int row = modelForDescription->rowCount(); |
470 | int row = modelForDescription->rowCount(); |
462 | modelForDescription->insertRows(row, 1); |
471 | modelForDescription->insertRows(row, 1); |
463 | modelForDescription->onlySetData(modelForDescription->index(row, 5), QVariant(currClassID), Qt::EditRole); |
472 | modelForDescription->onlySetData(modelForDescription->index(row, 5), QVariant(currClassID), Qt::EditRole); |
464 | modelForDescription->onlySetData(modelForDescription->index(row, 4), QVariant(tr("NULL")), Qt::EditRole); |
473 | modelForDescription->onlySetData(modelForDescription->index(row, 4), QVariant(tr("NULL")), Qt::EditRole); |
465 | 474 | ||
466 | modelForDescription->submitAll(); |
475 | modelForDescription->submitAll(); |
467 | 476 | ||
468 | delete model; |
477 | delete model; |
469 | delete tableForInstance; |
478 | delete tableForInstance; |
470 | model = new QSqlTableModel(); |
479 | model = new QSqlTableModel(); |
471 | tableForInstance = new QTableView(); |
480 | tableForInstance = new QTableView(); |
472 | model->setTable(Inctance_str); |
481 | model->setTable(Inctance_str); |
473 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
482 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
474 | tableForInstance->setModel(model); |
483 | tableForInstance->setModel(model); |
475 | tableForInstance->setWindowTitle(Inctance_str); |
484 | tableForInstance->setWindowTitle(Inctance_str); |
476 | tableForInstance->show(); |
485 | tableForInstance->show(); |
477 | }
|
486 | }
|
478 | 487 | ||
479 | 488 | ||
480 | 489 | ||
481 | 490 | ||
482 | 491 | ||
483 | 492 | ||
484 | 493 | ||
485 | 494 | ||
486 | 495 | ||
487 | 496 | ||
488 | // äîáàâëÿåì íîâûé êëàññ
|
497 | // äîáàâëÿåì íîâûé êëàññ
|
489 | void ClassEditor::on_pushButton_clicked(){ |
498 | void ClassEditor::on_pushButton_clicked(){ |
490 | //int i;
|
499 | //int i;
|
491 | //i++;
|
500 | //i++;
|
492 | /////ClassEditor::addNewClass();
|
501 | /////ClassEditor::addNewClass();
|
493 | ClassEditor::addNewClass_new(); |
502 | ClassEditor::addNewClass_new(); |
494 | mymodel->select(); |
503 | mymodel->select(); |
495 | //ui->tableView->setModel(mymodel);
|
504 | //ui->tableView->setModel(mymodel);
|
496 | 505 | ||
497 | }
|
506 | }
|
498 | 507 | ||
499 | void ClassEditor::on_tableView_clicked(const QModelIndex & index ){ |
508 | void ClassEditor::on_tableView_clicked(const QModelIndex & index ){ |
500 | int i, row, column; |
509 | int i, row, column; |
501 | i++; |
510 | i++; |
502 | row = index.row(); |
511 | row = index.row(); |
503 | column = index.column(); |
512 | column = index.column(); |
504 | currIndexOfClassesTable = index; |
513 | currIndexOfClassesTable = index; |
505 | QModelIndex index_tmp, index_instance;
|
514 | QModelIndex index_tmp, index_instance;
|
506 | QString tmp_str, filter_str, instance_str;
|
515 | QString tmp_str, filter_str, instance_str;
|
507 | index_tmp = ui->tableView->model()->index(row, 0); |
516 | index_tmp = ui->tableView->model()->index(row, 0); |
508 | index_instance = ui->tableView->model()->index(row, 3); |
517 | index_instance = ui->tableView->model()->index(row, 3); |
509 | tmp_str = ui->tableView->model()->data(index_tmp).toString(); |
518 | tmp_str = ui->tableView->model()->data(index_tmp).toString(); |
510 | instance_str = ui->tableView->model()->data(index_instance).toString(); |
519 | instance_str = ui->tableView->model()->data(index_instance).toString(); |
511 | modelForDescription->setInctance(instance_str); // ïåðåäàåì â ìîäåëü ïîëåé èìÿ òåêóùåé òàáëèöû-õðàíèëèùà |
520 | modelForDescription->setInctance(instance_str); // ïåðåäàåì â ìîäåëü ïîëåé èìÿ òåêóùåé òàáëèöû-õðàíèëèùà |
512 | - | ||
- | 521 | modelForPointers->setInctance(instance_str); |
|
513 | 522 | ||
514 | 523 | ||
515 | 524 | ||
516 | // instance_str.append(tr("_inctance"));
|
525 | // instance_str.append(tr("_inctance"));
|
517 | /*
|
526 | /*
|
518 | Inctance_model.clear();
|
527 | Inctance_model.clear();
|
519 | Inctance_model.setTable(instance_str);
|
528 | Inctance_model.setTable(instance_str);
|
520 | Inctance_model.select();
|
529 | Inctance_model.select();
|
521 | tableForInstance_new.setModel(&Inctance_model);
|
530 | tableForInstance_new.setModel(&Inctance_model);
|
522 | tableForInstance_new.show();
|
531 | tableForInstance_new.show();
|
523 | */
|
532 | */
|
524 | // model->clear();
|
533 | // model->clear();
|
525 | tableForInstance->close(); |
534 | tableForInstance->close(); |
526 | delete model; |
535 | delete model; |
527 | delete tableForInstance; |
536 | delete tableForInstance; |
528 | model = new QSqlTableModel(); |
537 | model = new QSqlTableModel(); |
529 | tableForInstance = new QTableView(); |
538 | tableForInstance = new QTableView(); |
530 | model->setTable(instance_str); |
539 | model->setTable(instance_str); |
531 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
540 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
532 | tableForInstance->setModel(model); |
541 | tableForInstance->setModel(model); |
533 | 542 | ||
534 | model->select(); |
543 | model->select(); |
535 | tableForInstance->setWindowTitle(instance_str); |
544 | tableForInstance->setWindowTitle(instance_str); |
536 | tableForInstance->show(); |
545 | tableForInstance->show(); |
537 | 546 | ||
538 | // tableForInstance.setModel(model);
|
547 | // tableForInstance.setModel(model);
|
539 | tableForInstance->resizeColumnsToContents(); |
548 | tableForInstance->resizeColumnsToContents(); |
540 | 549 | ||
541 | currClassID = tmp_str; |
550 | currClassID = tmp_str; |
542 | // ui->label->setText(QVariant(currIndexOfClassesTable.row()).toString());
|
551 | // ui->label->setText(QVariant(currIndexOfClassesTable.row()).toString());
|
543 | filter_str = tr("ClassIdentifer = "); |
552 | filter_str = tr("ClassIdentifer = "); |
544 | filter_str.append(tmp_str); |
553 | filter_str.append(tmp_str); |
- | 554 | filter_str.append(tr(" AND FieldType <> \"pointer\"")); |
|
545 | modelForDescription->setFilter(filter_str); |
555 | modelForDescription->setFilter(filter_str); |
546 | modelForDescription->select(); |
556 | modelForDescription->select(); |
547 | ui->tableView_2->resizeColumnsToContents(); |
557 | ui->tableView_2->resizeColumnsToContents(); |
- | 558 | ||
- | 559 | filter_str = tr("ClassIdentifer = "); |
|
- | 560 | filter_str.append(tmp_str); |
|
- | 561 | filter_str.append(tr(" AND FieldType = \"pointer\"")); |
|
- | 562 | modelForPointers->setFilter(filter_str); |
|
- | 563 | modelForPointers->select(); |
|
- | 564 | ui->tableView_3->resizeColumnsToContents(); |
|
- | 565 | ||
- | 566 | ||
- | 567 | ||
- | 568 | ||
548 | i++; |
569 | i++; |
549 | }
|
570 | }
|
550 | 571 | ||
551 | 572 | ||
552 | 573 | ||
553 | void ClassEditor::on_pushButton_2_clicked(){ // îáðàáîò÷èê íàæàòèÿ êíîïðêè "Óäàëèòü êëàññ" |
574 | void ClassEditor::on_pushButton_2_clicked(){ // îáðàáîò÷èê íàæàòèÿ êíîïðêè "Óäàëèòü êëàññ" |
554 | QModelIndex model_index;
|
575 | QModelIndex model_index;
|
555 | QItemSelectionModel *selectionModel = ui->tableView->selectionModel(); |
576 | QItemSelectionModel *selectionModel = ui->tableView->selectionModel(); |
556 | QModelIndexList indexes = selectionModel->selectedIndexes(); |
577 | QModelIndexList indexes = selectionModel->selectedIndexes(); |
557 | QList<int> selectedRows; |
578 | QList<int> selectedRows; |
558 | selectedRows.clear(); |
579 | selectedRows.clear(); |
559 | foreach (model_index, indexes){ // ñïèñîê âñåõ âûäåëåííûõ ñòðîê |
580 | foreach (model_index, indexes){ // ñïèñîê âñåõ âûäåëåííûõ ñòðîê |
560 | if (!selectedRows.contains(model_index.row()) && (model_index.column()==1)) selectedRows.append(model_index.row()); // îñòàâëÿåì â ñïèñêå òîëüêî âûáðàííûå â ïåðâîé êîëîíêå |
581 | if (!selectedRows.contains(model_index.row()) && (model_index.column()==1)) selectedRows.append(model_index.row()); // îñòàâëÿåì â ñïèñêå òîëüêî âûáðàííûå â ïåðâîé êîëîíêå |
561 | 582 | ||
562 | }
|
583 | }
|
563 | qSort(selectedRows.begin(),selectedRows.end(), qGreater<int>()); // ñîðòèðóåì â îáðàòíîì ïîðÿäêå |
584 | qSort(selectedRows.begin(),selectedRows.end(), qGreater<int>()); // ñîðòèðóåì â îáðàòíîì ïîðÿäêå |
564 | 585 | ||
565 | 586 | ||
566 | for (int m =0; m < selectedRows.size(); ++m){ |
587 | for (int m =0; m < selectedRows.size(); ++m){ |
567 | 588 | ||
568 | ClassEditor::removeClass(selectedRows.at(m)); |
589 | ClassEditor::removeClass(selectedRows.at(m)); |
569 | 590 | ||
570 | 591 | ||
571 | 592 | ||
572 | }
|
593 | }
|
573 | mymodel->submitAll(); |
594 | mymodel->submitAll(); |
574 | ClassEditor::modelForDescription->select(); |
595 | ClassEditor::modelForDescription->select(); |
575 | 596 | ||
576 | }
|
597 | }
|
577 | 598 | ||
578 | void ClassEditor::on_pushButton_3_clicked(){ // îáðàáîò÷èê íàæàòèÿ êíîïêè "Íîâîå ïîëå" |
599 | void ClassEditor::on_pushButton_3_clicked(){ // îáðàáîò÷èê íàæàòèÿ êíîïêè "Íîâîå ïîëå" |
579 | int i; |
600 | int i; |
580 | i++; |
601 | i++; |
581 | ClassEditor::addNewField(); |
602 | ClassEditor::addNewField(); |
582 | ClassEditor::modelForDescription->select(); |
603 | ClassEditor::modelForDescription->select(); |
583 | ui->tableView_2->resizeColumnsToContents(); |
604 | ui->tableView_2->resizeColumnsToContents(); |
584 | }
|
605 | }
|
585 | 606 | ||
586 | 607 | ||
587 | void ClassEditor::on_pushButton_4_clicked(){ // îáðàáîò÷èê íàæàòèÿ êíîïêè "Óäàëèòü ïîëå" |
608 | void ClassEditor::on_pushButton_4_clicked(){ // îáðàáîò÷èê íàæàòèÿ êíîïêè "Óäàëèòü ïîëå" |
588 | // int i;
|
609 | // int i;
|
589 | QModelIndex model_index;
|
610 | QModelIndex model_index;
|
590 | QItemSelectionModel *selectionModel = ui->tableView_2->selectionModel(); |
611 | QItemSelectionModel *selectionModel = ui->tableView_2->selectionModel(); |
591 | QModelIndexList indexes = selectionModel->selectedIndexes(); |
612 | QModelIndexList indexes = selectionModel->selectedIndexes(); |
592 | //QModelIndexList indexes_fo_first_col; // èíäåêñû äëÿ ïåðâîãî ñòîëáöà (èìåíà êëàññîâ)
|
613 | //QModelIndexList indexes_fo_first_col; // èíäåêñû äëÿ ïåðâîãî ñòîëáöà (èìåíà êëàññîâ)
|
593 | //model_index = mymodel->selec;
|
614 | //model_index = mymodel->selec;
|
594 | //modelList = ui->tableView->SelectItems;
|
615 | //modelList = ui->tableView->SelectItems;
|
595 | //i = indexes.size();
|
616 | //i = indexes.size();
|
596 | QList<int> selectedRows; |
617 | QList<int> selectedRows; |
597 | //indexes_fo_first_col.clear();
|
618 | //indexes_fo_first_col.clear();
|
598 | /*
|
619 | /*
|
599 | foreach (model_index, indexes){ // ñïèñîê âñåõ âûäåëåííûõ ñòðîê
|
620 | foreach (model_index, indexes){ // ñïèñîê âñåõ âûäåëåííûõ ñòðîê
|
600 | if (!indexes_fo_first_col.contains(model_index) && (model_index.column()==1)) indexes_fo_first_col.append(model_index); // îñòàâëÿåì â ñïèñêå òîëüêî âûáðàííûå â ïåðâîé êîëîíêå
|
621 | if (!indexes_fo_first_col.contains(model_index) && (model_index.column()==1)) indexes_fo_first_col.append(model_index); // îñòàâëÿåì â ñïèñêå òîëüêî âûáðàííûå â ïåðâîé êîëîíêå
|
601 | 622 | ||
602 | }
|
623 | }
|
603 | */
|
624 | */
|
604 | selectedRows.clear(); |
625 | selectedRows.clear(); |
605 | foreach (model_index, indexes){ // ñïèñîê âñåõ âûäåëåííûõ ñòðîê |
626 | foreach (model_index, indexes){ // ñïèñîê âñåõ âûäåëåííûõ ñòðîê |
606 | if (!selectedRows.contains(model_index.row()) && (model_index.column()==1)) { |
627 | if (!selectedRows.contains(model_index.row()) && (model_index.column()==1)) { |
607 | selectedRows.append(model_index.row()); // îñòàâëÿåì â ñïèñêå òîëüêî âûáðàííûå â ïåðâîé êîëîíêå |
628 | selectedRows.append(model_index.row()); // îñòàâëÿåì â ñïèñêå òîëüêî âûáðàííûå â ïåðâîé êîëîíêå |
608 | }
|
629 | }
|
609 | }
|
630 | }
|
610 | 631 | ||
611 | qSort(selectedRows.begin(),selectedRows.end(), qGreater<int>()); // ñîðòèðóåì â îáðàòíîì ïîðÿäêå |
632 | qSort(selectedRows.begin(),selectedRows.end(), qGreater<int>()); // ñîðòèðóåì â îáðàòíîì ïîðÿäêå |
612 | 633 | ||
613 | QString Inctance_str; // èìÿ òàáëèöû-õðàíèëèùà |
634 | QString Inctance_str; // èìÿ òàáëèöû-õðàíèëèùà |
614 | Inctance_str = mymodel->data(mymodel->index(ClassEditor::currIndexOfClassesTable.row(), 3)).toString(); |
635 | Inctance_str = mymodel->data(mymodel->index(ClassEditor::currIndexOfClassesTable.row(), 3)).toString(); |
615 | for (int m =0; m < selectedRows.size(); ++m){ |
636 | for (int m =0; m < selectedRows.size(); ++m){ |
616 | 637 | ||
617 | 638 | ||
618 | QString query_str;
|
639 | QString query_str;
|
619 | QString field_name_str; // èìÿ óäàëÿåìîãî ïîëÿ |
640 | QString field_name_str; // èìÿ óäàëÿåìîãî ïîëÿ |
620 | QSqlQuery q;
|
641 | QSqlQuery q;
|
621 | 642 | ||
622 | query_str.clear(); |
643 | query_str.clear(); |
623 | 644 | ||
624 | 645 | ||
625 | field_name_str = modelForDescription->data(modelForDescription->index(selectedRows.at(m), 1)).toString(); |
646 | field_name_str = modelForDescription->data(modelForDescription->index(selectedRows.at(m), 1)).toString(); |
626 | 647 | ||
627 | query_str.append(tr("ALTER TABLE ")); |
648 | query_str.append(tr("ALTER TABLE ")); |
628 | query_str.append(Inctance_str); |
649 | query_str.append(Inctance_str); |
629 | query_str.append(tr(" DROP COLUMN `")); |
650 | query_str.append(tr(" DROP COLUMN `")); |
630 | query_str.append(field_name_str); |
651 | query_str.append(field_name_str); |
631 | query_str.append(tr("`")); |
652 | query_str.append(tr("`")); |
632 | q.prepare(query_str); |
653 | q.prepare(query_str); |
633 | bool ok = q.exec(); |
654 | bool ok = q.exec(); |
634 | if (!ok) { |
655 | if (!ok) { |
635 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
656 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
636 | this, // Ðîäèòåëüñêèé âèäæåò. |
657 | this, // Ðîäèòåëüñêèé âèäæåò. |
637 | QObject::tr("Database Error"), // Çàãîëîâîê. |
658 | QObject::tr("Database Error"), // Çàãîëîâîê. |
638 | q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
659 | q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
639 | 660 | ||
640 | return; // âûõîäèì íå ïðèìåíÿÿ èçìåíåíèé |
661 | return; // âûõîäèì íå ïðèìåíÿÿ èçìåíåíèé |
641 | 662 | ||
642 | }
|
663 | }
|
643 | 664 | ||
644 | 665 | ||
645 | 666 | ||
646 | modelForDescription->removeRow(selectedRows.at(m)); |
667 | modelForDescription->removeRow(selectedRows.at(m)); |
647 | 668 | ||
648 | }
|
669 | }
|
649 | delete model; |
670 | delete model; |
650 | delete tableForInstance; |
671 | delete tableForInstance; |
651 | model = new QSqlTableModel(); |
672 | model = new QSqlTableModel(); |
652 | tableForInstance = new QTableView(); |
673 | tableForInstance = new QTableView(); |
653 | model->setTable(Inctance_str); |
674 | model->setTable(Inctance_str); |
654 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
675 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
655 | tableForInstance->setModel(model); |
676 | tableForInstance->setModel(model); |
656 | tableForInstance->setWindowTitle(Inctance_str); |
677 | tableForInstance->setWindowTitle(Inctance_str); |
657 | tableForInstance->show(); |
678 | tableForInstance->show(); |
658 | //i = selectedRows.size();
|
679 | //i = selectedRows.size();
|
659 | 680 | ||
660 | //if (i > 0) model_index = indexes.at(0);
|
681 | //if (i > 0) model_index = indexes.at(0);
|
661 | }
|
682 | }
|
662 | 683 | ||
663 | 684 | ||
664 | void ClassEditor::on_pushButton_5_clicked(){ // îáðàáîò÷èê íàæàòèÿ êíîïêè "Óäàëèòü âñå ïîëÿ" |
685 | void ClassEditor::on_pushButton_5_clicked(){ // îáðàáîò÷èê íàæàòèÿ êíîïêè "Óäàëèòü âñå ïîëÿ" |
665 | int row; |
686 | int row; |
666 | row = ClassEditor::modelForDescription->rowCount(); |
687 | row = ClassEditor::modelForDescription->rowCount(); |
667 | ClassEditor::modelForDescription->removeRows(0, row); |
688 | ClassEditor::modelForDescription->removeRows(0, row); |
668 | ClassEditor::modelForDescription->submitAll(); |
689 | ClassEditor::modelForDescription->submitAll(); |
669 | }
|
690 | }
|
670 | 691 | ||
671 | void ClassEditor::on_myModel_dataChanged( const QModelIndex & topLeft, const QModelIndex & bottomRight ){ |
692 | void ClassEditor::on_myModel_dataChanged( const QModelIndex & topLeft, const QModelIndex & bottomRight ){ |
672 | 693 | ||
673 | int i; |
694 | int i; |
674 | i++; |
695 | i++; |
675 | ui->tableView->resizeColumnsToContents(); |
696 | ui->tableView->resizeColumnsToContents(); |
676 | 697 | ||
677 | 698 | ||
678 | 699 | ||
679 | 700 | ||
680 | 701 | ||
681 | }
|
702 | }
|
682 | 703 | ||
683 | void ClassEditor::on_modelForDescription_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ){ |
704 | void ClassEditor::on_modelForDescription_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ){ |
684 | ui->tableView_2->resizeColumnsToContents(); |
705 | ui->tableView_2->resizeColumnsToContents(); |
685 | 706 | ||
686 | /*
|
707 | /*
|
687 | QString instance_str;
|
708 | QString instance_str;
|
688 | instance_str = mymodel->data(mymodel->index(ClassEditor::currIndexOfClassesTable.row(), 3)).toString();
|
709 | instance_str = mymodel->data(mymodel->index(ClassEditor::currIndexOfClassesTable.row(), 3)).toString();
|
689 | tableForInstance->close();
|
710 | tableForInstance->close();
|
690 | delete model;
|
711 | delete model;
|
691 | delete tableForInstance;
|
712 | delete tableForInstance;
|
692 | model = new QSqlTableModel();
|
713 | model = new QSqlTableModel();
|
693 | tableForInstance = new QTableView();
|
714 | tableForInstance = new QTableView();
|
694 | model->setTable(instance_str);
|
715 | model->setTable(instance_str);
|
695 | model->setEditStrategy(QSqlTableModel::OnManualSubmit);
|
716 | model->setEditStrategy(QSqlTableModel::OnManualSubmit);
|
696 | tableForInstance->setModel(model);
|
717 | tableForInstance->setModel(model);
|
697 | 718 | ||
698 | model->select();
|
719 | model->select();
|
699 | tableForInstance->setWindowTitle(instance_str);
|
720 | tableForInstance->setWindowTitle(instance_str);
|
700 | tableForInstance->show();
|
721 | tableForInstance->show();
|
701 | */
|
722 | */
|
702 | }
|
723 | }
|
703 | 724 | ||
704 | void ClassEditor::on_action_ID_triggered(bool is_checked){ // îáðàáàòûâàåì âûáîð â ìåíþ "Ïîêàçûâàòü ID" |
725 | void ClassEditor::on_action_ID_triggered(bool is_checked){ // îáðàáàòûâàåì âûáîð â ìåíþ "Ïîêàçûâàòü ID" |
705 | if (is_checked) ui->tableView->showColumn(0); |
726 | if (is_checked) ui->tableView->showColumn(0); |
706 | else ui->tableView->hideColumn(0); |
727 | else ui->tableView->hideColumn(0); |
707 | ui->tableView->resizeColumnsToContents(); |
728 | ui->tableView->resizeColumnsToContents(); |
708 | }
|
729 | }
|
709 | 730 | ||
710 | void ClassEditor::on_action_showAlias_triggered(bool is_checked){ // îáðàáàòûâàåì âûáîð â ìåíþ "Ïîêàçûâàòü ïñåâäîíèì" |
731 | void ClassEditor::on_action_showAlias_triggered(bool is_checked){ // îáðàáàòûâàåì âûáîð â ìåíþ "Ïîêàçûâàòü ïñåâäîíèì" |
711 | if (is_checked) ui->tableView->showColumn(2); |
732 | if (is_checked) ui->tableView->showColumn(2); |
712 | else ui->tableView->hideColumn(2); |
733 | else ui->tableView->hideColumn(2); |
713 | ui->tableView->resizeColumnsToContents(); |
734 | ui->tableView->resizeColumnsToContents(); |
714 | }
|
735 | }
|
715 | 736 | ||
716 | void ClassEditor::on_action_showInstance_triggered(bool is_checked){ // îáðàáàòûâàåì âûáîð â ìåíþ "Ïîêàçûâàòü õðàíèëèùà îáúåêòîâ" |
737 | void ClassEditor::on_action_showInstance_triggered(bool is_checked){ // îáðàáàòûâàåì âûáîð â ìåíþ "Ïîêàçûâàòü õðàíèëèùà îáúåêòîâ" |
717 | if (is_checked) ui->tableView->showColumn(3); |
738 | if (is_checked) ui->tableView->showColumn(3); |
718 | else ui->tableView->hideColumn(3); |
739 | else ui->tableView->hideColumn(3); |
719 | ui->tableView->resizeColumnsToContents(); |
740 | ui->tableView->resizeColumnsToContents(); |
720 | }
|
741 | }
|
721 | 742 | ||
722 | 743 | ||
723 | 744 | ||
724 | void ClassEditor::on_action_removeAllClasses(){ // îáðàáàòûâàåì âûáîð â ìåíþ "Óäàëèòü âñå êëàññû" |
745 | void ClassEditor::on_action_removeAllClasses(){ // îáðàáàòûâàåì âûáîð â ìåíþ "Óäàëèòü âñå êëàññû" |
725 | int row; |
746 | int row; |
726 | row = ClassEditor::mymodel->rowCount(); |
747 | row = ClassEditor::mymodel->rowCount(); |
727 | for (int m=0; m < row; ++m){ |
748 | for (int m=0; m < row; ++m){ |
728 | ClassEditor::removeClass(0); |
749 | ClassEditor::removeClass(0); |
729 | //ClassEditor::mymodel->removeRows(0, row);
|
750 | //ClassEditor::mymodel->removeRows(0, row);
|
730 | }
|
751 | }
|
731 | ClassEditor::mymodel->submitAll(); |
752 | ClassEditor::mymodel->submitAll(); |
732 | ClassEditor::modelForDescription->select(); |
753 | ClassEditor::modelForDescription->select(); |
733 | }
|
754 | }
|
734 | 755 | ||
735 | void ClassEditor::removeClass(int class_row){ // ôóíêöèÿ óäàëÿåò êëàññ, íàõîäÿùèéñÿ â ñòðîêå ñ íîìåðîì class_row |
756 | void ClassEditor::removeClass(int class_row){ // ôóíêöèÿ óäàëÿåò êëàññ, íàõîäÿùèéñÿ â ñòðîêå ñ íîìåðîì class_row |
736 | QModelIndex index_tmp;
|
757 | QModelIndex index_tmp;
|
737 | QString tmp_str, filter_str;
|
758 | QString tmp_str, filter_str;
|
738 | index_tmp = ui->tableView->model()->index(class_row, 0); |
759 | index_tmp = ui->tableView->model()->index(class_row, 0); |
739 | tmp_str = ui->tableView->model()->data(index_tmp).toString(); |
760 | tmp_str = ui->tableView->model()->data(index_tmp).toString(); |
740 | currClassID = tmp_str; |
761 | currClassID = tmp_str; |
741 | // ui->label->setText(QVariant(currIndexOfClassesTable.row()).toString());
|
762 | // ui->label->setText(QVariant(currIndexOfClassesTable.row()).toString());
|
742 | filter_str = tr("ClassIdentifer = "); |
763 | filter_str = tr("ClassIdentifer = "); |
743 | filter_str.append(tmp_str); |
764 | filter_str.append(tmp_str); |
744 | modelForDescription->setFilter(filter_str); // îáíîâëÿåì òàáëèöó ïîëåé |
765 | modelForDescription->setFilter(filter_str); // îáíîâëÿåì òàáëèöó ïîëåé |
745 | ClassEditor::on_pushButton_5_clicked(); // ñíà÷àëà óäàëèì âñå ïîëÿ êëàññà |
766 | ClassEditor::on_pushButton_5_clicked(); // ñíà÷àëà óäàëèì âñå ïîëÿ êëàññà |
746 | mymodel->removeRow(class_row); // òåïåðü óäàëÿåì ñàì êëàññ |
767 | mymodel->removeRow(class_row); // òåïåðü óäàëÿåì ñàì êëàññ |
747 | mymodel->submitAll(); // ôèêñèðóåì èçìåíåíèÿ |
768 | mymodel->submitAll(); // ôèêñèðóåì èçìåíåíèÿ |
748 | ui->tableView->resizeColumnsToContents(); |
769 | ui->tableView->resizeColumnsToContents(); |
749 | ui->tableView_2->resizeColumnsToContents(); |
770 | ui->tableView_2->resizeColumnsToContents(); |
750 | 771 | ||
751 | }
|
772 | }
|
752 | 773 | ||
753 | 774 | ||
754 | void ClassEditor::on_field_changed(){ // ïîìåíÿëîñü èìÿ ïîëÿ |
775 | void ClassEditor::on_field_changed(){ // ïîìåíÿëîñü èìÿ ïîëÿ |
755 | ClassEditor::refreshInctance(); |
776 | ClassEditor::refreshInctance(); |
756 | }
|
777 | }
|
757 | 778 | ||
758 | 779 | ||
759 | 780 | ||
760 | 781 | ||
761 | void ClassEditor::refreshInctance(){ // îáíîâèì ìîäåëü òàáëèöû-õðàíèëèùà |
782 | void ClassEditor::refreshInctance(){ // îáíîâèì ìîäåëü òàáëèöû-õðàíèëèùà |
762 | 783 | ||
763 | QString Inctance_str; // èìÿ òàáëèöû-õðàíèëèùà |
784 | QString Inctance_str; // èìÿ òàáëèöû-õðàíèëèùà |
764 | Inctance_str = mymodel->data(mymodel->index(ClassEditor::currIndexOfClassesTable.row(), 3)).toString(); |
785 | Inctance_str = mymodel->data(mymodel->index(ClassEditor::currIndexOfClassesTable.row(), 3)).toString(); |
765 | delete model; |
786 | delete model; |
766 | delete tableForInstance; |
787 | delete tableForInstance; |
767 | model = new QSqlTableModel(); |
788 | model = new QSqlTableModel(); |
768 | tableForInstance = new QTableView(); |
789 | tableForInstance = new QTableView(); |
769 | model->setTable(Inctance_str); |
790 | model->setTable(Inctance_str); |
770 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
791 | model->setEditStrategy(QSqlTableModel::OnManualSubmit); |
771 | model->select(); |
792 | model->select(); |
772 | tableForInstance->setModel(model); |
793 | tableForInstance->setModel(model); |
773 | tableForInstance->setWindowTitle(Inctance_str); |
794 | tableForInstance->setWindowTitle(Inctance_str); |
774 | tableForInstance->resizeRowsToContents(); |
795 | tableForInstance->resizeRowsToContents(); |
775 | tableForInstance->show(); |
796 | tableForInstance->show(); |
776 | 797 | ||
777 | }
|
798 | }
|
778 | 799 |