VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
14 
15 #include <vrvUtil/DtUnicode.h>
16 
17 #include <vector>
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtObserverSettingsDisplayNameProvider;
23  class DtObserverSettingsToolTipProvider;
24  class DtStringKeyConverter;
25  enum class DtModelSetId;
26 
37  {
38  public:
40 
42  {
43  Global = 0,
44  ShowMainModel = 1,
47  EnableViewControl, // Deprecated. Use DtApplicationSettingsManager
50  ShowWakes, // Obsolete with Triton Wakes
83  USER_START = 500 // if the user wants to extend enum
84  };
85 
87  typedef std::vector<int> GlobalSettingsList;
88  typedef std::vector<int> ProjectionSettingsList;
89  typedef std::vector<int> ModelSetSettingsList;
90 
92  static DtObserverSettingsManager& instance(DtDe& de);
93 
95  virtual ~DtObserverSettingsManager();
96 
98  int registerGlobalObserverSetting( const std::string& stringKey,
99  const DtQIconConfigurations& iconConfigurations );
100 
102  void registerGlobalObserverSetting( const std::string& stringKey,
103  int intKey, const DtQIconConfigurations& iconConfigurations );
104 
106  int registerGlobalObserverSetting( const std::string& stringKey,
107  const std::string& iconName="" );
108 
110  void registerGlobalObserverSetting( const std::string& stringKey,
111  int intKey, const std::string& iconName="" );
112 
115  int registerProjectionSpecificObserverSetting( const std::string&
116  stringKey, bool is2D, const DtQIconConfigurations& iconConfigurations );
117 
120  void registerProjectionSpecificObserverSetting( const std::string& stringKey,
121  int intKey, bool is2D, const DtQIconConfigurations& iconConfigurations );
122 
125  int registerProjectionSpecificObserverSetting( const std::string&
126  stringKey, bool is2D, const std::string& iconName="" );
127 
130  void registerProjectionSpecificObserverSetting( const std::string& stringKey,
131  int intKey, bool is2D, const std::string& iconName="" );
132 
135  int registerModelSetSpecificObserverSetting(const std::string& stringKey,
136  ModelSetList modelSets, const DtQIconConfigurations& iconConfigurations );
137 
139  void registerModelSetSpecificObserverSetting(const std::string& stringKey,
140  int intKey, ModelSetList modelSets, const DtQIconConfigurations& iconConfigurations );
141 
144  int registerModelSetSpecificObserverSetting( const std::string& stringKey,
145  ModelSetList modelSets, const std::string& iconName="" );
146 
148  void registerModelSetSpecificObserverSetting( const std::string& stringKey,
149  int intKey, ModelSetList modelSets, const std::string& iconName="" );
150 
153  int lookupObserverSettingIntKey( const std::string& stringKey ) const;
154 
157  const std::string* findObserverSettingStringKey( int intKey ) const;
158 
160  const DtUnicode* findObserverSettingDisplayName( int intKey ) const;
161 
164  const DtUnicode* findObserverSettingToolTip( int intKey ) const;
165 
167  bool findObserverSettingVisualType(int intKey) const;
168 
170  const DtQIconConfigurations* findObserverSettingIconConfigurations( int intKey ) const;
171 
173  const GlobalSettingsList& globalSettings() const;
174 
176  const ProjectionSettingsList& projectionSpecificSettings( bool is2D ) const;
177 
179  const ModelSetSettingsList& modelSetSpecificSettings( DtModelSetId modelSet ) const;
180 
187  bool isSettingValid( bool projection, DtModelSetId modelSet, int settingKey );
188 
191  {
192  return *myDisplayNameProvider;
193  }
194 
195  protected:
196 
197  void registerSettingKey( ModelSetList modelSets, int key );
198 
201 
202  // Stuff needed by multiple public functions
203  void registerProjectionSetting( bool projection, int key );
204  void registerModelSetSetting( DtModelSetId modelSet, int key );
205  void registerIconConfigurations( int key, const DtQIconConfigurations& iconConfigurations );
206 
207  protected:
208 
209  typedef std::map<bool, ProjectionSettingsList> ProjectionSettingsMap;
210  typedef std::map<DtModelSetId, ModelSetSettingsList> ModelSetSettingsMap;
211  typedef std::map<int, DtQIconConfigurations> IconConfigurationsMap;
212  typedef std::map<int, bool> InclusionMap;
213 
221 
225  };
226 
230  {
231  public:
234 
237 
241  static DtObserverSettingsManagerCreator& instance(DtDe& de);
242 
244  virtual DtObserverSettingsManager* create(DtDe&);
245  };
246 }
Definition: DtObserverSettingsManager.h:79
Definition: DtObserverSettingsManager.h:63
Definition: DtObserverSettingsManager.h:45
Definition: DtObserverSettingsManager.h:68
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Definition: DtObserverSettingsManager.h:56
Definition: DtObserverSettingsManager.h:75
ProjectionSettingsMap myProjectionSpecificSettings
Definition: DtObserverSettingsManager.h:219
DtObserverSettingsDisplayNameProvider & displayNameProvider() const
Returns the display name provider to add display items to the GUI for menus.
Definition: DtObserverSettingsManager.h:190
Definition: DtObserverSettingsManager.h:61
Definition: DtObserverSettingsManager.h:58
Definition: DtObserverSettingsManager.h:66
Definition: DtObserverSettingsManager.h:76
Contains makVrv::DtSharedVisualizerTypeMappingsManager class.
SupportedModelSets
visual types can be associated with particular Model sets
Definition: DtVisualTypeManager.h:39
Creator for DtObserverSettingsManager class.
Definition: DtObserverSettingsManager.h:229
Defines the DtVisualTypeManager class.
std::vector< int > ProjectionSettingsList
Definition: DtObserverSettingsManager.h:88
Definition: DtObserverSettingsManager.h:53
DtVisualTypeManager::SupportedModelSets ModelSetList
Definition: DtObserverSettingsManager.h:86
DtDe & myDe
Definition: DtObserverSettingsManager.h:214
IconConfigurationsMap myIconConfigurationsMap
Definition: DtObserverSettingsManager.h:224
std::vector< int > ModelSetSettingsList
Definition: DtObserverSettingsManager.h:89
Contains makVrv::DtStringKeyConverter class.
std::map< int, bool > InclusionMap
Definition: DtObserverSettingsManager.h:212
Definition: DtObserverSettingsManager.h:70
Definition: DtObserverSettingsManager.h:74
ProjectionSettingsList myEmptyProjectionList
Definition: DtObserverSettingsManager.h:222
std::map< bool, ProjectionSettingsList > ProjectionSettingsMap
Definition: DtObserverSettingsManager.h:209
The shared settings manager handles low level access to the settings. this object is not thread safe...
Definition: DtSharedVisualizerTypeMappingsManager.h:22
Definition: DtObserverSettingsManager.h:50
DtStringKeyConverter is used to convert string-based keys, used in files for things like model sets a...
Definition: DtStringKeyConverter.h:30
ModelSetSettingsMap myModelSetSpecificSettings
Definition: DtObserverSettingsManager.h:220
Definition: DtObserverSettingsManager.h:57
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Definition: DtObserverSettingsManager.h:67
Definition: DtObserverSettingsManager.h:77
std::map< int, DtQIconConfigurations > IconConfigurationsMap
Definition: DtObserverSettingsManager.h:211
GlobalSettingsList myGlobalSettings
Definition: DtObserverSettingsManager.h:218
Definition: DtObserverSettingsManager.h:51
Definition: DtObserverSettingsManager.h:71
DtSharedVisualizerTypeMappingsManager & myMappingSharer
Definition: DtObserverSettingsManager.h:215
Definition: DtObserverSettingsManager.h:64
Definition: DtObserverSettingsManager.h:55
Definition: DtObserverSettingsManager.h:72
std::map< DtModelSetId, ModelSetSettingsList > ModelSetSettingsMap
Definition: DtObserverSettingsManager.h:210
std::vector< int > GlobalSettingsList
Definition: DtObserverSettingsManager.h:87
Definition: DtObserverSettingsManager.h:46
Definition: DtObserverSettingsManager.h:69
ObserverSetting
Definition: DtObserverSettingsManager.h:41
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: DtObserverSettingsManager.h:49
Definition: DtObserverSettingsManager.h:54
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:131
Definition: DtObserverSettingsManager.h:60
DtModelSetId
Definition: DtModelSetEnums.h:19
Definition: DtObserverSettingsManager.h:47
DtObserverSettingsDisplayNameProvider is an interface for a class to provide display names for observ...
Definition: DtObserverSettingsDisplayNameProvider.h:22
Definition: DtObserverSettingsManager.h:78
Definition: DtObserverSettingsManager.h:59
Definition: DtObserverSettingsManager.h:73
DtObserverSettingsDisplayNameProvider * myDisplayNameProvider
Definition: DtObserverSettingsManager.h:216
ModelSetSettingsList myEmptyModelSetList
Definition: DtObserverSettingsManager.h:223
Definition: DtObserverSettingsManager.h:65
Definition: DtObserverSettingsManager.h:52
DtObserverSettingsManager keeps track of the mapping between string and integer keys for observer set...
Definition: DtObserverSettingsManager.h:36
DtStringKeyConverter myKeyConverter
Definition: DtObserverSettingsManager.h:217
Definition: DtObserverSettingsManager.h:62
Definition: DtObserverSettingsManager.h:48

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)