1037,7 → 1037,7 |
|
|
} |
(bool)QTextDocumentWriter("raport.odt").write(&doc); |
(bool)QTextDocumentWriter("test.odt").write(&doc); |
} |
|
|
1104,7 → 1104,6 |
|
///// showObjects(item_tmp, model_item->child(0), tr("")); |
printChild(model_item->child(0), tr(""), advanced, 1); |
|
} |
|
|
1130,12 → 1129,11 |
QTreeWidgetItem * title_item; |
QFont font; |
QIcon icon; |
QMap<QString, QString> fieldsTypesList;//çäåñü â êà÷åñòâå êëþ÷å áóäåì õðàíèòü èìåíà ïîëåé, çíà÷åíèÿìè áóäóò èõ òèïû |
//QList<TField> FieldsList; //ñïèñîê ïîëåé êëàññà |
|
|
|
|
|
font.setBold(true); |
filtr_empty = filtr.isEmpty(); |
|
1218,31 → 1216,15 |
|
int k=0; |
QStringList fieldsNamesList;// ñïèñîê èì¸í ïîëåé òàáëèöû |
QList<TField> FieldsList; //ñïèñîê ïîëåé êëàññà |
|
FieldsList = getFieldList(classID); // ïîëó÷àåì ñïèñîê ïîëåé |
|
|
if(FieldsList.count()>0){ |
for(int i=0; i < FieldsList.count(); i++){ //ñîñòàâèì ïàðû (èìÿ ïîëÿ-òèï ïîëÿ) |
fieldsTypesList.insert(FieldsList.at(i).FieldName, FieldsList.at(i).FieldType); |
} |
|
// fieldsNamesList = fieldsTypesList.keys(); // ïîëó÷èì ñïèñîê èìåí ïîëåé |
} |
|
// icon_field_index = fieldsNamesList.indexOf(tr("Icon"));//îïðåäåëèì èíäåêñ ïîëÿ ñ èêîíêîé |
|
|
|
while(!q.record().fieldName(k).isEmpty()){// ïîêà íå ïåðåáåð¸ì âñå ïîëÿ |
fieldsNamesList.append(q.record().fieldName(k++)); |
} |
|
|
//icon_field_index = fieldsNamesList.indexOf(tr("Icon"));//îïðåäåëèì èíäåêñ ïîëÿ ñ èêîíêîé |
|
|
while(q.next()){ |
if (q.record().count() > 1) |
{ |
1325,58 → 1307,13 |
|
|
|
// q.first(); |
|
if(advanced){ // åñëè îò÷åò ðàñøèðåííûé |
|
if(advanced && (fieldsNamesList.count()>0)){ // åñëè îò÷åò ðàñøèðåííûé |
|
QString tmp_string; |
sql_str.clear(); |
|
QTextTable *table = cursor->insertTable(fieldsNamesList.count()-2, 2);// ñîçäàäèì òàáëèöó äëÿ ïîëåé êëàññà, êðîìå ïåðâûõ äâóõ (ID è íàçâàíèå îáúåêòà) |
|
// cursor->insertText(tr("Ïðîâåðêà òàáëèöû")); |
|
|
// *cursor = table->cellAt(0,1).firstCursorPosition(); |
// cursor->insertText(tr("Ïðîâåðêà òàáëèöû 2")); |
// *cursor = table->cellAt(1,1).lastCursorPosition(); |
// cursor->insertText(tr("Ïðîâåðêà òàáëèöû 4")); |
|
|
// cursor->movePosition(QTextCursor::End); |
|
|
|
//table->cellAt(1,1).firstCursorPosition().insertText(tr("1")); |
//table->cellAt(1,2).firstCursorPosition().insertText(tr("2")); |
//table->cellAt(2,1).firstCursorPosition().insertText(tr("3")); |
|
//table->cellAt(2,2).firstCursorPosition().insertText(tr("4")); |
// cursor->insertText(tr("1 \t 2")); |
// cursor->insertText(tr("3 \t 4")); |
|
|
for(int i=2; i < fieldsNamesList.count(); i++){ // ïðîïóñòèì ïîëÿ: ID è ïîëå, ñîäåðæàùåå èìÿ îáúåêòà (îíî è òàê óæå îòîáðàæåíî) |
// if (i !=icon_field_index) tmp_string = q.record().value(i).asString(); // åñëè ýòî íå èêîíêà, òî ñ÷èòûâàåì çíà÷åíèå êàê ñòðîêó |
if (i !=icon_field_index) tmp_string = q.record().value(i).asString(); // åñëè ýòî íå èêîíêà, òî ñ÷èòûâàåì çíà÷åíèå êàê ñòðîêó |
|
|
else tmp_string = tr("íåâîçìîæíî îòîáðàçèòü"); |
//// if (i !=icon_field_index) { |
for(int i=0; i<pos+2; i++){ cursor->insertText( tr(" "));}// äîáàâëÿåì ïðîáåëû |
*cursor = table->cellAt(i-2,0).firstCursorPosition();// ñòðîêà i-òàÿ, ñòîëáåö ïåðâûé |
cursor->insertText( fieldsNamesList.at(i));//ñþäà çàíîñèì èìÿ ïîëÿ |
*cursor = table->cellAt(i-2,1).firstCursorPosition();// ñòðîêà i-òàÿ, ñòîëáåö âòîðîé |
//cursor->insertText( tr(":\t")); |
|
cursor->insertText(tmp_string);//ñþäà çíà÷åíèå ïîëÿ |
// cursor->insertText( tr("\n")); |
} |
|
//// } |
cursor->movePosition(QTextCursor::End);//âûõîäèì èç òàáëèöû |
cursor->insertText( tr("\n")); |
} |
|
|
1423,8 → 1360,8 |
//MainWindow::showObjectChildrens(ID_tmp, itm, model_item_tmp); |
|
} |
if(pos==2) newPage(); // åñëè ýòî êîðíåâîé êëàññ, âñòàâèì ðàçäåë ñòðàíèöû |
|
|
} |
|
} |
1469,66 → 1406,3 |
|
|
} |
|
QList<TField> MainWindow::getFieldList(QString class_id){// ïîëó÷àåì ñïèñîê ïîëåé êëàññà |
|
QSqlQuery q; |
QString sql_str; |
QList<TField> result_list; |
|
int field_id, field_name, field_alias, field_type, field_default_value, field_classIdentifer, field_comment; |
|
bool ok; |
sql_str = tr("select * " |
" from `DescriptionOfClasses` where `DescriptionOfClasses`.`ClassIdentifer` = " //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà |
); |
|
sql_str.append(tr("'")); |
sql_str.append(class_id); |
sql_str.append(tr("' ")); |
ok = q.prepare(sql_str); |
|
ok = q.exec(); |
if (!ok) { |
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
this, // Ðîäèòåëüñêèé âèäæåò. |
QObject::tr("Database Error"), // Çàãîëîâîê. |
q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
return result_list; |
} |
|
|
field_id = q.record().indexOf(tr("ID")); |
field_name = q.record().indexOf(tr("FieldName")); |
field_alias = q.record().indexOf(tr("FieldAlias")); |
field_type = q.record().indexOf(tr("FieldType")); |
field_default_value = q.record().indexOf(tr("DefaultValue")); |
field_classIdentifer = q.record().indexOf(tr("ClassIdentifer")); |
field_comment = q.record().indexOf(tr("Comment")); |
|
while(q.next()){ |
|
TField field_tmp; |
field_tmp.ID = q.value(field_id).toString(); |
field_tmp.FieldName = q.value(field_name).toString(); |
field_tmp.FieldAlias = q.value(field_alias).toString(); |
field_tmp.FieldType = q.value(field_type).toString(); |
field_tmp.DefaultValue = q.value(field_default_value).toString(); |
field_tmp.ClassIdentifer = q.value(field_classIdentifer).toString(); |
field_tmp.Comment = q.value(field_comment).toString(); |
result_list << field_tmp; |
|
|
|
|
// parentClassID = q.value(field_default_value).toString(); |
// parentClassInctance = getClassInctance(parentClassID); |
// result_map.insert(pointerFieldName, parentClassInctance); |
|
|
|
} |
|
return result_list; |
|
} |