Редакция 157 | Редакция 159 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 157 | Редакция 158 | ||
---|---|---|---|
Строка 370... | Строка 370... | ||
370 | 370 | ||
371 | QString class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà |
371 | QString class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà |
372 | QString inctance;
|
372 | QString inctance;
|
373 | QString filtr_tmp;
|
373 | QString filtr_tmp;
|
374 | QMap <QString, QString> pointersList; |
374 | QMap <QString, QString> pointersList; |
375 | QStringList dateFieldList;
|
375 | QStringList dateFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "DATE" |
- | 376 | QStringList boolFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "BOOL" |
|
376 | QString pointer_name;
|
377 | QString pointer_name; // ñïèñîê èìåí ïîëåé |
377 | 378 | ||
378 | if (item_type == tr("object") || item_type == tr("class")){ |
379 | if (item_type == tr("object") || item_type == tr("class")){ |
379 | 380 | ||
380 | disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex))); |
381 | disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex))); |
381 | 382 | ||
382 | static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè |
383 | static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè |
383 | static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE" |
384 | static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE" |
- | 385 | static QList <int> bool_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "BOOL" |
|
384 | static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû |
386 | static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû |
385 | SpinBoxDelegate * spin_delegate_tmp; |
387 | SpinBoxDelegate * spin_delegate_tmp; |
386 | 388 | ||
387 | // Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
|
389 | // Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
|
388 | for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
390 | for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
Строка 397... | Строка 399... | ||
397 | ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
399 | ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
398 | // ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
|
400 | // ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
|
399 | 401 | ||
400 | }
|
402 | }
|
401 | 403 | ||
- | 404 | date_colomns_indexes.clear(); |
|
- | 405 | ||
- | 406 | // "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "BOOL"
|
|
- | 407 | for (i=0; i < bool_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
|
- | 408 | ui->tableView->setItemDelegateForColumn(bool_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
|
- | 409 | // ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
|
|
- | 410 | ||
- | 411 | }
|
|
- | 412 | ||
- | 413 | bool_colomns_indexes.clear(); |
|
402 | 414 | ||
403 | 415 | ||
404 | if (item_type == tr("object")) |
416 | if (item_type == tr("object")) |
405 | {
|
417 | {
|
406 | QString ID;
|
418 | QString ID;
|
Строка 469... | Строка 481... | ||
469 | 481 | ||
470 | 482 | ||
471 | 483 | ||
472 | pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé |
484 | pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé |
473 | dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE" |
485 | dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE" |
474 | - | ||
- | 486 | boolFieldList = getBoolFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "BOOL" |
|
475 | QMap <int, QString> pointersToModel; |
487 | QMap <int, QString> pointersToModel; |
476 | 488 | ||
477 | 489 | ||
478 | 490 | ||
479 | for (int i=0; i < dateFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "DATA" |
491 | for (int i=0; i < dateFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "DATA" |
480 | static MyDEDelegate dateDelegate; |
492 | static MyDEDelegate dateDelegate; |
- | 493 | // static TimeEditDelegate dateDelegate("01.10.2010");
|
|
481 | QString dateFieldName; // èìÿ ïîëÿ |
494 | QString dateFieldName; // èìÿ ïîëÿ |
482 | int dataFieldIndex; // |
495 | int dataFieldIndex; // |
483 | dateFieldName = dateFieldList.at(i); // îïðåäåëÿåì èìÿ ïîëÿ ñ òèïîì "DATA" |
496 | dateFieldName = dateFieldList.at(i); // îïðåäåëÿåì èìÿ ïîëÿ ñ òèïîì "DATA" |
484 | dataFieldIndex = sql_mogel->record().indexOf(dateFieldName); // îïðåäåëÿåì íîìåð ñòîëáöà â ìîäåëå |
497 | dataFieldIndex = sql_mogel->record().indexOf(dateFieldName); // îïðåäåëÿåì íîìåð ñòîëáöà â ìîäåëå |
485 | date_colomns_indexes.append(dataFieldIndex);// çàïîìíèì íîìåð ñòîëáöà ñ äåëåãàòîì äëÿ òèïà "DATA" |
498 | date_colomns_indexes.append(dataFieldIndex);// çàïîìíèì íîìåð ñòîëáöà ñ äåëåãàòîì äëÿ òèïà "DATA" |
486 | ui->tableView->setItemDelegateForColumn(dataFieldIndex, &dateDelegate); |
499 | ui->tableView->setItemDelegateForColumn(dataFieldIndex, &dateDelegate); |
487 | 500 | ||
488 | }
|
501 | }
|
489 | 502 | ||
490 | 503 | ||
- | 504 | for (int i=0; i < boolFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "BOOL" |
|
- | 505 | // // // // static MyDEDelegate dateDelegate;
|
|
- | 506 | // static TimeEditDelegate dateDelegate("01.10.2010");
|
|
- | 507 | QString boolFieldName; // èìÿ ïîëÿ |
|
- | 508 | int boolFieldIndex; // |
|
- | 509 | boolFieldName = boolFieldList.at(i); // îïðåäåëÿåì èìÿ ïîëÿ ñ òèïîì "BOOL" |
|
- | 510 | boolFieldIndex = sql_mogel->record().indexOf(boolFieldName); // îïðåäåëÿåì íîìåð ñòîëáöà â ìîäåëå |
|
- | 511 | bool_colomns_indexes.append(boolFieldIndex);// çàïîìíèì íîìåð ñòîëáöà ñ òèïîì "DATA" |
|
- | 512 | // ui->tableView->setItemDelegateForColumn(dataFieldIndex, &dateDelegate);
|
|
- | 513 | ||
- | 514 | }
|
|
- | 515 | ||
- | 516 | sql_mogel->setBooleansList(bool_colomns_indexes); |
|
491 | 517 | ||
492 | 518 | ||
493 | for (int i=0; i < spin_delegate_list.count(); i++){ // óäàëÿåì íåñòàíäàðòíûå äåëåãàòû |
519 | for (int i=0; i < spin_delegate_list.count(); i++){ // óäàëÿåì íåñòàíäàðòíûå äåëåãàòû |
494 | delete spin_delegate_list.at(i); |
520 | delete spin_delegate_list.at(i); |
495 | }
|
521 | }
|
Строка 681... | Строка 707... | ||
681 | int i; |
707 | int i; |
682 | i++; |
708 | i++; |
683 | ui->pushButton_3->setEnabled(true); |
709 | ui->pushButton_3->setEnabled(true); |
684 | ui->pushButton_4->setEnabled(true); |
710 | ui->pushButton_4->setEnabled(true); |
685 | 711 | ||
686 | - | ||
687 | }
|
712 | }
|
688 | 713 | ||
689 | void MainWindow::on_model_for_ListModelsTable_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ){ // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò |
714 | void MainWindow::on_model_for_ListModelsTable_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ){ // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò |
690 | 715 | ||
691 | ui->pushButton_7->setEnabled(true); |
716 | ui->pushButton_7->setEnabled(true); |
Строка 792... | Строка 817... | ||
792 | return result_str; |
817 | return result_str; |
793 | }
|
818 | }
|
794 | 819 | ||
795 | 820 | ||
796 | 821 | ||
- | 822 | QStringList MainWindow::getBoolFieldList(QString class_id){ // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool" |
|
- | 823 | ||
- | 824 | QStringList result_str;
|
|
- | 825 | QSqlQuery q;
|
|
- | 826 | QString sql_str;
|
|
- | 827 | QString str_tmp;
|
|
- | 828 | QString field;
|
|
- | 829 | QString result;
|
|
- | 830 | int field_name, field_default_value; |
|
- | 831 | bool ok; |
|
- | 832 | sql_str = tr("select * " |
|
- | 833 | " from `DescriptionOfClasses` where `DescriptionOfClasses`.`FieldType` = 'BOOL' and `DescriptionOfClasses`.`ClassIdentifer` = " //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà |
|
- | 834 | ); |
|
- | 835 | ||
- | 836 | sql_str.append(tr("'")); |
|
- | 837 | sql_str.append(class_id); |
|
- | 838 | sql_str.append(tr("' ")); |
|
- | 839 | // sql_str.append(tr(" and `DescriptionOfClasses`.`ClassIdentifer` = '"));
|
|
- | 840 | // sql_str.append(chield_class_id);
|
|
- | 841 | // sql_str.append(tr("'"));
|
|
- | 842 | q.prepare(sql_str); |
|
- | 843 | ||
- | 844 | ok = q.exec(); |
|
- | 845 | if (!ok) { |
|
- | 846 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
|
- | 847 | this, // Ðîäèòåëüñêèé âèäæåò. |
|
- | 848 | QObject::tr("Database Error"), // Çàãîëîâîê. |
|
- | 849 | q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
|
- | 850 | return result_str; |
|
- | 851 | }
|
|
- | 852 | field_name = q.record().indexOf(tr("FieldName")); |
|
- | 853 | // field_default_value = q.record().indexOf(tr("DefaultValue"));
|
|
- | 854 | while(q.next()){ |
|
- | 855 | QString DataFieldName;
|
|
- | 856 | ||
- | 857 | DataFieldName = q.value(field_name).toString(); |
|
- | 858 | result_str.append(DataFieldName); |
|
- | 859 | ||
- | 860 | ||
- | 861 | }
|
|
- | 862 | ||
- | 863 | return result_str; |
|
- | 864 | }
|
|
- | 865 | ||
- | 866 | ||
- | 867 | ||
- | 868 | ||
797 | 869 | ||
798 | // Ñ÷èòûâàåì íàñòðîéêè
|
870 | // Ñ÷èòûâàåì íàñòðîéêè
|
799 | 871 | ||
800 | void MainWindow::readSettings() |
872 | void MainWindow::readSettings() |
801 | {
|
873 | {
|