11 #if !defined(Q_MOC_RUN)
20 #include <QTableWidget>
21 #include <QHeaderView>
23 #include <QItemDelegate>
51 DtUiTableWidgetItem() : myOriginalValue(0), myModifiedValue(0), myIsKey(false), myIsReadOnly(false), myOwnsValues(false), myIsPropertyValue(true) {};
60 bool isInt()
const {
return dynamic_cast<const DtRwInt*
>(myOriginalValue) != 0; };
61 bool isReal()
const {
return dynamic_cast<const DtRwReal*
>(myOriginalValue) != 0; };
63 bool isKey()
const {
return myIsKey; };
65 virtual QVariant
data(
int role)
const
67 if (role == Qt::BackgroundColorRole)
69 if (flags() & Qt::ItemIsEditable)
71 return QTableWidgetItem::data(role);
75 return QColor(Qt::lightGray);
78 else if (role == Qt::FontRole)
80 QFont f = qvariant_cast<QFont>(QTableWidgetItem::data(Qt::FontRole));
84 if (!myOriginalValue && myModifiedValue)
90 same = (myOriginalValue->name() == myModifiedValue->name());
92 else if (myOriginalValue && myModifiedValue)
94 if (myIsPropertyValue)
109 return QTableWidgetItem::data(role);
112 void setReadOnly(
bool b) {
if (b) setFlags((Qt::ItemFlags)(flags() & ~Qt::ItemIsEditable));
else setFlags((Qt::ItemFlags)(flags() | Qt::ItemIsEditable)); };
131 virtual QWidget *createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
132 const QModelIndex &index)
const;
151 virtual void paintEvent(QPaintEvent *);
179 virtual void columnHeadersFrom(
const DtPropertyInterface* prototype, QStringList& columns)
const;
180 virtual QString columnTitleFor(
const QString&)
const;
181 virtual void fillInAndMapRwItemToTableItems(
int row,
int& colStart,
DtReaderWriter*);
185 virtual void flatten(
const DtReaderWriter* prototype, std::vector<const DtReaderWriter*>& list)
const;
189 virtual void updateEnableStatus();
191 virtual QStringList convertToTitles(
const QStringList& cols)
const;
193 virtual bool canHavePrimary()
const;
195 virtual void addPrimaryCheckBox(
int row,
int col);
197 virtual DtString currentPrimary()
const;
198 virtual DtString keyFor(
int col)
const;
199 virtual void updatePrimaryData();
200 virtual void setCurrentPrimary(
const DtString&,
bool,
bool updateData =
true);
202 virtual void clearPrimaryData();
203 virtual void setPrimaryDataFrom(
int);
204 virtual QCheckBox* primaryCheckBox(
int)
const;
206 virtual void setEquipmentAvailable(
const DtString&,
bool);
210 virtual void fixRowTitle(
int row = - 1);
212 virtual QString getContainedName(
const QString& =
"")
const;
216 virtual void updateAddButton();
218 virtual void removeRow(
int);
223 virtual void addRow();
224 virtual void removeRow();
225 virtual void itemSelectionChanged();
226 virtual void valueComboChanged();
227 virtual void primaryChanged();
228 virtual void addNewContainerItem();
229 virtual void editContainerItem();
230 virtual void removeContainerItem();
231 virtual void containedItemSelected();
bool myRowsAsColumns
Definition: uiPropertiesTable.h:272
Definition: uiPropertiesTable.h:157
virtual void createControls(QWidget *parent)
If additional widgets or connections need to be made do it here. The parent is the myWidget member...
QHBoxLayout * myButtonLayout
Definition: uiPropertiesTable.h:238
virtual void setFromParameters(DtReaderWriter *parentRw)
Calls setFromParameters with std::vector of parameter.
QComboBox * myContainedItems
Definition: uiPropertiesTable.h:264
virtual void processUiEvent(const DtUiElementEvent &)
Process ui event. Default does nothing.
Definition: uiElement.h:223
TableWidgetItemMap myTableWidgetItemMap
Definition: uiPropertiesTable.h:270
Definition: readerWriter.h:85
boost::function< DtUiElement *(makVrv::DtDe &)> CreatorFunction
Definition: uiElement.h:177
QLabel * myMapLabel
Definition: uiPropertiesTable.h:266
QWidget * myContainerCanvas
Currently only designed for a single map containing a single map, nothing fancy like a map possibly c...
Definition: uiPropertiesTable.h:258
virtual void elementChanged()
virtual void decorateElement()
Sets element decoration depending on the isModified state of the element.
Interface class used to define minimal interface for a property.
Definition: propertyInterface.h:48
DtRwPropertiesList * myPropertyTable
Definition: uiPropertiesTable.h:271
bool myInitializing
Definition: uiPropertiesTable.h:239
static DtReaderWriterFactory * factory()
QHBoxLayout * myContainerLayout
Definition: uiPropertiesTable.h:263
DtUiPropertiesTableWidget * myTableWidget
Definition: uiPropertiesTable.h:234
QPushButton * myEditContainer
Definition: uiPropertiesTable.h:261
Description: Readable, Writable int.
Definition: rwInt.h:25
QLabel * myContainerLabel
Definition: uiPropertiesTable.h:262
bool myIsMultiMap
Definition: uiPropertiesTable.h:273
QVBoxLayout * myLayout
Definition: uiPropertiesTable.h:237
QString myContainedLabel
Definition: uiPropertiesTable.h:265
Acts as a map for properties.
Definition: rwPropertiesMap.h:41
DtPropertyInterface * myPrototype
Definition: uiPropertiesTable.h:274
QPushButton * myAddContainer
Definition: uiPropertiesTable.h:259
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
std::map< DtUiTableWidgetItem *, DtReaderWriter * > TableWidgetItemMap
Definition: uiPropertiesTable.h:269
virtual void setEnabled(bool)
If this item is not enabled it cannot be modified.
QPushButton * myRemoveContainer
Definition: uiPropertiesTable.h:260
QPushButton * myAdd
Definition: uiPropertiesTable.h:235
Acts as a DtRwList for properties.
Definition: rwPropertiesList.h:38
DtRwPropertiesList * myModifiedVariable
Definition: uiPropertiesTable.h:275
The DtUiElement class is the base for which all UI elements are defined.
Definition: uiElement.h:95
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QPushButton * myRemove
Definition: uiPropertiesTable.h:236
DtReaderWriter * mySelectedVariable
Definition: uiPropertiesTable.h:276
virtual bool compareReaderWriter(const DtReaderWriter *sourceRw, const DtReaderWriter *destRw) const
Uses the operator== method on the RW objects to check for equality.
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:32
Base class of the ui element class chain.
Definition: uiElement.h:172
static DtReaderWriterPropertyFactory * propertyFactory()
Returns the factory used to create properties. Types are by RW types.