22 : myRangeItems(orig.myRangeItems)
40 myRangeItems.myRangeItems.push_back(i);
45 if ((index > -1) && (index < (
int)myRangeItems.myRangeItems.size()))
47 myRangeItems.myRangeItems.erase(myRangeItems.myRangeItems.begin() + index);
53 myRangeItems.myRangeItems.clear();
70 : DtFrameStateInterface(storage)
91 void setRangeItems(
const DtRangeItems& i);
93 void removeRangeItem(
int index);
94 const DtRangeItems& rangeItems()
const;
95 DtRangeItems& rangeItems();
96 void clearRangeItems();
102 virtual void makeReadOnly() {};
142 void updateDataStorage();
146 myCurrentFrameState.updateStateData(sd);
147 myNextFrameState.updateStateData(sd);
153 myCurrentFrameState.aboutToBeDeleted();
154 myNextFrameState.aboutToBeDeleted();
bool isDoubleBuffered()
Definition: rangeItemsStateComponent.h:137
virtual const DtFrameStateInterface * nextFrameState() const
Definition: rangeItemsStateComponent.h:140
#define UNDEFINED_METHOD(Type, Method,...)
Definition: doubleBufferedDataStorage.h:68
virtual DtFrameStateInterface * nextFrameState()
Definition: rangeItemsStateComponent.h:139
const DtRangeItemsStateComponentData & frameState() const
Current frame state only can access current frame buffers. This ensures thread safety.
Definition: rangeItemsStateComponent.h:115
2) Define the next frame class. This will be used for write access.
Definition: rangeItemsStateComponent.h:82
Definition: stateComponent.h:257
virtual void aboutToBeDeleted() override
Definition: rangeItemsStateComponent.h:150
#define UNDEFINED_MUTATOR(Type, Member, Set)
Definition: doubleBufferedDataStorage.h:44
#define UNDEFINED_RETURNREF_ACCESSORS(ReturnType, Member)
Definition: doubleBufferedDataStorage.h:40
DtRangeItemsStateComponentData & frameState()
Definition: rangeItemsStateComponent.h:89
const DtRangeItemsStateComponentData & frameState() const
Next frame access write access. Ensure this is only used in a single thread (i.e.a controller thread)...
Definition: rangeItemsStateComponent.h:88
void updateStateData(DtStateData *sd)
Implement to update data storage to the new state data.
Definition: rangeItemsStateComponent.h:144
DtRangeItemsStateComponentCurrentFrame myCurrentFrameState
Definition: rangeItemsStateComponent.h:158
DtRangeItems myRangeItems
Definition: rangeItemsStateComponent.h:59
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: rangeItemsStateComponent.h:64
Definition: rangeItem.h:149
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
#define DEFINE_STATE_COMPONENT_TYPE(CreatedComponent)
Definition: stateComponent.h:219
void clearRangeItems()
Definition: rangeItemsStateComponent.h:51
DtRangeItemsStateComponentData & operator=(const DtRangeItemsStateComponentData &rhs)
Definition: rangeItemsStateComponent.h:26
4) Define the state component that will contain the wrappers to the next and current frame states tha...
Definition: rangeItemsStateComponent.h:132
Subclass from this to indicate that this will be a double buffered state component.
Definition: stateComponent.h:370
void removeRangeItem(int index)
Definition: rangeItemsStateComponent.h:43
Definition: rangeItemsStateComponent.h:15
virtual void aboutToBeDeleted()
DtRangeItemsStateComponentData(const DtRangeItemsStateComponentData &orig)
Definition: rangeItemsStateComponent.h:21
Definition: rangeItem.h:206
void addRangeItem(const DtRangeItem &i)
Definition: rangeItemsStateComponent.h:38
#define DEFINE_REF_ACCESSORS(ReturnType, Method, Member)
Definition: doubleBufferedDataStorage.h:13
3) Define the current frame class. This will be used for read access.
Definition: rangeItemsStateComponent.h:109
const DtFrameStateInterface * currentFrameState() const
Definition: rangeItemsStateComponent.h:138
DtRangeItemsStateComponentNextFrame myNextFrameState
Definition: rangeItemsStateComponent.h:159
Definition: stateComponent.h:75
#define DT_DLL_vrfStateData
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfStateDataDefines.h:26
DtRangeItemsStateComponentData myData
Definition: rangeItemsStateComponent.h:127
void setRangeItems(const DtRangeItems &r)
Definition: rangeItemsStateComponent.h:33
DtRangeItemsStateComponentData()
Definition: rangeItemsStateComponent.h:17
Contains the DtStateComponent class declaration.
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:282
DtStateComponentCreator< DtRangeItemsStateComponentImplementation > DtRangeItemsStateComponentCreator
5) Define the creator. This will need to be registered with the REGISTER_STATE_COMPONENT macro in the...
Definition: rangeItemsStateComponent.h:164
void advanceFrame(const DtRangeItemsStateComponentData &data)
Definition: rangeItemsStateComponent.h:121
virtual void makeWritable()
Override to make component writable.
Definition: rangeItemsStateComponent.h:99