Хранилища Subversion OpenInventory

Редакция

Редакция 111 | Редакция 113 | К новейшей редакции | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 111 Редакция 112
1
#include "mainwindow.h"
1
#include "mainwindow.h"
2
#include "ui_mainwindow.h"
2
#include "ui_mainwindow.h"
3
3
4
4
5
5
6
void MainWindow::getDatabaseData(){
6
void MainWindow::getDatabaseData(){
7
int list_count;
7
int list_count;
8
8
9
if (rootItems.isEmpty()) return;
9
if (rootItems.isEmpty()) return;
10
10
11
list_count = rootItems.count();
11
list_count = rootItems.count();
12
12
13
for (int i=0; i < list_count; i++){
13
for (int i=0; i < list_count; i++){
14
14
15
    buildTree(rootItems.at(i));
15
    buildTree(rootItems.at(i));
16
16
17
}
17
}
18
18
19
}
19
}
20
20
21
void MainWindow::buildTree(QTreeWidgetItem * model_item){
21
void MainWindow::buildTree(QTreeWidgetItem * model_item){
-
 
22
-
 
23
-
 
24
-
 
25
22
QString model_name;
26
QString model_name;
23
QString rootClassID;
27
QString rootClassID;
24
QString rootClassInctance;
28
QString rootClassInctance;
25
29
26
QTreeWidgetItem * item;
30
QTreeWidgetItem * item;
27
model_name = model_item->text(0);
31
model_name = model_item->text(0);
28
if (model_item->checkState(0) == false) return;
32
if (model_item->checkState(0) == false) return;
29
item = new QTreeWidgetItem (ui->treeWidget_2);
33
item = new QTreeWidgetItem (ui->treeWidget_2);
30
item->setText(0, model_name);
34
item->setText(0, model_name);
31
rootClassID = model_item->child(0)->text(1);
35
rootClassID = model_item->child(0)->text(1);
32
rootClassInctance = getClassInctance(rootClassID);
36
rootClassInctance = getClassInctance(rootClassID);
33
if (model_item->child(0)->checkState(0)) // åñëè â ìîäåëè êîðíåâîé êëàññ âûáðàí äëÿ îòîáðàæåíèÿ (ñòîèò ãàëî÷êà), òî
37
if (model_item->child(0)->checkState(0)) // åñëè â ìîäåëè êîðíåâîé êëàññ âûáðàí äëÿ îòîáðàæåíèÿ (ñòîèò ãàëî÷êà), òî
34
    {
38
    {
35
        QTreeWidgetItem * item_tmp;
39
        QTreeWidgetItem * item_tmp;
36
        item_tmp = new QTreeWidgetItem(item);                  // â äåðåâå, îòîáðàæàþùåì îáúåêòû êëàññîâ, ñîçäàåì íîâûé óçåë
40
        item_tmp = new QTreeWidgetItem(item);                  // â äåðåâå, îòîáðàæàþùåì îáúåêòû êëàññîâ, ñîçäàåì íîâûé óçåë
37
        item_tmp->setText(0, model_item->child(0)->text(0));    // ñ íàçâàíèåì êëàññà
41
        item_tmp->setText(0, model_item->child(0)->text(0));    // ñ íàçâàíèåì êëàññà
38
42
39
        showClassObjects(item_tmp, model_item->child(0));  // è âûâîäèì âñå îáúåêòû äàííîãî êëàññà
43
        //showClassObjects(item_tmp, model_item->child(0));  // è âûâîäèì âñå îáúåêòû äàííîãî êëàññà
-
 
44
-
 
45
        showObjects(item_tmp, model_item->child(0), tr(""));
40
    }
46
    }
-
 
47
-
 
48
-
 
49
/*****************************************************/
-
 
50
-
 
51
41
}
52
}
42
53
43
54
44
// ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
55
// ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
45
QString MainWindow::getClassInctance(QString class_id){
56
QString MainWindow::getClassInctance(QString class_id){
46
    QSqlQuery q;
57
    QSqlQuery q;
47
    QString sql_str;
58
    QString sql_str;
48
    QString result;
59
    QString result;
49
    QString classInctance;
60
    QString classInctance;
50
    int field_inctance;
61
    int field_inctance;
51
    bool ok;
62
    bool ok;
52
    sql_str = tr(<
63
    sql_str = tr("select * "
53
64
                 " from ListOfClasses where  ListOfClasses.ID = '"       //îïðåäåëèì êëàññû, äëÿ êîòîðûõ êîðíåâîé ÿâëÿåòñÿ êîíòåéíåðîì
54
65
                 );
55
66
    sql_str.append(class_id);
56
67
     sql_str.append(tr("'"));
57
68
    q.prepare(sql_str);
58
69
59
70
    ok = q.exec();
60
71
    if (!ok) {
61
72
                            QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
62
73
                                                                            this,                      // Ðîäèòåëüñêèé âèäæåò.
63
74
                                                                            QObject::tr("Database Error"),   // Çàãîëîâîê.
64
75
                                                                            q.lastError().text());          // Òåêñò ñîîáùåíèÿ.
65
76
                                                                            return result;
66
77
                     }
67
78
    field_inctance = q.record().indexOf(tr("TableWhithInstance"));
68
79
    while(q.next()){
69
80
70
81
                  classInctance = q.value(field_inctance).toString();
71
82
                  result.append(classInctance);
72
83
                  }
73
84
74
85
  return result;
75
86
76
87
}
77
88
78
89
void MainWindow::showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item){
79
90
    QString classID; // èäåíòèôèêàòîð êëàññà
80
91
    QString inctance; // èìÿ òàáëèöû, õðàíèëèùà
81
92
    QSqlQuery q;
82
93
    QString sql_str;
83
94
    QString str_tmp;
84
95
    bool ok;
85
96
    int field_ID;
86
97
    int i;
87
98
    classID = model_item->text(1);
88
99
    inctance = getClassInctance(classID);
89
100
90
101
    sql_str = tr("select * "
91
102
                 " from " &nbs
92
103
93
104
94
105
95
106
96
107
97
108
98
109
99
110
100
111
101
112
102
113
103
114
104
115
105
116
106
117
107
118
108
119
109
120
110
121
111
122
112
123
113
124
114
125
115
126
116
127
117
128
118
129
119
130
120
131
121
132
122
133
123
134
124
135
125
136
126
137
127
138
128
139
129
140
130
141
131
142
132
143
133
144
134
145
135
146
136
147
137
148
138
149
139
150
140
151
141
152
142
153
143
154
144
155
145
156
146
157
147
158
148
159
149
160
150
161
151
162
152
163
153
164
154
165
155
166
156
167
157
168
158
169
159
170
160
171
161
172
162
173
163
174
164
175
165
176
166
177
167
178
-
 
179
-
 
180
-
 
181
-
 
182
-
 
183
-
 
184
-
 
185
-
 
186
-
 
187
-
 
188
-
 
189
-
 
190
-
 
191
-
 
192
-
 
193
-
 
194
-
 
195
-
 
196
-
 
197
-
 
198
-
 
199
-
 
200
-
 
201
-
 
202
-
 
203
-
 
204
-
 
205
-
 
206
-
 
207
-
 
208
-
 
209
-
 
210
-
 
211
168
212
-
 
213
-
 
214
-
 
215
-
 
216
-
 
217
-
 
218
-
 
219
-
 
220
-
 
221
-
 
222
-
 
223
-
 
224
-
 
225
-
 
226
-
 
227
-
 
228
-
 
229
-
 
230
-
 
231
-
 
232
-
 
233
-
 
234
-
 
235
-
 
236
-
 
237
-
 
238
-
 
239
-
 
240
-
 
241
-
 
242
-
 
243
-
 
244
-
 
245
-
 
246
-
 
247
-
 
248
-
 
249
-
 
250
-
 
251
-
 
252
-
 
253
-
 
254
-
 
255
-
 
256
-
 
257
-
 
258
-
 
259
-
 
260
-
 
261
-
 
262
-
 
263
-
 
264
-
 
265
-
 
266
-
 
267
-
 
268
-
 
269
-
 
270
-
 
271
-
 
272
-
 
273
-
 
274
-
 
275
-
 
276
-
 
277
-
 
278
-
 
279
-
 
280
-
 
281
-
 
282
-
 
283
-
 
284
-
 
285
-
 
286
-
 
287
-
 
288
-
 
289
-
 
290
-
 
291
-
 
292
-
 
293
-
 
294
-
 
295
169
296