18 #include <QTableWidget>
19 #include <QHeaderView>
21 #include <QItemDelegate>
47 DtUiTableWidgetItem() : myOriginalValue(0), myModifiedValue(0), myIsKey(false), myIsReadOnly(false), myOwnsValues(false), myIsPropertyValue(true) {};
56 bool isInt()
const {
return dynamic_cast<const DtRwInt*
>(myOriginalValue) != 0; };
57 bool isReal()
const {
return dynamic_cast<const DtRwReal*
>(myOriginalValue) != 0; };
59 bool isKey()
const {
return myIsKey; };
61 virtual QVariant data(
int role)
const
63 if (role == Qt::BackgroundColorRole)
65 if (flags() & Qt::ItemIsEditable)
67 return QTableWidgetItem::data(role);
71 return QColor(Qt::lightGray);
74 else if (role == Qt::FontRole)
76 QFont f = qvariant_cast<QFont>(QTableWidgetItem::data(Qt::FontRole));
80 if (!myOriginalValue && myModifiedValue)
86 same = (myOriginalValue->name() == myModifiedValue->name());
88 else if (myOriginalValue && myModifiedValue)
90 if (myIsPropertyValue)
105 return QTableWidgetItem::data(role);
108 void setReadOnly(
bool b) {
if (b) setFlags((Qt::ItemFlags)(flags() & ~Qt::ItemIsEditable));
else setFlags((Qt::ItemFlags)(flags() | Qt::ItemIsEditable)); };
127 virtual QWidget *createEditor(
QWidget *parent,
const QStyleOptionViewItem &option,
128 const QModelIndex &index)
const;
147 virtual void paintEvent(QPaintEvent *);
175 virtual void columnHeadersFrom(
const DtPropertyInterface* prototype, QStringList& columns)
const;
176 virtual QString columnTitleFor(
const QString&)
const;
177 virtual void fillInAndMapRwItemToTableItems(
int row,
int& colStart,
DtReaderWriter*);
181 virtual void flatten(
const DtReaderWriter* prototype, std::vector<const DtReaderWriter*>& list)
const;
185 virtual void updateEnableStatus();
187 virtual QStringList convertToTitles(
const QStringList& cols)
const;
191 virtual void addRow();
192 virtual void removeRow();
193 virtual void itemSelectionChanged();
194 virtual void valueComboChanged();