pgLab/pglab/BaseTableModel.cpp

34 lines
737 B
C++
Raw Normal View History

#include "BaseTableModel.h"
#include "ResultTableModelUtil.h"
#include <QBrush>
#include "Pgsql_oids.h"
using namespace Pgsql;
QVariant BaseTableModel::data(const QModelIndex &index, int role) const
{
QVariant v;
Oid oid = getType(index.column());
if (role == Qt::DisplayRole) {
v = getData(index);
if (oid == bool_oid) {
v = FormatBoolForDisplay(v.toBool());
}
}
else if (role == Qt::TextAlignmentRole) {
2018-01-15 13:32:18 +01:00
v = (int)GetDefaultAlignmentForType(oid);
}
else if (role == Qt::ForegroundRole) {
if (oid == bool_oid) {
QVariant d = getData(index);
if (d.type() == QVariant::Bool) {
v = QBrush(GetDefaultBoolColor(d.toBool()));
}
}
else {
v = QBrush(GetDefaultColorForType(oid));
}
}
return v;
}