Редакция 106 | Редакция 108 | К новейшей редакции | Весь файл | Учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 106 | Редакция 107 | ||
---|---|---|---|
Строка 337... | Строка 337... | ||
337 | 337 | ||
338 | 338 | ||
339 | }
|
339 | }
|
340 | 340 | ||
341 | 341 | ||
- | 342 | bool MainWindow::rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID){ |
|
- | 343 | QSqlQuery q;
|
|
- | 344 | QString sql_str;
|
|
- | 345 | QString field_name_str;
|
|
- | 346 | QString root_class_name;
|
|
- | 347 | bool ok; |
|
- | 348 | int field_name; |
|
- | 349 | ||
- | 350 | //ui->treeWidget->clear();
|
|
- | 351 | ||
- | 352 | root_class_name = MainWindow::ClassName(rootClassID); // îïðåäåëÿåì èìÿ êëàññà |
|
- | 353 | ||
- | 354 | ||
- | 355 | // rootItem1 = new QTreeWidgetItem(ui->treeWidget);
|
|
- | 356 | // root_items_list << rootItem1;
|
|
- | 357 | // rootItem1->setText(0, modelName);
|
|
- | 358 | ||
- | 359 | // rootItem1->setCheckState(0,Qt::Checked);
|
|
- | 360 | // rootItems.append(rootItem1);
|
|
- | 361 | ||
- | 362 | // root_item->removeChild(root_item->child(0)); // î÷èùàåì ñïèñîê äî÷åðíèõ êëàññîâ
|
|
- | 363 | if (root_item->childCount()==1){ |
|
- | 364 | root_item->child(0)->setText(0, root_class_name); |
|
- | 365 | root_item->child(0)->setText(1, rootClassID); |
|
- | 366 | root_item->child(0)->setCheckState(0,Qt::Checked);} |
|
- | 367 | ||
- | 368 | //delete rootItem2;
|
|
- | 369 | ||
- | 370 | ||
- | 371 | // rootItem2 = new QTreeWidgetItem(rootItem1);
|
|
- | 372 | ||
- | 373 | ||
- | 374 | ||
- | 375 | // rootItem2->setText(0, root_class_name);
|
|
- | 376 | // rootItem2->setText(1, rootClassID);
|
|
- | 377 | // rootItem2->setCheckState(0,Qt::Checked);
|
|
- | 378 | ||
- | 379 | int child_count = root_item->child(0)->childCount(); |
|
- | 380 | ||
- | 381 | ||
- | 382 | ||
- | 383 | for (int i=0; i < child_count; i++){ |
|
- | 384 | root_item->child(0)->removeChild(root_item->child(0)->child(0)); |
|
- | 385 | }
|
|
- | 386 | ||
- | 387 | child_count = root_item->child(0)->childCount(); |
|
- | 388 | addChildsItems(root_item->child(0)); |
|
- | 389 | /*
|
|
- | 390 | sql_str = tr("select * "
|
|
- | 391 | " from DescriptionOfClasses where DescriptionOfClasses.DefaultValue = '" //îïðåäåëèì êëàññû, äëÿ êîòîðûõ êîðíåâîé ÿâëÿåòñÿ êîíòåéíåðîì
|
|
- | 392 | );
|
|
- | 393 | sql_str.append(rootClassID);
|
|
- | 394 | ||
- | 395 | sql_str.append(tr("' and DescriptionOfClasses.FieldType = 'pointer' "));
|
|
- | 396 | ||
- | 397 | q.prepare(sql_str);
|
|
- | 398 | ||
- | 399 | ok = q.exec();
|
|
- | 400 | if (!ok) {
|
|
- | 401 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
|
|
- | 402 | this, // Ðîäèòåëüñêèé âèäæåò.
|
|
- | 403 | QObject::tr("Database Error"), // Çàãîëîâîê.
|
|
- | 404 | q.lastError().text()); // Òåêñò ñîîáùåíèÿ.
|
|
- | 405 | }
|
|
- | 406 | field_name = q.record().indexOf(tr("FieldName"));
|
|
- | 407 | while(q.next()){
|
|
- | 408 | ||
- | 409 | field_name_str = q.value(field_name).toString();
|
|
- | 410 | ||
- | 411 | }
|
|
- | 412 | ||
- | 413 | */
|
|
- | 414 | ||
- | 415 | ||
- | 416 | }
|
|
- | 417 | ||
- | 418 | ||
- | 419 | ||
342 | 420 | ||
343 | QString MainWindow::ClassName(QString class_id){ //âîçâðàùàåò èìÿ êëàññà ïî åãî ID |
421 | QString MainWindow::ClassName(QString class_id){ //âîçâðàùàåò èìÿ êëàññà ïî åãî ID |
344 | QSqlQuery q;
|
422 | QSqlQuery q;
|
345 | QString sql_str;
|
423 | QString sql_str;
|
346 | QString class_name_str;
|
424 | QString class_name_str;
|
Строка 523... | Строка 601... | ||
523 | QString ID_str;
|
601 | QString ID_str;
|
524 | classesID_list = class_list_map.keys(); |
602 | classesID_list = class_list_map.keys(); |
525 | classesNameList = class_list_map.values(); |
603 | classesNameList = class_list_map.values(); |
526 | ID_str = classesID_list[index]; |
604 | ID_str = classesID_list[index]; |
527 | ui->label->setText(ID_str); |
605 | ui->label->setText(ID_str); |
- | 606 | if (root_items_list.indexOf(ui->treeWidget->currentItem()) != -1) rebuildPreviewModel(ui->treeWidget->currentItem(), ID_str); |
|
- | 607 | ||
- | 608 | ||
528 | }
|
609 | }
|
529 | 610 | ||
530 | void MainWindow::on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column ){ |
611 | void MainWindow::on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column ){ |
531 | int i; |
612 | int i; |
532 | i++; |
613 | i++; |