Subversion Repositories OpenInventory

Rev

Rev 231 | Rev 235 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 231 Rev 233
Line 14... Line 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;
Line 117... Line 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()
Line 753... Line 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
Line 880... Line 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
        }
Line 1019... Line 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
Line 1035... Line 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
Line 1064... Line 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
Line 1089... Line 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;
Line 1126... Line 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);
Line 1156... Line 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);
Line 1300... Line 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(" "));}// äîáàâëÿåì ïðîáåëû
Line 1453... Line 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
/******************************
Line 1552... Line 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