/trunk/DBViewer/database.cpp |
---|
1016,55 → 1016,3 |
} |
} |
QMap <QString, QPixmap> MainWindow::getClassesIcons(){ // ïîëó÷àåì ñïèñîê èêîíîê äëÿ êëàññîâ |
// â êà÷åñòâå êëþ÷à ïîëó÷èì ID êëàññà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê |
QMap <QString, QPixmap> result_map; |
QSqlQuery q; |
QString sql_str; |
QString str_tmp; |
QString field; |
QString result; |
int field_id, field_icon; |
bool ok; |
sql_str = tr("select * " |
" from `ListOfClasses` " //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà |
); |
q.prepare(sql_str); |
ok = q.exec(); |
if (!ok) { |
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
this, // Ðîäèòåëüñêèé âèäæåò. |
QObject::tr("Database Error"), // Çàãîëîâîê. |
q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
return result_map; |
} |
field_id = q.record().indexOf(tr("ID")); |
field_icon = q.record().indexOf(tr("Icon")); |
while(q.next()){ |
QString classID; |
QByteArray loadimage = q.value(field_icon).toByteArray(); |
classID = q.value(field_id).toString(); |
if( !loadimage.isEmpty() ) |
{ |
QPixmap pixmap; |
pixmap.loadFromData(loadimage); |
result_map.insert(classID, pixmap); |
} |
else continue; |
} |
return result_map; |
} |
/trunk/DBViewer/mainwindow.cpp |
---|
24,10 → 24,6 |
out << MainWindow::modelString; |
file_tmp.close(); |
*/ |
ui->treeWidget->setAlternatingRowColors(true); |
ui->treeWidget_2->setAlternatingRowColors(true); |
36,8 → 32,6 |
MainWindow::openDataBase(); |
classesIcons = MainWindow::getClassesIcons(); // ïîëó÷èì èêîíêè äëÿ êëàññîâ |
MainWindow::initComboBox(); |
// MainWindow::buildPreviewModel(tr("Ìîÿ ìîäåëü"), tr("11")); |
192,22 → 186,12 |
if (columnData.count()>2) |
{ |
QString class_id; |
QPixmap pxmp; |
QIcon icon; |
class_id = QString(columnData.at(2).toString()); |
pxmp = MainWindow::classesIcons.value(class_id); |
// itm_tmp->setText(1, QString(columnData.at(2).toString())); // id êëàññà |
itm_tmp->setText(1, class_id); // id êëàññà |
itm_tmp->setText(2, QVariant(number).toString()); // íîìåð ñòðîêè â ôàéëå-ìîäåëè îòîáðàæåíèÿ |
itm_tmp->setText(3, QVariant(indentations.size()).toString()); // óðîâåíü âëîæåíèÿ |
itm_tmp->setText(4, QVariant(row).toString()); // íîìåð ñòðîêè â ôàéëå |
if (!pxmp.isNull()) |
{ |
icon.addPixmap(pxmp); |
itm_tmp->setIcon(0, icon); |
} |
} |
} |
/trunk/DBViewer/mainwindow.h |
---|
128,9 → 128,6 |
// â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ |
QMap <QString, QPixmap> getClassesIcons(); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ êëàññîâ |
// â êà÷åñòâå êëþ÷à ïîëó÷èì ID êëàññà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê |
QStringList getDataFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "Äàòà" |
144,12 → 141,12 |
bool comboBox_slot_enable; // äëÿ áëîêèðîâêè ñëîòà, êîãäà ìåíÿåì item_index èç ïðîãðàììû, à íå âðó÷íóþ |
QList <int> boolFieldsIndexes_global; // ñïèñîê íîìåðîâ ñòîëáöîâ ñ òèïîì "BOOL" |
QMap <QString, QPixmap> classesIcons; |
private slots: |
void on_comboBox_currentIndexChanged( int index ); |
void on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column ); |