Subversion Repositories OpenInventory

Compare Revisions

Ignore whitespace Rev 229 → Rev 230

/trunk/DBViewer/mainwindow.cpp
1037,7 → 1037,7
 
 
}
(bool)QTextDocumentWriter("test.odt").write(&doc);
(bool)QTextDocumentWriter("raport.odt").write(&doc);
}
 
 
1104,6 → 1104,7
 
///// showObjects(item_tmp, model_item->child(0), tr(""));
printChild(model_item->child(0), tr(""), advanced, 1);
 
}
 
 
1129,11 → 1130,12
QTreeWidgetItem * title_item;
QFont font;
QIcon icon;
QMap<QString, QString> fieldsTypesList;//çäåñü â êà÷åñòâå êëþ÷å áóäåì õðàíèòü èìåíà ïîëåé, çíà÷åíèÿìè áóäóò èõ òèïû
//QList<TField> FieldsList; //ñïèñîê ïîëåé êëàññà
 
 
 
 
 
font.setBold(true);
filtr_empty = filtr.isEmpty();
 
1216,15 → 1218,31
 
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)
{
1307,13 → 1325,58
 
 
 
// 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"));
}
 
 
1360,8 → 1423,8
//MainWindow::showObjectChildrens(ID_tmp, itm, model_item_tmp);
 
}
if(pos==2) newPage(); // åñëè ýòî êîðíåâîé êëàññ, âñòàâèì ðàçäåë ñòðàíèöû
 
 
}
 
}
1406,3 → 1469,66
 
 
}
 
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;
 
}