VR-Forces 4.10 Class Documentation
 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) 2016 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
76  USER_START = 500 // if the user wants to extend enum
77  };
78 
80  typedef std::vector<int> GlobalSettingsList;
81  typedef std::vector<int> ProjectionSettingsList;
82  typedef std::vector<int> ModelSetSettingsList;
83 
85  static DtObserverSettingsManager& instance(DtDe& de);
86 
88  virtual ~DtObserverSettingsManager();
89 
91  int registerGlobalObserverSetting( const std::string& stringKey,
92  const std::string& iconName="" );
93 
95  void registerGlobalObserverSetting( const std::string& stringKey,
96  int intKey, const std::string& iconName="" );
97 
100  int registerProjectionSpecificObserverSetting( const std::string&
101  stringKey, bool is2D, const std::string& iconName="" );
102 
105  void registerProjectionSpecificObserverSetting( const std::string& stringKey,
106  int intKey, bool is2D, const std::string& iconName="" );
107 
110  int registerModelSetSpecificObserverSetting( const std::string& stringKey,
111  ModelSetList modelSets, const std::string& iconName="" );
112 
114  void registerModelSetSpecificObserverSetting( const std::string& stringKey,
115  int intKey, ModelSetList modelSets, const std::string& iconName="" );
116 
119  int lookupObserverSettingIntKey( const std::string& stringKey ) const;
120 
123  const std::string* findObserverSettingStringKey( int intKey ) const;
124 
126  const DtUnicode* findObserverSettingDisplayName( int intKey ) const;
127 
130  const DtUnicode* findObserverSettingToolTip( int intKey ) const;
131 
133  bool findObserverSettingVisualType(int intKey) const;
134 
136  const std::string* findObserverSettingIcon( int intKey ) const;
137 
139  const GlobalSettingsList& globalSettings() const;
140 
142  const ProjectionSettingsList& projectionSpecificSettings( bool is2D ) const;
143 
145  const ModelSetSettingsList& modelSetSpecificSettings( int modelSet ) const;
146 
153  bool isSettingValid( bool projection, int modelSet, int settingKey );
154 
157  {
158  return *myDisplayNameProvider;
159  }
160 
161  protected:
162 
163  void registerSettingKey( ModelSetList modelSets, int key );
164 
167 
168  // Stuff needed by multiple public functions
169  void registerProjectionSetting( bool projection, int key );
170  void registerModelSetSetting( int modelSet, int key );
171  void registerIconName( int key, const std::string& iconName );
172 
173  protected:
174 
175  typedef std::map<bool, ProjectionSettingsList> ProjectionSettingsMap;
176  typedef std::map<int, ModelSetSettingsList> ModelSetSettingsMap;
177  typedef std::map<int, std::string> IconNameMap;
178  typedef std::map<int, bool> InclusionMap;
179 
187 
191  };
192 
196  {
197  public:
200 
203 
207  static DtObserverSettingsManagerCreator& instance(DtDe& de);
208 
210  virtual DtObserverSettingsManager* create(DtDe&);
211  };
212 }
std::map< int, std::string > IconNameMap
Definition: DtObserverSettingsManager.h:177
Definition: DtObserverSettingsManager.h:61
IconNameMap myIconNameMap
Definition: DtObserverSettingsManager.h:190
Definition: DtObserverSettingsManager.h:44
Definition: DtObserverSettingsManager.h:66
Virtual base class.
Definition: DtVirtualBaseClass.h:19
A unicode string.
Definition: DtUnicode.h:33
Definition: DtObserverSettingsManager.h:73
ProjectionSettingsMap myProjectionSpecificSettings
Definition: DtObserverSettingsManager.h:185
DtObserverSettingsDisplayNameProvider & displayNameProvider() const
Returns the display name provider to add display items to the GUI for menus.
Definition: DtObserverSettingsManager.h:156
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:37
Creator for DtObserverSettingsManager class.
Definition: DtObserverSettingsManager.h:195
Defines the DtVisualTypeManager class.
std::vector< int > ProjectionSettingsList
Definition: DtObserverSettingsManager.h:81
Definition: DtObserverSettingsManager.h:52
DtVisualTypeManager::SupportedModelSets ModelSetList
Definition: DtObserverSettingsManager.h:79
DtDe & myDe
Definition: DtObserverSettingsManager.h:180
std::vector< int > ModelSetSettingsList
Definition: DtObserverSettingsManager.h:82
Contains makVrv::DtStringKeyConverter class.
std::map< int, bool > InclusionMap
Definition: DtObserverSettingsManager.h:178
Definition: DtObserverSettingsManager.h:68
Definition: DtObserverSettingsManager.h:72
ProjectionSettingsList myEmptyProjectionList
Definition: DtObserverSettingsManager.h:188
std::map< bool, ProjectionSettingsList > ProjectionSettingsMap
Definition: DtObserverSettingsManager.h:175
The shared settings manager handles low level access to the settings.
Definition: DtSharedVisualizerTypeMappingsManager.h:22
Definition: DtObserverSettingsManager.h:49
std::map< int, ModelSetSettingsList > ModelSetSettingsMap
Definition: DtObserverSettingsManager.h:176
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:186
Definition: DtObserverSettingsManager.h:55
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Definition: DtObserverSettingsManager.h:65
Definition: DtObserverSettingsManager.h:75
GlobalSettingsList myGlobalSettings
Definition: DtObserverSettingsManager.h:184
Definition: DtObserverSettingsManager.h:50
Definition: DtObserverSettingsManager.h:69
DtSharedVisualizerTypeMappingsManager & myMappingSharer
Definition: DtObserverSettingsManager.h:181
Definition: DtObserverSettingsManager.h:62
Definition: DtObserverSettingsManager.h:54
Definition: DtObserverSettingsManager.h:70
std::vector< int > GlobalSettingsList
Definition: DtObserverSettingsManager.h:80
Definition: DtObserverSettingsManager.h:45
Definition: DtObserverSettingsManager.h:67
ObserverSetting
Definition: DtObserverSettingsManager.h:40
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: DtObserverSettingsManager.h:48
Definition: DtObserverSettingsManager.h:53
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:57
Definition: DtObserverSettingsManager.h:71
DtObserverSettingsDisplayNameProvider * myDisplayNameProvider
Definition: DtObserverSettingsManager.h:182
ModelSetSettingsList myEmptyModelSetList
Definition: DtObserverSettingsManager.h:189
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:183
Definition: DtObserverSettingsManager.h:60
Definition: DtObserverSettingsManager.h:47

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)