Редакция 231 | Редакция 235 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 231 | Редакция 233 | ||
---|---|---|---|
Строка 14... | Строка 14... | ||
14 | */
|
14 | */
|
15 | 15 | ||
16 | ui->centralWidget->setLayout(ui->verticalLayout); |
16 | ui->centralWidget->setLayout(ui->verticalLayout); |
17 | ui->tab->setLayout(ui->horizontalLayout); |
17 | ui->tab->setLayout(ui->horizontalLayout); |
18 | ui->tab_2->setLayout(ui->horizontalLayout_3); |
18 | ui->tab_2->setLayout(ui->horizontalLayout_3); |
- | 19 | ui->tab_3->setLayout(ui->horizontalLayout_7); |
|
19 | // connect( ui->comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(on_currentIndexChanged(int)));
|
20 | // connect( ui->comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(on_currentIndexChanged(int)));
|
20 | model_is_build = false; |
21 | model_is_build = false; |
21 | // MainWindow::readModel();
|
22 | // MainWindow::readModel();
|
22 | 23 | ||
23 | //QString model_str;
|
24 | //QString model_str;
|
Строка 117... | Строка 118... | ||
117 | iconDelegate = new IconDelegate(this); |
118 | iconDelegate = new IconDelegate(this); |
118 | fileDelegate = new FileDelegate(this); |
119 | fileDelegate = new FileDelegate(this); |
119 | 120 | ||
120 | // fileForm.show();
|
121 | // fileForm.show();
|
121 | 122 | ||
122 | - | ||
- | 123 | doc = ui->textEdit->document(); |
|
123 | cursor = new QTextCursor(&doc); |
124 | cursor = new QTextCursor(doc); |
124 | buildReport(true); |
125 | // buildReport(true);
|
125 | 126 | ||
126 | 127 | ||
127 | }
|
128 | }
|
128 | 129 | ||
129 | MainWindow::~MainWindow() |
130 | MainWindow::~MainWindow() |
Строка 753... | Строка 754... | ||
753 | classesID_list = class_list_map.keys(); |
754 | classesID_list = class_list_map.keys(); |
754 | classesNameList = class_list_map.values(); |
755 | classesNameList = class_list_map.values(); |
755 | QMapIterator<QString, QString> interator(class_list_map); |
756 | QMapIterator<QString, QString> interator(class_list_map); |
756 | // ui->comboBox->addItems(classesID_list);
|
757 | // ui->comboBox->addItems(classesID_list);
|
757 | // ui->comboBox->addItems(classesNameList);
|
758 | // ui->comboBox->addItems(classesNameList);
|
- | 759 | ||
758 | while (interator.hasNext()) { |
760 | while (interator.hasNext()) { |
759 | interator.next(); |
761 | interator.next(); |
760 | tmp_str = interator.value(); |
762 | tmp_str = interator.value(); |
761 | tmp_str.append(tr(" \t(ID=")); |
763 | tmp_str.append(tr(" \t(ID=")); |
762 | tmp_str.append(interator.key()); |
764 | tmp_str.append(interator.key()); |
763 | tmp_str.append(tr(")")); |
765 | tmp_str.append(tr(")")); |
764 | tmp_stringList << tmp_str; |
766 | tmp_stringList << tmp_str; |
765 | 767 | ||
766 | }
|
768 | }
|
- | 769 | tmp_stringList << tr("íå çàäàíî"); |
|
767 | // int count = ui->comboBox->count();
|
770 | // int count = ui->comboBox->count();
|
768 | 771 | ||
769 | ui->comboBox->clear(); |
772 | ui->comboBox->clear(); |
770 | ui->comboBox->addItems(tmp_stringList); |
773 | ui->comboBox->addItems(tmp_stringList); |
771 | 774 | ||
Строка 880... | Строка 883... | ||
880 | int index; |
883 | int index; |
881 | classesID_list = class_list_map.keys(); |
884 | classesID_list = class_list_map.keys(); |
882 | classesNameList = class_list_map.values(); |
885 | classesNameList = class_list_map.values(); |
883 | if (item->childCount()>0) index = classesID_list.indexOf(item->child(0)->text(1)); // åñëè ìîäåëü íå ïóñòàÿ, óçíàåì êîðíåâîé êëàññ |
886 | if (item->childCount()>0) index = classesID_list.indexOf(item->child(0)->text(1)); // åñëè ìîäåëü íå ïóñòàÿ, óçíàåì êîðíåâîé êëàññ |
884 | else { // åñëè ïóñòàÿ |
887 | else { // åñëè ïóñòàÿ |
- | 888 | index = classesID_list.count(); |
|
- | 889 | comboBox_slot_enable = false; // ÷òîáû ñëîò comboBox íå ìåíÿë ñòðîêó ìîäåëè |
|
- | 890 | ui->comboBox->setCurrentIndex(index); |
|
885 | ui->comboBox->setEnabled(true); |
891 | ui->comboBox->setEnabled(true); |
886 | comboBox_slot_enable = true; |
892 | comboBox_slot_enable = true; |
887 | return; |
893 | return; |
888 | 894 | ||
889 | }
|
895 | }
|
Строка 1019... | Строка 1025... | ||
1019 | // int count = root_items_list.count();
|
1025 | // int count = root_items_list.count();
|
1020 | 1026 | ||
1021 | //int count = ui->treeWidget_2->rootIndex();
|
1027 | //int count = ui->treeWidget_2->rootIndex();
|
1022 | 1028 | ||
1023 | 1029 | ||
1024 | doc.clear();//î÷èùàåì äîêóìåíò |
1030 | doc->clear();//î÷èùàåì äîêóìåíò |
1025 | 1031 | ||
1026 | int list_count; |
1032 | int list_count; |
1027 | if (rootItems.isEmpty()) return; |
1033 | if (rootItems.isEmpty()) return; |
1028 | 1034 | ||
1029 | 1035 | ||
Строка 1035... | Строка 1041... | ||
1035 | getReport(rootItems.at(i), advanced); |
1041 | getReport(rootItems.at(i), advanced); |
1036 | 1042 | ||
1037 | 1043 | ||
1038 | 1044 | ||
1039 | }
|
1045 | }
|
1040 | (bool)QTextDocumentWriter("raport.odt").write(&doc); |
1046 | // (bool)QTextDocumentWriter("raport.odt").write(doc);
|
1041 | }
|
1047 | }
|
1042 | 1048 | ||
1043 | 1049 | ||
1044 | void MainWindow::getReport(QTreeWidgetItem * model_item, bool advanced){ // ñîçäàåò îò÷åò äëÿ êîíêðåòíîé ìîäåëè |
1050 | void MainWindow::getReport(QTreeWidgetItem * model_item, bool advanced){ // ñîçäàåò îò÷åò äëÿ êîíêðåòíîé ìîäåëè |
1045 | 1051 | ||
Строка 1064... | Строка 1070... | ||
1064 | 1070 | ||
1065 | QString model_name;
|
1071 | QString model_name;
|
1066 | QString rootClassID;
|
1072 | QString rootClassID;
|
1067 | QString rootClassInctance;
|
1073 | QString rootClassInctance;
|
1068 | QFont font;
|
1074 | QFont font;
|
- | 1075 | QBrush brush;
|
|
- | 1076 | ||
- | 1077 | brush.setColor(Qt::darkRed); |
|
- | 1078 | char_fmt.setForeground(brush); |
|
- | 1079 | font.setBold(true); |
|
- | 1080 | char_fmt.setFont(font); |
|
1069 | 1081 | ||
1070 | model_name = model_item->text(0); |
1082 | model_name = model_item->text(0); |
1071 | if (model_item->checkState(0) == false) return; // ìîäåëü íå âûäåëåíà äëÿ îòîáðàæåíèÿ |
1083 | if (model_item->checkState(0) == false) return; // ìîäåëü íå âûäåëåíà äëÿ îòîáðàæåíèÿ |
1072 | 1084 | ||
1073 | 1085 | ||
Строка 1089... | Строка 1101... | ||
1089 | if (!(model_item->childCount() > 0)) return; // ìîäåëü ïóñòà (íå ñîäåðæèò êëàññîâ) |
1101 | if (!(model_item->childCount() > 0)) return; // ìîäåëü ïóñòà (íå ñîäåðæèò êëàññîâ) |
1090 | 1102 | ||
1091 | rootClassID = model_item->child(0)->text(1); |
1103 | rootClassID = model_item->child(0)->text(1); |
1092 | rootClassInctance = getClassInctance(rootClassID); |
1104 | rootClassInctance = getClassInctance(rootClassID); |
1093 | 1105 | ||
1094 | cursor->insertText(model_name); |
1106 | cursor->insertText(model_name, char_fmt); |
1095 | cursor->insertText(tr("\n")); |
1107 | cursor->insertText(tr("\n")); |
1096 | 1108 | ||
1097 | if (model_item->child(0)->checkState(0)) // åñëè â ìîäåëè êîðíåâîé êëàññ âûáðàí äëÿ îòîáðàæåíèÿ (ñòîèò ãàëî÷êà), òî |
1109 | if (model_item->child(0)->checkState(0)) // åñëè â ìîäåëè êîðíåâîé êëàññ âûáðàí äëÿ îòîáðàæåíèÿ (ñòîèò ãàëî÷êà), òî |
1098 | {
|
1110 | {
|
1099 | ///// QTreeWidgetItem * item_tmp;
|
1111 | ///// QTreeWidgetItem * item_tmp;
|
Строка 1126... | Строка 1138... | ||
1126 | bool ok; |
1138 | bool ok; |
1127 | QSqlQuery q;
|
1139 | QSqlQuery q;
|
1128 | QString sql_str;
|
1140 | QString sql_str;
|
1129 | QString str_tmp;
|
1141 | QString str_tmp;
|
1130 | QTreeWidgetItem * title_item; |
1142 | QTreeWidgetItem * title_item; |
1131 | QFont font;
|
1143 | |
1132 | QIcon icon;
|
1144 | QIcon icon;
|
1133 | QMap<QString, QString> fieldsTypesList;//çäåñü â êà÷åñòâå êëþ÷å áóäåì õðàíèòü èìåíà ïîëåé, çíà÷åíèÿìè áóäóò èõ òèïû |
1145 | QMap<QString, QString> fieldsTypesList;//çäåñü â êà÷åñòâå êëþ÷å áóäåì õðàíèòü èìåíà ïîëåé, çíà÷åíèÿìè áóäóò èõ òèïû |
1134 | //QList<TField> FieldsList; //ñïèñîê ïîëåé êëàññà
|
1146 | //QList<TField> FieldsList; //ñïèñîê ïîëåé êëàññà
|
1135 | 1147 | ||
1136 | 1148 | ||
1137 | 1149 | ||
1138 | 1150 | ||
1139 | font.setBold(true); |
1151 | // // // font.setBold(true);
|
1140 | filtr_empty = filtr.isEmpty(); |
1152 | filtr_empty = filtr.isEmpty(); |
1141 | 1153 | ||
1142 | classID = model_item->text(1); |
1154 | classID = model_item->text(1); |
1143 | modelID = model_item->text(6); |
1155 | modelID = model_item->text(6); |
1144 | add_filtr = MainWindow::getFiltrString(modelID, classID); |
1156 | add_filtr = MainWindow::getFiltrString(modelID, classID); |
Строка 1156... | Строка 1168... | ||
1156 | if (!model_item->checkState(0)) return; |
1168 | if (!model_item->checkState(0)) return; |
1157 | 1169 | ||
1158 | 1170 | ||
1159 | 1171 | ||
1160 | 1172 | ||
1161 | QTextCharFormat charFormatItalic, charFormatBase;
|
1173 | QTextCharFormat charFormatItalic, charFormatBase, charFormatItalicBold, charFormatItalicOnly;
|
- | 1174 | QTextTableFormat tableFormat;
|
|
- | 1175 | ||
- | 1176 | ||
- | 1177 | // QPen pen;
|
|
- | 1178 | QBrush brush;
|
|
- | 1179 | QFont font;
|
|
- | 1180 | // pen.setColor(Qt::red);
|
|
- | 1181 | // charFormatItalic.setTextOutline(pen);
|
|
- | 1182 | ||
1162 | //QFont font;
|
1183 | //QFont font;
|
- | 1184 | ||
1163 | font.setBold(true); |
1185 | brush.setColor(Qt::blue); |
- | 1186 | ||
1164 | font.setItalic(true); |
1187 | font.setItalic(true); |
- | 1188 | ||
- | 1189 | charFormatItalicOnly.setFont(font); |
|
1165 | //charFormatItalic.setFontItalic(true);
|
1190 | //charFormatItalic.setFontItalic(true);
|
- | 1191 | ||
- | 1192 | font.setBold(true);///////////////// |
|
1166 | charFormatItalic.setFont(font); |
1193 | charFormatItalic.setFont(font); |
- | 1194 | ||
- | 1195 | ||
- | 1196 | charFormatItalic.setForeground(brush); |
|
- | 1197 | ||
- | 1198 | ||
- | 1199 | ||
- | 1200 | charFormatItalicBold.setFont(font); |
|
- | 1201 | charFormatItalicBold.setForeground(brush); |
|
- | 1202 | ||
- | 1203 | ||
- | 1204 | ||
1167 | //charFormatItalic.setFontWeight(16);
|
1205 | //charFormatItalic.setFontWeight(16);
|
1168 | pos++; |
1206 | pos++; |
1169 | for(int i=0; i<pos; i++){ cursor->insertText( tr(" "));}// äîáàâëÿåì ïðîáåëû |
1207 | for(int i=0; i<pos; i++){ cursor->insertText( tr(" "));}// äîáàâëÿåì ïðîáåëû |
1170 | cursor->insertText(className, charFormatItalic); |
1208 | cursor->insertText(className, charFormatItalic); |
1171 | cursor->setCharFormat(charFormatBase); |
1209 | cursor->setCharFormat(charFormatBase); |
Строка 1300... | Строка 1338... | ||
1300 | QString fname = value_tmp; |
1338 | QString fname = value_tmp; |
1301 | fname.append(tr(".png")); |
1339 | fname.append(tr(".png")); |
1302 | 1340 | ||
1303 | 1341 | ||
1304 | pix.toImage().save(fname); |
1342 | pix.toImage().save(fname); |
1305 | doc.addResource(QTextDocument::ImageResource, QUrl(fname), pix.toImage()); |
1343 | doc->addResource(QTextDocument::ImageResource, QUrl(fname), pix.toImage()); |
1306 | 1344 | ||
1307 | // for(int i=0; i<pos; i++){ cursor->insertText( tr(" "));}// äîáàâëÿåì ïðîáåëû
|
1345 | // for(int i=0; i<pos; i++){ cursor->insertText( tr(" "));}// äîáàâëÿåì ïðîáåëû
|
1308 | 1346 | ||
1309 | 1347 | ||
1310 | for(int i=0; i<pos+1; i++){ cursor->insertText( tr(" "));}// äîáàâëÿåì ïðîáåëû |
1348 | for(int i=0; i<pos+1; i++){ cursor->insertText( tr(" "));}// äîáàâëÿåì ïðîáåëû |
Строка 1453... | Строка 1491... | ||
1453 | 1491 | ||
1454 | 1492 | ||
1455 | 1493 | ||
1456 | 1494 | ||
1457 | 1495 | ||
- | 1496 | // for(int i=0; i<pos+1; i++){ cursor->insertText( tr(" "));}// äîáàâëÿåì ïðîáåëû
|
|
- | 1497 | tableFormat.setAlignment(Qt::AlignLeft); |
|
- | 1498 | tableFormat.setBackground(QColor("#e0e0e0")); |
|
- | 1499 | // tableFormat.setCellPadding(2);
|
|
- | 1500 | // tableFormat.setCellSpacing(4);
|
|
- | 1501 | tableFormat.setLeftMargin(pos*7); |
|
- | 1502 | tableFormat.setBorder(1); |
|
- | 1503 | tableFormat.setBorderStyle( QTextFrameFormat::BorderStyle_Solid); |
|
1458 | 1504 | ||
1459 | QTextTable *table = cursor->insertTable(fieldsValues.count(), 2);// ñîçäàäèì òàáëèöó äëÿ ïîëåé êëàññà, êðîìå ïåðâûõ äâóõ (ID è íàçâàíèå îáúåêòà) |
1505 | QTextTable *table = cursor->insertTable(fieldsValues.count(), 2, tableFormat);// ñîçäàäèì òàáëèöó äëÿ ïîëåé êëàññà, êðîìå ïåðâûõ äâóõ (ID è íàçâàíèå îáúåêòà) |
- | 1506 | // table->setFormat(tableFormat);
|
|
- | 1507 | ||
- | 1508 | ||
1460 | for(int i=0; i < fieldsValues.count(); i++){ // ïðîïóñòèì ïîëÿ: ID è ïîëå, ñîäåðæàùåå èìÿ îáúåêòà (îíî è òàê óæå îòîáðàæåíî) |
1509 | for(int i=0; i < fieldsValues.count(); i++){ // ïðîïóñòèì ïîëÿ: ID è ïîëå, ñîäåðæàùåå èìÿ îáúåêòà (îíî è òàê óæå îòîáðàæåíî) |
1461 | QStringList keys_list = fieldsValues.keys(); |
1510 | QStringList keys_list = fieldsValues.keys(); |
1462 | QStringList values_list = fieldsValues.values(); |
1511 | QStringList values_list = fieldsValues.values(); |
1463 | *cursor = table->cellAt(i,0).firstCursorPosition();// ñòðîêà i-òàÿ, ñòîëáåö ïåðâûé |
1512 | *cursor = table->cellAt(i,0).firstCursorPosition();// ñòðîêà i-òàÿ, ñòîëáåö ïåðâûé |
1464 | cursor->insertText(keys_list.at(i));//ñþäà çàíîñèì èìÿ ïîëÿ |
1513 | cursor->insertText(keys_list.at(i), charFormatItalicOnly);//ñþäà çàíîñèì èìÿ ïîëÿ |
1465 | *cursor = table->cellAt(i,1).firstCursorPosition();// ñòðîêà i-òàÿ, ñòîëáåö âòîðîé |
1514 | *cursor = table->cellAt(i,1).firstCursorPosition();// ñòðîêà i-òàÿ, ñòîëáåö âòîðîé |
1466 | cursor->insertText(values_list.at(i));//ñþäà çàíîñèì èìÿ ïîëÿ |
1515 | cursor->insertText(values_list.at(i));//ñþäà çàíîñèì èìÿ ïîëÿ |
1467 | }
|
1516 | }
|
1468 | 1517 | ||
- | 1518 | // table->setFormat(tableFormat);
|
|
1469 | cursor->movePosition(QTextCursor::End);//âûõîäèì èç òàáëèöû |
1519 | cursor->movePosition(QTextCursor::End);//âûõîäèì èç òàáëèöû |
1470 | cursor->insertText( tr("\n")); |
1520 | cursor->insertText( tr("\n")); |
1471 | 1521 | ||
1472 | 1522 | ||
1473 | 1523 | ||
1474 | /******************************
|
1524 | /******************************
|
Строка 1552... | Строка 1602... | ||
1552 | 1602 | ||
1553 | // // // // showObjects(itm, model_item_tmp, filtr_tmp);
|
1603 | // // // // showObjects(itm, model_item_tmp, filtr_tmp);
|
1554 | //MainWindow::showObjectChildrens(ID_tmp, itm, model_item_tmp);
|
1604 | //MainWindow::showObjectChildrens(ID_tmp, itm, model_item_tmp);
|
1555 | 1605 | ||
1556 | }
|
1606 | }
|
1557 | if(pos==2) newPage(); // åñëè ýòî êîðíåâîé êëàññ, âñòàâèì ðàçäåë ñòðàíèöû |
1607 | // if(pos==2) newPage(); // åñëè ýòî êîðíåâîé êëàññ, âñòàâèì ðàçäåë ñòðàíèöû
|
1558 | 1608 | ||
1559 | }
|
1609 | }
|
1560 | 1610 | ||
1561 | }
|
1611 | }
|
1562 | 1612 |