VR-Forces 5.0.1 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 
36  {
37  public:
39 
41  {
42  Global = 0,
43  ShowMainModel = 1,
46  EnableViewControl, // Deprecated. Use DtApplicationSettingsManager
49  ShowWakes, // Obsolete with Triton Wakes
81  USER_START = 500 // if the user wants to extend enum
82  };
83 
85  typedef std::vector<int> GlobalSettingsList;
86  typedef std::vector<int> ProjectionSettingsList;
87  typedef std::vector<int> ModelSetSettingsList;
88 
90  static DtObserverSettingsManager& instance(DtDe& de);
91 
93  virtual ~DtObserverSettingsManager();
94 
96  int registerGlobalObserverSetting( const std::string& stringKey,
97  const DtQIconConfigurations& iconConfigurations );
98 
100  void registerGlobalObserverSetting( const std::string& stringKey,
101  int intKey, const DtQIconConfigurations& iconConfigurations );
102 
104  int registerGlobalObserverSetting( const std::string& stringKey,
105  const std::string& iconName="" );
106 
108  void registerGlobalObserverSetting( const std::string& stringKey,
109  int intKey, const std::string& iconName="" );
110 
113  int registerProjectionSpecificObserverSetting( const std::string&
114  stringKey, bool is2D, const DtQIconConfigurations& iconConfigurations );
115 
118  void registerProjectionSpecificObserverSetting( const std::string& stringKey,
119  int intKey, bool is2D, const DtQIconConfigurations& iconConfigurations );
120 
123  int registerProjectionSpecificObserverSetting( const std::string&
124  stringKey, bool is2D, const std::string& iconName="" );
125 
128  void registerProjectionSpecificObserverSetting( const std::string& stringKey,
129  int intKey, bool is2D, const std::string& iconName="" );
130 
133  int registerModelSetSpecificObserverSetting(const std::string& stringKey,
134  ModelSetList modelSets, const DtQIconConfigurations& iconConfigurations );
135 
137  void registerModelSetSpecificObserverSetting(const std::string& stringKey,
138  int intKey, ModelSetList modelSets, const DtQIconConfigurations& iconConfigurations );
139 
142  int registerModelSetSpecificObserverSetting( const std::string& stringKey,
143  ModelSetList modelSets, const std::string& iconName="" );
144 
146  void registerModelSetSpecificObserverSetting( const std::string& stringKey,
147  int intKey, ModelSetList modelSets, const std::string& iconName="" );
148 
151  int lookupObserverSettingIntKey( const std::string& stringKey ) const;
152 
155  const std::string* findObserverSettingStringKey( int intKey ) const;
156 
158  const DtUnicode* findObserverSettingDisplayName( int intKey ) const;
159 
162  const DtUnicode* findObserverSettingToolTip( int intKey ) const;
163 
165  bool findObserverSettingVisualType(int intKey) const;
166 
168  const DtQIconConfigurations* findObserverSettingIconConfigurations( int intKey ) const;
169 
171  const GlobalSettingsList& globalSettings() const;
172 
174  const ProjectionSettingsList& projectionSpecificSettings( bool is2D ) const;
175 
177  const ModelSetSettingsList& modelSetSpecificSettings( int modelSet ) const;
178 
185  bool isSettingValid( bool projection, int modelSet, int settingKey );
186 
189  {
190  return *myDisplayNameProvider;
191  }
192 
193  protected:
194 
195  void registerSettingKey( ModelSetList modelSets, int key );
196 
199 
200  // Stuff needed by multiple public functions
201  void registerProjectionSetting( bool projection, int key );
202  void registerModelSetSetting( int modelSet, int key );
203  void registerIconConfigurations( int key, const DtQIconConfigurations& iconConfigurations );
204 
205  protected:
206 
207  typedef std::map<bool, ProjectionSettingsList> ProjectionSettingsMap;
208  typedef std::map<int, ModelSetSettingsList> ModelSetSettingsMap;
209  typedef std::map<int, DtQIconConfigurations> IconConfigurationsMap;
210  typedef std::map<int, bool> InclusionMap;
211 
219 
223  };
224 
228  {
229  public:
232 
235 
239  static DtObserverSettingsManagerCreator& instance(DtDe& de);
240 
242  virtual DtObserverSettingsManager* create(DtDe&);
243  };
244 }
Definition: DtObserverSettingsManager.h:77
Definition: DtObserverSettingsManager.h:61
Definition: DtObserverSettingsManager.h:44
Definition: DtObserverSettingsManager.h:66
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:73
ProjectionSettingsMap myProjectionSpecificSettings
Definition: DtObserverSettingsManager.h:217
DtObserverSettingsDisplayNameProvider & displayNameProvider() const
Returns the display name provider to add display items to the GUI for menus.
Definition: DtObserverSettingsManager.h:188
Definition: DtObserverSettingsManager.h:59
Definition: DtObserverSettingsManager.h:56
Definition: DtObserverSettingsManager.h:64
Definition: DtObserverSettingsManager.h:74
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:227
Defines the DtVisualTypeManager class.
std::vector< int > ProjectionSettingsList
Definition: DtObserverSettingsManager.h:86
Definition: DtObserverSettingsManager.h:52
DtVisualTypeManager::SupportedModelSets ModelSetList
Definition: DtObserverSettingsManager.h:84
DtDe & myDe
Definition: DtObserverSettingsManager.h:212
IconConfigurationsMap myIconConfigurationsMap
Definition: DtObserverSettingsManager.h:222
std::vector< int > ModelSetSettingsList
Definition: DtObserverSettingsManager.h:87
Contains makVrv::DtStringKeyConverter class.
std::map< int, bool > InclusionMap
Definition: DtObserverSettingsManager.h:210
Definition: DtObserverSettingsManager.h:68
Definition: DtObserverSettingsManager.h:72
ProjectionSettingsList myEmptyProjectionList
Definition: DtObserverSettingsManager.h:220
std::map< bool, ProjectionSettingsList > ProjectionSettingsMap
Definition: DtObserverSettingsManager.h:207
The shared settings manager handles low level access to the settings. this object is not thread safe...
Definition: DtSharedVisualizerTypeMappingsManager.h:22
Definition: DtObserverSettingsManager.h:49
std::map< int, ModelSetSettingsList > ModelSetSettingsMap
Definition: DtObserverSettingsManager.h:208
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:218
Definition: DtObserverSettingsManager.h:55
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Definition: DtObserverSettingsManager.h:65
Definition: DtObserverSettingsManager.h:75
std::map< int, DtQIconConfigurations > IconConfigurationsMap
Definition: DtObserverSettingsManager.h:209
GlobalSettingsList myGlobalSettings
Definition: DtObserverSettingsManager.h:216
Definition: DtObserverSettingsManager.h:50
Definition: DtObserverSettingsManager.h:69
DtSharedVisualizerTypeMappingsManager & myMappingSharer
Definition: DtObserverSettingsManager.h:213
Definition: DtObserverSettingsManager.h:62
Definition: DtObserverSettingsManager.h:54
Definition: DtObserverSettingsManager.h:70
std::vector< int > GlobalSettingsList
Definition: DtObserverSettingsManager.h:85
Definition: DtObserverSettingsManager.h:45
Definition: DtObserverSettingsManager.h:67
ObserverSetting
Definition: DtObserverSettingsManager.h:40
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:70
Definition: DtObserverSettingsManager.h:48
Definition: DtObserverSettingsManager.h:53
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:75
Definition: DtObserverSettingsManager.h:58
Definition: DtObserverSettingsManager.h:46
DtObserverSettingsDisplayNameProvider is an interface for a class to provide display names for observ...
Definition: DtObserverSettingsDisplayNameProvider.h:22
Definition: DtObserverSettingsManager.h:76
Definition: DtObserverSettingsManager.h:57
Definition: DtObserverSettingsManager.h:71
DtObserverSettingsDisplayNameProvider * myDisplayNameProvider
Definition: DtObserverSettingsManager.h:214
ModelSetSettingsList myEmptyModelSetList
Definition: DtObserverSettingsManager.h:221
Definition: DtObserverSettingsManager.h:63
Definition: DtObserverSettingsManager.h:51
DtObserverSettingsManager keeps track of the mapping between string and integer keys for observer set...
Definition: DtObserverSettingsManager.h:35
DtStringKeyConverter myKeyConverter
Definition: DtObserverSettingsManager.h:215
Definition: DtObserverSettingsManager.h:60
Definition: DtObserverSettingsManager.h:47

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)