21 #include <QtCore/QObject>
22 #include <QtCore/QVariant>
23 #include <boost/function.hpp>
24 #include <boost/bind.hpp>
95 DtUiElementTypeUnknown = 0,
96 DtUiElementItemExpand = 1,
97 DtUiElementItemCollapse = 2,
98 DtUiElementHierarchySelectionChanged = 3,
99 DtUiElementAddedToHierarchy = 5,
100 DtUiElementRemovedFromHierarchy = 6,
101 DtUiElementMovedInHierarchy = 7,
102 DtUiElementReplacedInHierarchy = 8,
103 DtUiElementForceChanged = 9,
104 DtUiElementPositionModified = 12,
105 DtUiElementPositionDestroyed = 13,
106 DtUiBoundingVolumeModified = 14,
107 DtUiCanvasInitialized = 15,
108 DtUiCreateController = 19,
110 DtUiElementHierarchyChanged = 21,
111 DtUiEnterEditMode = 22,
112 DtUiLeaveEditMode = 23,
113 DtUiSupportPointsModified = 24,
114 DtUiPreSaveEvent = 25,
115 DtSystemsRemoved = 26,
116 DtUiSuportPointsCalculated = 27,
117 DtUiBoundingVolumeCalculated = 28,
118 DtUiCalculateBoundingVolume = 29,
119 DtUiCalculateSupportPoints = 30,
120 DtUiMarkingChanged = 31,
121 DtUiChangeTrailEffect = 32,
122 DtUiStartSimulation = 33,
123 DtUiSetSpeedPercentage = 34,
124 DtUiSystemParameterDataChanged = 35,
126 DtUiDetonationPowerChanged = 37,
127 DtUiDamageTableChanged = 38,
128 DtUiHitTableChanged = 39,
129 DtUiElementDataChanged = 40,
130 DtUiAmmunitionChanged = 41,
132 DtUiIconListsChanged = 43,
145 void setValue(
const QVariant& val) { myValue = val; };
146 const QVariant&
value()
const {
return myValue; };
181 virtual bool blockSignals(
bool);
186 virtual void init(QWidget* widget, QWidget* label,
const std::vector<DtReaderWriter*>& originalData,
187 const std::vector<DtReaderWriter*>& backupData,
193 virtual DtString displayUnits()
const;
194 virtual void setDisplayUnits(
const DtString& units);
196 virtual void setLabelText(
const QString&);
198 virtual DtString sourceUnits()
const;
199 virtual void setSourceUnits(
const DtString& units);
212 virtual void connectedTo(
QObject*);
222 virtual DtString uniqueName()
const;
225 virtual bool supportsSystems()
const;
228 virtual const DtString& platformType()
const;
231 virtual void setPlatformType(
const DtString&);
234 virtual void setObjectTypes(
const std::vector<DtObjectType>&);
237 virtual void aboutToShow();
239 const std::vector<DtReaderWriter*>&
values()
const {
return myValues; };
240 const std::vector<DtReaderWriter*>&
backupValues()
const {
return myBackupValues; };
244 static void registerUiTypes();
246 static bool hasCreator(
const DtString&);
251 virtual bool isModified()
const;
255 virtual bool isValid()
const;
259 virtual void decorateElement();
266 virtual void setFromParameters(
const std::vector<DtComponentSystemDefinition*>&);
268 virtual void setFromParameters(
const std::vector<DtReaderWriter*>& parentRw);
273 virtual bool restoreFromBackup();
280 const std::vector<DtObjectType>& objectTypes()
const
282 return myObjectTypes;
285 const std::vector<DtComponentSystemDefinition*>& systems()
const
292 virtual bool allValuesTheSame()
const;
294 static QString mixedText();
295 static void setMixedText(
const QString&);
299 virtual bool isMixedValue()
const;
302 virtual void setEnabled(
bool);
303 virtual bool enabled()
const;
305 virtual void setControllingCheckBox(
QCheckBox*);
308 return myControllingCheckBox;
312 virtual void toggleDisplayed(
bool display);
315 virtual void elementChanged();
320 virtual void enableIfChecked();
325 virtual void disableIfChecked();
333 virtual double sourceToDisplayUnits(
double)
const;
334 virtual double displayToSourceUnits(
double)
const;
336 virtual QString units()
const;
339 virtual void updateLabelTitle();
342 virtual QString labelTitle()
const;
345 virtual void createControls(QWidget* parent);