Редакция 195 | Редакция 201 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 195 | Редакция 200 | ||
---|---|---|---|
Строка 423... | Строка 423... | ||
423 | QString inctance;
|
423 | QString inctance;
|
424 | QString filtr_tmp;
|
424 | QString filtr_tmp;
|
425 | QMap <QString, QString> pointersList; |
425 | QMap <QString, QString> pointersList; |
426 | QStringList dateFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "DATE" |
426 | QStringList dateFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "DATE" |
427 | QStringList boolFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "BOOL" |
427 | QStringList boolFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "BOOL" |
- | 428 | QStringList fileFieldList; // ñïèñîê èìåí ïîëåé, â êîòîðûõ õðàíÿòñÿ ôàéëû |
|
428 | QString pointer_name; // ñïèñîê èìåí ïîëåé |
429 | QString pointer_name; // ñïèñîê èìåí ïîëåé |
429 | 430 | ||
430 | if (item_type == tr("object") || item_type == tr("class")){ |
431 | if (item_type == tr("object") || item_type == tr("class")){ |
431 | 432 | ||
432 | disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex))); |
433 | disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex))); |
433 | 434 | ||
434 | static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè |
435 | static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè |
435 | static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE" |
436 | static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE" |
436 | static QList <int> bool_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "BOOL" |
437 | static QList <int> bool_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "BOOL" |
- | 438 | static QList <int> file_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû, â êîòîðûõ õðàíÿòüñÿ ôàéëû |
|
- | 439 | ||
437 | static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû |
440 | static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû |
438 | static int icon_index = -1; // èíäåêñ ñòîëáöà ñ èêîíêàìè |
441 | static int icon_index = -1; // èíäåêñ ñòîëáöà ñ èêîíêàìè |
439 | 442 | ||
440 | 443 | ||
441 | SpinBoxDelegate * spin_delegate_tmp; |
444 | SpinBoxDelegate * spin_delegate_tmp; |
Строка 450... | Строка 453... | ||
450 | for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
453 | for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
451 | ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
454 | ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
452 | // ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
|
455 | // ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
|
453 | 456 | ||
454 | }
|
457 | }
|
455 | colomns_indexes.clear(); // î÷èùàåñ ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè |
458 | colomns_indexes.clear(); // î÷èùàåì ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè |
- | 459 | ||
- | 460 | ||
- | 461 | // "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ õðàíåíèÿ ôàéëîâ
|
|
- | 462 | ||
- | 463 | for (i=0; i < file_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
|
- | 464 | ui->tableView->setItemDelegateForColumn(file_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
|
- | 465 | }
|
|
- | 466 | file_colomns_indexes.clear(); |
|
- | 467 | ||
456 | 468 | ||
457 | // "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "DATE"
|
469 | // "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "DATE"
|
458 | for (i=0; i < date_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
470 | for (i=0; i < date_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
459 | ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
471 | ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
460 | // ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
|
472 | // ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
|
Строка 542... | Строка 554... | ||
542 | 554 | ||
543 | 555 | ||
544 | pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé |
556 | pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé |
545 | dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE" |
557 | dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE" |
546 | boolFieldList = getBoolFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "BOOL" |
558 | boolFieldList = getBoolFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "BOOL" |
- | 559 | fileFieldList = getFileFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé, â êîòîðûõ õðàíÿòüñÿ ôàéëû |
|
- | 560 | ||
547 | icon_index = getIconFieldIndex(inctance); // |
561 | icon_index = getIconFieldIndex(inctance); // |
548 | if (icon_index != -1) ui->tableView->setItemDelegateForColumn(icon_index, iconDelegate); |
562 | if (icon_index != -1) ui->tableView->setItemDelegateForColumn(icon_index, iconDelegate); |
549 | sql_mogel->setIconIndex(icon_index); |
563 | sql_mogel->setIconIndex(icon_index); |
550 | 564 | ||
551 | QMap <int, QString> pointersToModel; |
565 | QMap <int, QString> pointersToModel; |
Строка 932... | Строка 946... | ||
932 | 946 | ||
933 | 947 | ||
934 | }
|
948 | }
|
935 | 949 | ||
936 | 950 | ||
- | 951 | QStringList MainWindow::getFileFieldList(QString class_id){ // ïîëó÷àåì ñïèñîê âñåõ ïîëåé, â êîòîðûõ õðàíÿòüñÿ ôàéëû |
|
- | 952 | QStringList result_str;
|
|
- | 953 | QSqlQuery q;
|
|
- | 954 | QString sql_str;
|
|
- | 955 | bool ok; |
|
- | 956 | int field_name, field_default_value; |
|
- | 957 | sql_str = tr("select * " |
|
- | 958 | " from `DescriptionOfClasses` where `DescriptionOfClasses`.`Comment` = 'file' and `DescriptionOfClasses`.`ClassIdentifer` = " //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà |
|
- | 959 | ); |
|
- | 960 | sql_str.append(tr("'")); |
|
- | 961 | sql_str.append(class_id); |
|
- | 962 | sql_str.append(tr("' ")); |
|
- | 963 | q.prepare(sql_str); |
|
- | 964 | ||
- | 965 | ok = q.exec(); |
|
- | 966 | if (!ok) { |
|
- | 967 | QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
|
- | 968 | this, // Ðîäèòåëüñêèé âèäæåò. |
|
- | 969 | QObject::tr("Database Error"), // Çàãîëîâîê. |
|
- | 970 | q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
|
- | 971 | return result_str; |
|
- | 972 | }
|
|
- | 973 | ||
- | 974 | field_name = q.record().indexOf(tr("FieldName")); |
|
- | 975 | // field_default_value = q.record().indexOf(tr("DefaultValue"));
|
|
- | 976 | while(q.next()){ |
|
- | 977 | QString FileFieldName;
|
|
- | 978 | ||
- | 979 | FileFieldName = q.value(field_name).toString(); |
|
- | 980 | result_str.append(FileFieldName); |
|
- | 981 | ||
- | 982 | ||
- | 983 | }
|
|
- | 984 | ||
- | 985 | return result_str; |
|
- | 986 | ||
- | 987 | }
|
|
- | 988 | ||
- | 989 | ||
- | 990 | ||
937 | QStringList MainWindow::getBoolFieldList(QString class_id){ // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool" |
991 | QStringList MainWindow::getBoolFieldList(QString class_id){ // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool" |
938 | 992 | ||
939 | QStringList result_str;
|
993 | QStringList result_str;
|
940 | QSqlQuery q;
|
994 | QSqlQuery q;
|
941 | QString sql_str;
|
995 | QString sql_str;
|