Хранилища Subversion OpenInventory

Сравнить редакции

Не учитывать пробелы Редакция 173 → Редакция 174

/trunk/DBViewer/mainwindow.cpp
24,6 → 24,10
out << MainWindow::modelString;
file_tmp.close();
*/
 
 
 
 
ui->treeWidget->setAlternatingRowColors(true);
ui->treeWidget_2->setAlternatingRowColors(true);
 
32,6 → 36,8
 
MainWindow::openDataBase();
 
classesIcons = MainWindow::getClassesIcons(); // ïîëó÷èì èêîíêè äëÿ êëàññîâ
 
MainWindow::initComboBox();
 
// MainWindow::buildPreviewModel(tr("Ìîÿ ìîäåëü"), tr("11"));
186,12 → 192,22
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,6 → 128,9
// â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
 
 
QMap <QString, QPixmap> getClassesIcons(); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ êëàññîâ
// â êà÷åñòâå êëþ÷à ïîëó÷èì ID êëàññà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê
 
QStringList getDataFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "Äàòà"
 
 
141,12 → 144,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 );
/trunk/DBViewer/database.cpp
1016,3 → 1016,55
}
 
}
 
 
 
 
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;
 
 
}