11 #if !defined(Q_MOC_RUN)
23 #include <QtCore/QObject>
24 #include <QtCore/QVariant>
25 #include <boost/function.hpp>
26 #include <boost/bind.hpp>
102 DtUiElementTypeUnknown = 0,
103 DtUiElementItemExpand = 1,
104 DtUiElementItemCollapse = 2,
105 DtUiElementHierarchySelectionChanged = 3,
106 DtUiElementAddedToHierarchy = 5,
107 DtUiElementRemovedFromHierarchy = 6,
108 DtUiElementMovedInHierarchy = 7,
109 DtUiElementReplacedInHierarchy = 8,
110 DtUiElementForceChanged = 9,
111 DtUiElementPositionModified = 12,
112 DtUiElementPositionDestroyed = 13,
113 DtUiBoundingVolumeModified = 14,
114 DtUiCanvasInitialized = 15,
115 DtUiCreateController = 19,
117 DtUiElementHierarchyChanged = 21,
118 DtUiEnterEditMode = 22,
119 DtUiLeaveEditMode = 23,
120 DtUiSupportPointsModified = 24,
121 DtUiPreSaveEvent = 25,
122 DtSystemsRemoved = 26,
123 DtUiSuportPointsCalculated = 27,
124 DtUiBoundingVolumeCalculated = 28,
125 DtUiCalculateBoundingVolume = 29,
126 DtUiCalculateSupportPoints = 30,
127 DtUiMarkingChanged = 31,
128 DtUiChangeTrailEffect = 32,
129 DtUiStartSimulation = 33,
130 DtUiSetSpeedPercentage = 34,
131 DtUiSystemParameterDataChanged = 35,
133 DtUiDetonationPowerChanged = 37,
134 DtUiDamageTableChanged = 38,
135 DtUiHitTableChanged = 39,
136 DtUiElementDataChanged = 40,
137 DtUiAmmunitionChanged = 41,
139 DtUiIconListsChanged = 43,
140 DtUiSystemEvent = 44,
141 DtArtPartUpdated = 45,
142 DtArtPartAssociated = 46,
144 DtUiAppearanceModified = 48,
145 DtUiAnimateArtPart = 49,
158 void setValue(
const QVariant& val) { myValue = val; };
159 const QVariant&
value()
const {
return myValue; };
200 virtual bool blockSignals(
bool);
205 virtual void init(QWidget* widget, QWidget* label,
const std::vector<DtReaderWriter*>& originalData,
206 const std::vector<DtReaderWriter*>& backupData,
212 virtual DtString displayUnits()
const;
213 virtual void setDisplayUnits(
const DtString& units);
215 virtual void setLabelText(
const QString&);
217 virtual DtString sourceUnits()
const;
218 virtual void setSourceUnits(
const DtString& units);
231 virtual void connectedTo(
QObject*);
241 virtual DtString uniqueName()
const;
244 virtual bool supportsSystems()
const;
247 virtual const DtString& platformType()
const;
250 virtual void setPlatformType(
const DtString&);
253 virtual void setObjectTypes(
const std::vector<DtObjectType>&);
256 virtual void aboutToShow();
258 const std::vector<DtReaderWriter*>&
values()
const {
return myValues; };
259 const std::vector<DtReaderWriter*>&
backupValues()
const {
return myBackupValues; };
263 static void registerUiTypes();
265 static bool hasCreator(
const DtString&);
270 virtual bool isModified()
const;
274 virtual bool isValid()
const;
278 virtual void decorateElement();
285 virtual void setFromParameters(
const std::vector<DtComponentSystemDefinition*>&);
287 virtual void setFromParameters(
const std::vector<DtReaderWriter*>& parentRw);
292 virtual bool restoreFromBackup();
295 QHBoxLayout* findLayoutThatHas(QWidget* w, QBoxLayout* layout);
299 QBoxLayout* findUsableLayoutFor(QWidget* w);
308 return myObjectTypes;
311 const std::vector<DtComponentSystemDefinition*>&
systems()
const
318 virtual bool allValuesTheSame()
const;
320 static QString mixedText();
321 static void setMixedText(
const QString&);
325 virtual bool isMixedValue()
const;
328 virtual void setEnabled(
bool);
329 virtual bool enabled()
const;
331 virtual void setControllingCheckBox(
QCheckBox*);
334 return myControllingCheckBox;
338 virtual void populateParentValues(std::string elementName);
341 virtual void toggleDisplayed(
bool display);
344 virtual void elementChanged();
349 virtual void enableIfChecked();
354 virtual void disableIfChecked();
362 virtual double sourceToDisplayUnits(
double)
const;
363 virtual double displayToSourceUnits(
double)
const;
365 virtual QString units()
const;
368 virtual void updateLabelTitle();
371 virtual QString labelTitle()
const;
374 virtual void createControls(QWidget* parent);
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
DtReaderWriter * myParentValue
Definition: uiElement.h:391
const std::vector< DtReaderWriter * > & backupValues() const
Definition: uiElement.h:259
QVariant myValue
Definition: uiElement.h:169
QWidget * myLabel
Definition: uiElement.h:378
DtUnit mySource
Definition: uiElement.h:395
const std::vector< DtObjectType > & objectTypes() const
Definition: uiElement.h:306
bool operator==(const DtUiElementEvent &rhs) const
Definition: uiElement.h:160
bool myIsNew
Definition: uiElement.h:393
const QVariant & value() const
Definition: uiElement.h:159
Definition: readerWriterRegistryData.h:25
DtUiElementEventTypes
Definition: uiElement.h:100
DtElementChangedCallbackFcn myElementChangedCallbackFunction
Definition: uiElement.h:394
int myUniqueId
Definition: uiElement.h:408
static UiElementFactoryMap & elementFactory()
Definition: uiElement.h:301
virtual void processUiEvent(const DtUiElementEvent &)
Process ui event. Default does nothing.
Definition: uiElement.h:234
Definition: uiForParameter.h:27
Definition: readerWriter.h:85
DtString mySourceUnits
Definition: uiElement.h:384
QCheckBox * controllingCheckBox()
Definition: uiElement.h:332
boost::function< DtUiElement *(makVrv::DtDe &)> CreatorFunction
Definition: uiElement.h:188
DtUiElementEvent(const DtUiElementEvent &orig)
Definition: uiElement.h:151
Definition: unitConversions.h:314
QCheckBox * myControllingCheckBox
Definition: uiElement.h:409
DtUiElementEventTypes myType
Definition: uiElement.h:170
DtUiElement * myOwner
Definition: uiElement.h:165
Definition: objectType.h:27
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
QWidget * myWidget
Definition: uiElement.h:377
Definition: modelSetEntry.h:34
std::map< std::string, CreatorFunction > UiElementFactoryMap
Definition: uiElement.h:189
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
boost::function< void(DtUiElement *)> DtElementChangedCallbackFcn
Definition: uiElement.h:43
virtual void objectParametersModified()
This method is called any time that any of the parameters for the object are modified. It is not called for the UI element that caused the modification itself, to avoid infinite loops. Default implementation does nothing.
Definition: uiElement.h:228
const std::vector< DtComponentSystemDefinition * > & systems() const
Definition: uiElement.h:311
const DtComponentSystemDefinition * mySystemDefinition
Definition: uiElement.h:403
std::vector< DtObjectType > myObjectTypes
Definition: uiElement.h:400
DtString myPlatformType
Definition: uiElement.h:399
bool operator!=(const DtUiElementEvent &rhs) const
Definition: uiElement.h:165
Base class for RW objects that describe a system parameter. This data is used by the entity editor to...
Definition: systemParameterData.h:30
DtUiElementEvent & operator=(const DtUiElementEvent &rhs)
Definition: uiElement.h:153
DtUiElementEventTypes type() const
Definition: uiElement.h:156
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtUnit myDestination
Definition: uiElement.h:396
std::vector< DtReaderWriter * > myValues
Assumes 1 - 1 order that original and backup are same index in lists.
Definition: uiElement.h:387
static void theNullFunction(DtUiElement *)
bool myEnabled
Definition: uiElement.h:405
The DtUiElement class is the base for which all UI elements are defined. If you wish to create a new ...
Definition: uiElement.h:97
std::vector< DtComponentSystemDefinition * > mySystems
Definition: uiElement.h:401
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
std::vector< DtReaderWriter * > myBackupValues
Definition: uiElement.h:388
void setType(DtUiElementEventTypes t)
Definition: uiElement.h:157
std::vector< QObject * > myConnectedTo
Definition: uiElement.h:407
static UiElementFactoryMap theFactory
Definition: uiElement.h:381
QToolButton * myRevertToParentButton
Definition: uiElement.h:411
const std::vector< DtReaderWriter * > & values() const
Definition: uiElement.h:258
void setValue(const QVariant &val)
Definition: uiElement.h:158
DtUiElement * owner() const
Definition: uiElement.h:155
DtUiElementEvent(DtUiElement *owner=0, DtUiElementEventTypes type=DtUiElementTypeUnknown)
Definition: uiElement.h:150
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
Base class of the ui element class chain. Properties available through designer for all ui elements a...
Definition: uiElement.h:183
DtString myDisplayUnits
Definition: uiElement.h:383
makVrv::DtDe & myDe
Definition: uiElement.h:397