Хранилища Subversion OpenInventory

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

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

/trunk/DBViewer/mainwindow.h
20,7 → 20,6
#include <QtSql>
#include <QFont>
#include <QColor>
#include <QItemDelegate>
 
 
/*
108,8 → 107,8
QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé
// â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
SpinBoxDelegate spinDelegate;
QItemDelegate standart_delegate;
 
 
private slots:
void on_comboBox_currentIndexChanged( int index );
void on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column );
/trunk/DBViewer/database.cpp
468,47 → 468,27
QMap <QString, QString> pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé
QMap <int, QString> pointersToModel;
 
QStringList pointersNames;
static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè
 
// Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
 
 
 
ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
 
}
 
colomns_indexes.clear(); // î÷èùàåñ ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè
 
 
pointersNames = pointersList.keys(); //çäåñü ñïèñîê èìåí ïîëåé-óêàçàòåëåé íà ðîäèòåëüñêèå êëàññû
 
 
 
 
 
QStringList pointersNames = pointersList.keys(); //çäåñü ñïèñîê èìåí ïîëåé-óêàçàòåëåé íà ðîäèòåëüñêèå êëàññû
QStringList parentInctancesList = pointersList.values(); // çäåñü ñïèñîê ñîîòâåòñòâóþùèõ õðàíèëèù
 
for (i=0; i < pointersNames.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
for (i=0; i < pointersNames.size(); i++){
QString pointerName;
 
int pointerIndex;
pointerName = pointersNames.at(i); // îïðåäåëÿåì èìÿ ïîëÿ-óêàçàòåëÿ
pointerIndex = sql_mogel->record().indexOf(pointerName); // îïðåäåëÿåì íîìåð ñòîëáöà â ìîäåëå
colomns_indexes.append(pointerIndex); // çàïîìíèì íîìåð ñòîëáöà ñ íåñòàíäàðòíûì äåëåãàòîì
spinDelegate.setInctance(parentInctancesList.at(i)); // äåëåãàòó ïåðåäàåì èìÿ õðàíèëèùà îáúåêòîâ ðîäèòåëüñêîãî êëàññà
spinDelegate.getItems(); // ïðîñèì äåëåãàòà ñîñòàâèòü ñïèñîê îáúåêòîâ â õðàíèëèùå
ui->tableView->setItemDelegateForColumn(pointerIndex, &spinDelegate); // è ïðèñâàèâàåì åãî ñîîòâåòñòâóþùåìó ñòîëáöó íàøåé òàáëèöû
pointerName = pointersNames.at(i);
pointerIndex = sql_mogel->record().indexOf(pointerName);
 
spinDelegate.setInctance(parentInctancesList.at(i));
spinDelegate.getItems();
ui->tableView->setItemDelegateForColumn(pointerIndex, &spinDelegate);
 
pointersToModel.insert(pointerIndex, parentInctancesList.at(i)); // ôîðìèðóåì ñïèñîê ñòîëáöîâ ñ óêàçàòåëÿìè
 
pointersToModel.insert(pointerIndex, parentInctancesList.at(i));
}
 
sql_mogel->setPointers(pointersToModel); // ïåðåäàåì ñïèñîê ìîäåëè
sql_mogel->setPointers(pointersToModel);
 
pointer_index = sql_mogel->record().indexOf(pointer_name); // ýòî ãëîáàëüíàÿ ïåðåìåííàÿ, íå òðîãàåì, íóæíà! :-)
pointer_index = sql_mogel->record().indexOf(pointer_name);
 
ui->tableView->setModel(sql_mogel);