/trunk/DBViewer/mymodel.h |
---|
18,6 → 18,8 |
void setPointers(QMap <int, QString> newPointers){pointers_map = newPointers;} |
QMap <int, QString> pointers(){return pointers_map;} |
void setBooleansList(QList <int> newBoolList){bolleans_list = newBoolList;} |
void setIconIndex(int new_index){icon_index = new_index;} |
int IconIndex(){return icon_index;} |
private: |
QMap <int, QString> pointers_map; // â ýòîì ñâÿçàííîì ñïèñêå áóäåõ õðàíèòü â êà÷åñòâå êëþ÷à íîìåðÿ ñòîëáöîâ ñ óêàçàòåëÿìè |
24,6 → 26,7 |
// à â êà÷åñòâå çíà÷åíèé - èìåíà òàáëèö - õðàíèëèù îáúåêòîâ ðîäèòåëüñêîãî êëàññà |
QList <int> bolleans_list; // ñïèñîê ïîëåé ñ òèïîì "bool" |
int icon_index; // íîìåð ñòîëáöà, â êîòîðîì õðàíÿòüñÿ èêîíêè |
signals: |
/trunk/DBViewer/mymodel.cpp |
---|
4,6 → 4,7 |
QSqlTableModel(parent) |
{ |
setEditStrategy(QSqlTableModel::OnManualSubmit); |
icon_index = -1; |
} |
Qt::ItemFlags MyModel::flags( |
223,8 → 224,32 |
} |
} |
case Qt::SizeHintRole:return value; |
case Qt::SizeHintRole: |
{ |
int height = value.toSize().height(); |
int widht = value.toSize().width(); |
if(index.column() == icon_index) { |
QVariant currentImage = QSqlTableModel::data(index, 0); |
QByteArray bytes = currentImage.toByteArray(); |
QPixmap pxmp; |
if (currentImage.isValid()) { |
pxmp.loadFromData(bytes); |
if (height < pxmp.height()) height = pxmp.height() +10; |
if (widht < pxmp.width()) widht = pxmp.width() +10; |
return QVariant(QSize(widht, height)); |
} |
else return value; |
} |
return value; |
} |
} |
return value; |
} |