30 #include <boost/function.hpp>
31 #include <unordered_set>
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);
98 virtual bool availableToShowForSelection(
int setting,
const DtUUID&,
int shownByDefault = 0)
const;
101 virtual void removeAllPinnedSettings(
int flag);
104 virtual void setMaximumToDisplayBeforeHidingAllFromSelection(
int setting,
int maximum,
bool replaceIfSet =
true);
108 virtual DtUUID getAvailableUUIDForDisplay(
int setting,
int shownByDefault = 0)
const;
111 virtual void settingsLoaded();
123 int maximumToDisplayBeforeHidingAllFromSelection = 1;
149 , unpinnable(unpinnable)
164 , validFor(s.validFor)
165 , validation(s.validation)
166 , unpinnable(s.unpinnable)
185 std::set<makVrv::DtElementEntry::ElementType>
validFor;
199 virtual void removeSettings(
const DtUUID&);
202 virtual void removeAll();
212 virtual void setIconColorSettings(
const std::vector<DtUUID>& names,
DtRwColor color);
215 virtual bool iconColorChanged(
const DtUUID&);
220 virtual void setMaximumToDisplayBeforeHidingAllFromSelection(
int setting,
int maximum,
bool replaceIfSet =
true);
223 virtual DtUUID getAvailableUUIDForDisplay(
int setting)
const;
227 boost::signals2::signal<void(DtRwColor, std::vector<makVrv::DtUniqueID>)> signal_iconColorSettingsChanged;
230 ObjectSetting, std::set<makVrv::DtElementEntry::ElementType> validFor,
bool unpinnable =
true,
237 virtual void removeAllPinnedSettings();
240 virtual void removeAllPinnedSettings(
int flag,
bool signalScenarioModified =
true);
247 virtual bool hasSetting(
const DtUUID&)
const;
251 virtual void protect();
254 virtual void unprotect();
263 static bool alwaysValid();
267 virtual void write(boost::archive::xml_oarchive& ar,
int version)
const override;
268 virtual void read(boost::archive::xml_iarchive& ar,
int version)
override;
279 virtual void setupInitialValues();
ObjectSettingsMap mySettings
Definition: objectSettingsManager.h:119
UUID is a unique ID wrapper class.
Definition: uuid.h:59
std::unordered_set< DtUUID > showingForSelection
Definition: objectSettingsManager.h:124
std::map< DtUUID, bool > ProtectedFromRemoval
Definition: objectSettingsManager.h:287
makVrv::event_signal< void(DtUUID, ObjectSetting)> signal_settingsChanged
Definition: objectSettingsManager.h:317
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:121
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:141
Definition: objectSettingsManager.h:46
Definition: objectSettingsManager.h:143
boost::signals2::scoped_connection myDePostTickConnection
Definition: objectSettingsManager.h:289
bool unpinnable
Definition: objectSettingsManager.h:182
makVrv::DtDe & myDe
Definition: objectSettingsManager.h:282
ObjectSettings myObjectSettings
Definition: objectSettingsManager.h:283
Contains makVrv:DtSelectionManager class.
SelectionSettingsMap mySelectionSettingsMap
Definition: objectSettingsManager.h:128
Definition: objectSettingsManager.h:47
Definition: objectSettingsManager.h:50
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:285
std::map< DtUUID, DtRwColor > IconColorMap
Definition: objectSettingsManager.h:226
std::vector< ObjectSettingStruct > ObjectSettings
Definition: objectSettingsManager.h:188
ObjectSettingStruct(const ObjectSettingStruct &s)
Definition: objectSettingsManager.h:161
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:27
ObjectSettingStruct(ObjectSetting s, makVrv::DtUnicode n, std::set< makVrv::DtElementEntry::ElementType > e, bool unpinnable)
Definition: objectSettingsManager.h:145
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
Contains makVrv::DtVirtualBaseClass class.
IconColorMap myIconColorMap
Definition: objectSettingsManager.h:284
std::map< ObjectSetting, SelectionSettings > SelectionSettingsMap
Definition: objectSettingsManager.h:127
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:288
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
ObjectSettingStruct & operator=(const ObjectSettingStruct &s)
Definition: objectSettingsManager.h:170
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:183
ObjectSettingStruct()
Definition: objectSettingsManager.h:153
Base class to provide boost signal/slot management.
The Master DtObjectSettingsManager.
Definition: objectSettingsManager.h:138
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:185
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:76
Definition: objectSettingsManager.h:44
A signaler for the shared interest management settings.
Definition: objectSettingsManager.h:294
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
ObjectSetting setting
Definition: objectSettingsManager.h:181
SettingsValidationFunction validation
Definition: objectSettingsManager.h:184
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:322
makVrv::event_signal< void()> signal_settingsLoaded
Definition: objectSettingsManager.h:318