18 #include <QTableWidget>
19 #include <QHeaderView>
21 #include <QItemDelegate>
47 DtUiTableWidgetItem() : myOriginalValue(0), myModifiedValue(0), myIsKey(false), myIsReadOnly(false), myOwnsValues(false) {};
55 bool isInt()
const {
return dynamic_cast<const DtRwInt*
>(myOriginalValue) != 0; };
56 bool isReal()
const {
return dynamic_cast<const DtRwReal*
>(myOriginalValue) != 0; };
58 bool isKey()
const {
return myIsKey; };
60 virtual QVariant data(
int role)
const
62 if (role == Qt::BackgroundColorRole)
64 if (flags() & Qt::ItemIsEditable)
66 return QTableWidgetItem::data(role);
73 else if (role == Qt::FontRole)
75 QFont f = qvariant_cast<QFont>(QTableWidgetItem::data(Qt::FontRole));
79 if (!myOriginalValue && myModifiedValue)
85 same = (myOriginalValue->name() == myModifiedValue->name());
87 else if (myOriginalValue && myModifiedValue)
97 return QTableWidgetItem::data(role);
100 void setReadOnly(
bool b) {
if (b) setFlags((Qt::ItemFlags)(flags() & ~Qt::ItemIsEditable));
else setFlags((Qt::ItemFlags)(flags() | Qt::ItemIsEditable)); };
118 virtual QWidget *createEditor(
QWidget *parent,
const QStyleOptionViewItem &option,
119 const QModelIndex &index)
const;
138 virtual void paintEvent(QPaintEvent *);
166 virtual void columnHeadersFrom(
const DtPropertyInterface* prototype, QStringList& columns)
const;
167 virtual QString columnTitleFor(
const QString&)
const;
168 virtual void fillInAndMapRwItemToTableItems(
int row,
int& colStart,
DtReaderWriter*);
172 virtual void flatten(
const DtReaderWriter* prototype, std::vector<const DtReaderWriter*>& list)
const;
176 virtual void updateEnableStatus();
178 virtual QStringList convertToTitles(
const QStringList& cols)
const;
182 virtual void addRow();
183 virtual void removeRow();
184 virtual void itemSelectionChanged();
185 virtual void valueComboChanged();