30 #include <boost/function.hpp>
31 #include <boost/unordered_set.hpp>
35 class DtEventQueueInterface;
36 class DtSharedSettingsManager;
69 static std::string className();
75 virtual void removeSettings(
const DtUUID&);
81 virtual bool hasSetting(
const DtUUID&)
const;
88 virtual void write(boost::archive::xml_oarchive& ar,
int version)
const;
89 virtual void read(boost::archive::xml_iarchive& ar,
int version);
95 virtual bool setSelectedForDisplay(
int setting,
const DtUUID& uuid,
bool flag);
96 virtual bool availableToShowForSelection(
int setting,
const DtUUID&)
const;
99 virtual void removeAllPinnedSettings(
int flag);
102 virtual void setMaximumToDisplayBeforeHidingAllFromSelection(
int setting,
int maximum,
bool replaceIfSet =
true);
105 virtual DtUUID getAvailableUUIDForDisplay(
int setting)
const;
108 virtual void settingsLoaded();
120 int maximumToDisplayBeforeHidingAllFromSelection = 1;
146 , unpinnable(unpinnable)
161 , validFor(s.validFor)
162 , validation(s.validation)
163 , unpinnable(s.unpinnable)
182 std::set<makVrv::DtElementEntry::ElementType>
validFor;
196 virtual void removeSettings(
const DtUUID&);
199 virtual void removeAll();
209 virtual void setIconColorSettings(
const std::vector<DtUUID>& names,
DtRwColor color);
212 virtual bool iconColorChanged(
const DtUUID&);
217 virtual void setMaximumToDisplayBeforeHidingAllFromSelection(
int setting,
int maximum,
bool replaceIfSet =
true);
220 virtual DtUUID getAvailableUUIDForDisplay(
int setting)
const;
224 boost::signals2::signal<void(DtRwColor, std::vector<makVrv::DtUniqueID>)> signal_iconColorSettingsChanged;
227 ObjectSetting, std::set<makVrv::DtElementEntry::ElementType> validFor,
bool unpinnable =
true,
234 virtual void removeAllPinnedSettings();
237 virtual void removeAllPinnedSettings(
int flag,
bool signalScenarioModified =
true);
244 virtual bool hasSetting(
const DtUUID&)
const;
248 virtual void protect();
257 static bool alwaysValid();
261 virtual void write(boost::archive::xml_oarchive& ar,
int version)
const;
262 virtual void read(boost::archive::xml_iarchive& ar,
int version);
273 virtual void setupInitialValues();
ObjectSettingsMap mySettings
Definition: objectSettingsManager.h:116
UUID is a unique ID wrapper class.
Definition: uuid.h:59
std::map< DtUUID, bool > ProtectedFromRemoval
Definition: objectSettingsManager.h:281
makVrv::event_signal< void(DtUUID, ObjectSetting)> signal_settingsChanged
Definition: objectSettingsManager.h:311
a read settings lock on a setting object. The object can only get read access aka const functions...
Definition: DtReadSettingsLock.h:48
Definition: objectSettingsManager.h:118
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
ObjectSetting
Definition: objectSettingsManager.h:42
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
The shared simulation settings.
Definition: objectSettingsManager.h:55
boost::function< bool(const makVrv::DtSelectionManager::IdSet &)> SettingsValidationFunction
Definition: objectSettingsManager.h:138
Definition: objectSettingsManager.h:46
Definition: objectSettingsManager.h:140
boost::signals2::scoped_connection myDePostTickConnection
Definition: objectSettingsManager.h:283
bool unpinnable
Definition: objectSettingsManager.h:179
makVrv::DtDe & myDe
Definition: objectSettingsManager.h:276
ObjectSettings myObjectSettings
Definition: objectSettingsManager.h:277
Contains makVrv:DtSelectionManager class.
SelectionSettingsMap mySelectionSettingsMap
Definition: objectSettingsManager.h:125
Definition: objectSettingsManager.h:47
Definition: objectSettingsManager.h:50
Contains the DtUUID class declaration.
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
makVrv::DtSignalConnectionManager myConnectionManager
Definition: objectSettingsManager.h:279
std::map< DtUUID, DtRwColor > IconColorMap
Definition: objectSettingsManager.h:223
std::vector< ObjectSettingStruct > ObjectSettings
Definition: objectSettingsManager.h:185
ObjectSettingStruct(const ObjectSettingStruct &s)
Definition: objectSettingsManager.h:158
Contains makVrv::event_signal class.
The base class for all shared settings. Actual settings class should have the following members/decla...
Definition: DtSharedSettings.h:45
The event queue interface is a cross thread event queue used to emit event_signal across thread bound...
Definition: DtEventQueueInterface.h:26
ObjectSettingStruct(ObjectSetting s, makVrv::DtUnicode n, std::set< makVrv::DtElementEntry::ElementType > e, bool unpinnable)
Definition: objectSettingsManager.h:142
boost::unordered_set< DtUUID > showingForSelection
Definition: objectSettingsManager.h:121
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
Contains makVrv::DtVirtualBaseClass class.
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
IconColorMap myIconColorMap
Definition: objectSettingsManager.h:278
std::map< ObjectSetting, SelectionSettings > SelectionSettingsMap
Definition: objectSettingsManager.h:124
Contains the DtSharedSettings class declaration.
std::vector< EntryAttributes > EntryAttributesList
Define the type used to signal changes to one or more attributes for one or more elements.
Definition: DtElementAttributeManager.h:44
Definition: DtElementEntry.h:28
ProtectedFromRemoval myProtectedFromRemoval
Definition: objectSettingsManager.h:282
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtVrlinkSimulatedEntityState class.
ObjectSettingStruct & operator=(const ObjectSettingStruct &s)
Definition: objectSettingsManager.h:167
static bool alwaysValid()
std::map< DtUUID, ObjectSetting > ObjectSettingsMap
Definition: objectSettingsManager.h:58
a write settings lock on a setting object. The object can be read and modified, but no other threads ...
Definition: DtWriteSettingsLock.h:47
Base class that all gui settings must derive from. Must implement read/write methods.
Definition: guiScenarioSettingsManager.h:31
makVrv::DtUnicode name
Definition: objectSettingsManager.h:180
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
ObjectSettingStruct()
Definition: objectSettingsManager.h:150
Base class to provide boost signal/slot management.
The Master DtObjectSettingsManager.
Definition: objectSettingsManager.h:135
Definition: objectSettingsManager.h:49
Definition: objectSettingsManager.h:45
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: objectSettingsManager.h:48
std::set< makVrv::DtElementEntry::ElementType > validFor
Definition: objectSettingsManager.h:182
Contains the DtElementAttributeManager class declaration.
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
Definition: objectSettingsManager.h:44
A signaler for the shared interest management settings.
Definition: objectSettingsManager.h:288
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
ObjectSetting setting
Definition: objectSettingsManager.h:178
SettingsValidationFunction validation
Definition: objectSettingsManager.h:181
Contains makVrv::DtElementEntry class.
makVrv::event_signal< void(ObjectSetting)> signal_selectionDisplayAvailableChangedFor
Signal sent when the criteria for being able to display a setting (or not) has changed.
Definition: objectSettingsManager.h:316
makVrv::event_signal< void()> signal_settingsLoaded
Definition: objectSettingsManager.h:312