Редакция 114 | Редакция 116 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 114 | Редакция 115 | ||
---|---|---|---|
Строка 206... | Строка 206... | ||
206 | title_item = new QTreeWidgetItem(parent_object_item); |
206 | title_item = new QTreeWidgetItem(parent_object_item); |
207 | title_item->setFont(0, font); |
207 | title_item->setFont(0, font); |
208 | title_item->setText(0, className); |
208 | title_item->setText(0, className); |
209 | title_item->setText(1, tr("class")); |
209 | title_item->setText(1, tr("class")); |
210 | title_item->setText(2, classID); |
210 | title_item->setText(2, classID); |
- | 211 | title_item->setText(3, inctance); |
|
211 | title_item->setTextColor(0, Qt::darkBlue); |
212 | title_item->setTextColor(0, Qt::darkBlue); |
212 | 213 | ||
213 | sql_str = tr("select * " |
214 | sql_str = tr("select * " |
214 | " from " //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà |
215 | " from " //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà |
215 | ); |
216 | ); |
Строка 258... | Строка 259... | ||
258 | QString pointer_name;
|
259 | QString pointer_name;
|
259 | QString filtr_tmp;
|
260 | QString filtr_tmp;
|
260 | bool pointer_isEmpty; |
261 | bool pointer_isEmpty; |
261 | model_item_tmp = model_item->child(i); // îòîáðàæàåì îáúåêòû äî÷åðíèõ êëàññîâ |
262 | model_item_tmp = model_item->child(i); // îòîáðàæàåì îáúåêòû äî÷åðíèõ êëàññîâ |
262 | pointer_name = getPointerFieldName(classID, model_item->child(i)->text(1)); |
263 | pointer_name = getPointerFieldName(classID, model_item->child(i)->text(1)); |
- | 264 | itm->setText(4, pointer_name); |
|
263 | pointer_isEmpty = pointer_name.isEmpty(); |
265 | pointer_isEmpty = pointer_name.isEmpty(); |
264 | filtr_tmp = tr("where "); |
266 | filtr_tmp = tr("where "); |
265 | filtr_tmp.append(tr("`")); |
267 | filtr_tmp.append(tr("`")); |
266 | filtr_tmp.append(pointer_name); |
268 | filtr_tmp.append(pointer_name); |
267 | filtr_tmp.append(tr("` = '")); |
269 | filtr_tmp.append(tr("` = '")); |
Строка 286... | Строка 288... | ||
286 | 288 | ||
287 | }
|
289 | }
|
288 | 290 | ||
289 | }
|
291 | }
|
290 | 292 | ||
- | 293 | ||
291 | QString MainWindow::getPointerFieldName(QString parent_class_id, QString chield_class_id){ |
294 | QString MainWindow::getPointerFieldName(QString parent_class_id, QString chield_class_id){ |
292 | 295 | ||
293 | QSqlQuery q;
|
296 | QSqlQuery q;
|
294 | QString sql_str;
|
297 | QString sql_str;
|
295 | QString str_tmp;
|
298 | QString str_tmp;
|
Строка 322... | Строка 325... | ||
322 | result = q.value(field_name).toString(); |
325 | result = q.value(field_name).toString(); |
323 | }
|
326 | }
|
324 | return result; |
327 | return result; |
325 | }
|
328 | }
|
326 | 329 | ||
- | 330 | ||
- | 331 | ||
- | 332 | void MainWindow::on_treeWidget_2_itemClicked ( QTreeWidgetItem * item, int column ){ |
|
- | 333 | QString item_type; // òèï óçëà (èìÿ êëàññà èäè îáúåêò) |
|
- | 334 | QString parent_object_id;
|
|
- | 335 | int i; |
|
- | 336 | QTreeWidgetItem * parent_item; |
|
- | 337 | item_type = item->text(1); |
|
- | 338 | parent_item = item->parent(); |
|
- | 339 | if (item_type == tr("object")) |
|
- | 340 | {
|
|
- | 341 | QString class_id;
|
|
- | 342 | class_id = parent_item->text(2); |
|
- | 343 | i++; |
|
- | 344 | }
|
|
- | 345 | if (item_type == tr("class")) |
|
- | 346 | {
|
|
- | 347 | QString parent_object_id; // èäåíòèôèêàòîð ðîäèòåëüñêîãî îáúåêòà |
|
- | 348 | QString class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà |
|
- | 349 | QString inctance;
|
|
- | 350 | QString pointer_name;
|
|
- | 351 | QString filtr_tmp;
|
|
- | 352 | parent_object_id = parent_item->text(2); |
|
- | 353 | class_id = item->text(2); |
|
- | 354 | inctance = item->text(3); |
|
- | 355 | pointer_name = parent_item->text(4); |
|
- | 356 | ||
- | 357 | filtr_tmp.append(tr("`")); |
|
- | 358 | filtr_tmp.append(pointer_name); |
|
- | 359 | filtr_tmp.append(tr("`")); |
|
- | 360 | filtr_tmp.append(tr(" = '")); |
|
- | 361 | filtr_tmp.append(parent_object_id); |
|
- | 362 | filtr_tmp.append(tr("'")); |
|
- | 363 | ||
- | 364 | ||
- | 365 | sql_mogel = new QSqlTableModel(this); |
|
- | 366 | sql_mogel->setTable(inctance); |
|
- | 367 | sql_mogel->setEditStrategy(QSqlTableModel::OnFieldChange); |
|
- | 368 | sql_mogel->setFilter(filtr_tmp); |
|
- | 369 | sql_mogel->select(); |
|
- | 370 | ui->tableView->setModel(sql_mogel); |
|
- | 371 | ||
- | 372 | i++; |
|
- | 373 | }
|
|
- | 374 | ||
- | 375 | //parent_object_id = parent_object_item->text(1);
|
|
- | 376 | ||
- | 377 | ||
- | 378 | ||
- | 379 | ||
- | 380 | ||
- | 381 | i++; |
|
- | 382 | ||
- | 383 | }
|
|
- | 384 | ||
- | 385 |