Редакция 127 | Редакция 129 | К новейшей редакции | Весь файл | Учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 127 | Редакция 128 | ||
---|---|---|---|
Строка 392... | Строка 392... | ||
392 | filtr_tmp.append(tr(" = '")); |
392 | filtr_tmp.append(tr(" = '")); |
393 | filtr_tmp.append(ID); |
393 | filtr_tmp.append(ID); |
394 | filtr_tmp.append(tr("'")); |
394 | filtr_tmp.append(tr("'")); |
395 | sql_mogel->setFilter(filtr_tmp); |
395 | sql_mogel->setFilter(filtr_tmp); |
396 | sql_mogel->select(); |
396 | sql_mogel->select(); |
- | 397 | ||
- | 398 | ||
397 | ui->tableView->setModel(sql_mogel); |
399 | ui->tableView->setModel(sql_mogel); |
398 | ui->tableView->resizeColumnsToContents(); |
400 | ui->tableView->resizeColumnsToContents(); |
399 | 401 | ||
400 | connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex))); |
402 | connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex))); |
401 | 403 | ||
Строка 461... | Строка 463... | ||
461 | ***************************************/
|
463 | ***************************************/
|
462 | 464 | ||
463 | 465 | ||
464 | sql_mogel->select(); |
466 | sql_mogel->select(); |
465 | 467 | ||
- | 468 | QMap <QString, QString> pointersList = getPointersList(class_id); |
|
- | 469 | QMap <int, QString> pointersToModel; |
|
- | 470 | ||
- | 471 | QStringList pointersNames = pointersList.keys(); // |
|
- | 472 | QStringList parentInctancesList = pointersList.values(); |
|
- | 473 | ||
- | 474 | for (i=0; i < pointersNames.size(); i++){ |
|
- | 475 | QString pointerName;
|
|
466 | 476 | ||
- | 477 | int pointerIndex; |
|
- | 478 | pointerName = pointersNames.at(i); |
|
- | 479 | pointerIndex = sql_mogel->record().indexOf(pointerName); |
|
- | 480 | pointersToModel.insert(pointerIndex, parentInctancesList.at(i)); |
|
- | 481 | }
|
|
- | 482 | ||
- | 483 | sql_mogel->setPointers(pointersToModel); |
|
467 | 484 | ||
468 | pointer_index = sql_mogel->record().indexOf(pointer_name); |
485 | pointer_index = sql_mogel->record().indexOf(pointer_name); |
469 | 486 | ||
470 | ui->tableView->setModel(sql_mogel); |
487 | ui->tableView->setModel(sql_mogel); |
471 | 488 | ||
Строка 553... | Строка 570... | ||
553 | ui->pushButton_3->setEnabled(true); |
570 | ui->pushButton_3->setEnabled(true); |
554 | ui->pushButton_4->setEnabled(true); |
571 | ui->pushButton_4->setEnabled(true); |
555 | 572 | ||
556 | 573 | ||
557 | }
|
574 | }
|
- | 575 | ||
- | 576 | ||
- | 577 | // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé
|
|
- | 578 | // â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
|
|
- | 579 | ||
- | 580 | QMap <QString, QString> MainWindow::getPointersList(QString class_id){ |
|
- | 581 | QMap <QString, QString> result_map; |
|
- | 582 | QSqlQuery q;
|
|
- | 583 | QString sql_str;
|
|
- | 584 | QString str_tmp;
|
|
- | 585 | QString field;
|
|
- | 586 | QString result;
|
|
- | 587 | int field_name, field_default_value; |
|
- | 588 | bool ok; |
|
- | 589 | sql_str = tr("select * " |
|
- | 590 | " from `DescriptionOfClasses` where `DescriptionOfClasses`.`FieldType` = 'pointer' and `DescriptionOfClasses`.`ClassIdentifer` = " //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà |
|
- | 591 | ); |
|
- | 592 | ||
- | 593 | sql_str.append(tr("'")); |
|
- | 594 | sql_str.append(class_id); |
|
- | 595 | sql_str.append(tr("' ")); |
|
- | 596 | // sql_str.append(tr(" and `DescriptionOfClasses`.`ClassIdentifer` = '"));
|
|
- | 597 | // sql_str.append(chield_class_id);
|
|
- | 598 | // sql_str.append(tr("'"));
|
|
- | 599 | q.prepare(sql_str); |
|
- | 600 | ||
- | 601 | ok = q.exec(); |
|
- | 602 | if (!ok) { |
|
- | 603 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
|
- | 604 | this, // Ðîäèòåëüñêèé âèäæåò. |
|
- | 605 | QObject::tr("Database Error"), // Çàãîëîâîê. |
|
- | 606 | q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
|
- | 607 | return result_map; |
|
- | 608 | }
|
|
- | 609 | field_name = q.record().indexOf(tr("FieldName")); |
|
- | 610 | field_default_value = q.record().indexOf(tr("DefaultValue")); |
|
- | 611 | while(q.next()){ |
|
- | 612 | QString pointerFieldName;
|
|
- | 613 | QString parentClassID;
|
|
- | 614 | QString parentClassInctance;
|
|
- | 615 | ||
- | 616 | pointerFieldName = q.value(field_name).toString(); |
|
- | 617 | parentClassID = q.value(field_default_value).toString(); |
|
- | 618 | parentClassInctance = getClassInctance(parentClassID); |
|
- | 619 | result_map.insert(pointerFieldName, parentClassInctance); |
|
- | 620 | ||
- | 621 | ||
- | 622 | }
|
|
- | 623 | ||
- | 624 | return result_map; |
|
- | 625 | }
|
|
- | 626 |