VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rangeRingsManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <vrvUtil/signalslib.h>
15 
16 #include <vrfGuiCore/vrfGuiCore.h>
18 #include <vrvCore/DtUniqueID.h>
20 #include <vrvUtil/event_signal.h>
21 #include <vrvUtil/DtUnicode.h>
22 
23 #include <set>
24 
25 namespace makVrv
26 {
27  class DtRecordSettingsBackupInterface;
28  class DtEventQueueInterface;
29  class DtSharedSettingsManager;
30  class DtDe;
31 }
32 
33 namespace makVrf
34 {
38  {
39  public:
40 
46 
50  static std::string className();
51 
53  virtual ~DtSharedRangeRingsSettings();
54 
55  virtual void setFill2D(bool);
56  virtual bool fill2D() const;
57 
58  virtual void setShowRangeSphere(bool);
59  virtual bool showRangeSphere() const;
60 
61  virtual void setShowWeaponNameLabel( bool );
62  virtual bool showWeaponNameLabel() const;
63 
64  virtual void setShowEntityNameLabel( bool );
65  virtual bool showEntityNameLabel() const;
66 
67  virtual void setShowRangeValueLabel( bool );
68  virtual bool showRangeValueLabel() const;
69 
70  virtual void setShowByDefault( bool );
71  virtual bool showByDefault() const;
72 
73  virtual void setShowForSelected( bool );
74  virtual bool showForSelected() const;
75 
76  virtual void setShowPhysicalFootprint( bool );
77  virtual bool showPhysicalFootprint() const;
78 
79  virtual void setSphereOpacityModifier(double);
80  virtual double sphereOpacityModifier() const;
81 
84  virtual void setAttackAnimationForRingEnabled(const std::string&, bool);
85  virtual bool attackAnimationForRingEnabled(const std::string&) const;
86 
87  virtual const DtRangeRingsSettingsRecord::ColorOptions& colorOptions() const;
88  virtual DtRangeRingsSettingsRecord::ColorOption colorOption(const std::string&) const;
89 
90  virtual void setColorOptions(const DtRangeRingsSettingsRecord::ColorOptions&);
91  virtual bool getColor(const std::string& type, int force, float& r, float& g, float& b, float& a, makVrv::DtUnicode&) const;
92  virtual void setColor(const std::string& type, int color, const makVrv::DtUnicode&);
93  virtual void removeColorOption(const std::string& type);
94 
95  virtual void getRecord(DtRangeRingsSettingsRecord& rec) const;
96  virtual void setFromRecord(const DtRangeRingsSettingsRecord& rec);
97 
100  virtual void getSplitRecord(std::vector<DtRangeRingsSettingsRecord>& rec,
101  std::vector<std::string>& fileNames) {};
102 
106  DtRangeRingsSettingsRecord& combinedRec) {};
107 
109  virtual void addColorOptionIfMissing(const std::string& option, int color, const makVrv::DtUnicode& label,
110  bool visible = true);
111 
114  virtual bool getColorByCategory(const std::string& type, int& color) const;
115 
116  virtual makVrv::DtUnicode labelForType(const std::string&) const;
117  virtual void setVisible(const std::string& type, bool);
118  virtual bool visible(const std::string& type) const;
119  virtual bool wasRequested(const std::string&) const;
120 
121  virtual void setSectorSizeProperty(const std::string&);
122  virtual const std::string& sectorSizeProperty() const;
123 
124  virtual bool hasNewOptions() const;
125  virtual void getAndClearOptions(std::set<std::string>& newOptions, std::set<std::string>& newOptionsRequested);
126 
127  protected:
128  virtual void colorFromForce(int force, float& r, float& g, float& b);
129 
130  protected:
131 
134 
135  protected:
136  bool myFill2D;
141 
145 
147 
149 
150  std::map<std::string, bool> myRequested;
151  std::map<std::string, bool> myAttackAnimationEnabled;
152  std::string mySectorSizeProperty;
153 
154  std::set<std::string> myNewColorOptions;
155  std::set<std::string> myNewOptionRequested;
156  };
157 
160  {
161  public:
163  virtual ~DtRangeRingsManager();
164 
166  static DtRangeRingsManager& instance(makVrv::DtDe& de);
167  static void registerInstance(makVrv::DtDe&, DtRangeRingsManager*);
168 
170  virtual void loadDefaults(bool fromFactory = false);
171 
173  virtual void saveAsDefaults();
174 
176  {
177  return mySettingsBackup;
178  }
179 
181  {
182  return mySettingsBackup;
183  }
184 
186  void exportSettings(const std::string& fileName);
187 
189  void importSettings(const std::string& fileName);
190 
191  void setAutoSave(bool b);
192  bool autoSave() const;
193 
194  virtual void getRecord(DtRangeRingsSettingsRecord& rec) const;
195  virtual void setFromRecord(const DtRangeRingsSettingsRecord& rec);
196 
199  virtual void getSplitRecord(std::vector<DtRangeRingsSettingsRecord>& rec,
200  std::vector<std::string>& fileNames) {};
201 
205  DtRangeRingsSettingsRecord& combinedRec) {};
206 
207  virtual void setFill2D(bool b);
208  virtual bool fill2D() const;
209 
210  virtual void setShowRangeSphere( bool onOff );
211  virtual bool showRangeSphere() const;
212 
213  virtual void setShowWeaponNameLabel( bool );
214  virtual bool showWeaponNameLabel() const;
215 
216  virtual void setShowEntityNameLabel( bool );
217  virtual bool showEntityNameLabel() const;
218 
219  virtual void setShowRangeValueLabel( bool );
220  virtual bool showRangeValueLabel() const;
221 
222  virtual void setShowByDefault( bool );
223  virtual bool showByDefault() const;
224 
225  virtual void setShowForSelected( bool );
226  virtual bool showForSelected() const;
227 
228  virtual void setShowPhysicalFootprint( bool );
229  virtual bool showPhysicalFootprint() const;
230 
231  virtual void setSphereOpacityModifier(double);
232  virtual double sphereOpacityModifier() const;
233 
234  virtual const DtRangeRingsSettingsRecord::ColorOptions& colorOptions() const;
235  virtual DtRangeRingsSettingsRecord::ColorOption colorOption(const std::string&) const;
236  virtual void setColorOptions(const DtRangeRingsSettingsRecord::ColorOptions&);
237  virtual bool getColor(const std::string& type, int force, float& r, float& g, float& b, float& a, makVrv::DtUnicode&) const;
238  virtual void setColor(const std::string& type, int color, const makVrv::DtUnicode&);
239  virtual void setVisible(const std::string& type, bool);
240  virtual bool visible(const std::string& type) const;
241 
244  virtual void setAttackAnimationForRingEnabled(const std::string&, bool);
245  virtual bool attackAnimationForRingEnabled(const std::string&) const;
246 
247  virtual void removeColorOption(const std::string& type);
248  virtual bool wasRequested(const std::string&) const;
249 
251  virtual void addColorOptionIfMissing(const std::string& option, int color, const makVrv::DtUnicode& label,
252  bool visible = true);
253 
254  virtual makVrv::DtUnicode labelForType(const std::string&) const;
255 
256  virtual std::string sectorSizeProperty() const;
257  virtual void setSectorSizeProperty(const std::string&);
258 
259  protected:
260  virtual void completeSetup();
261 
262  protected:
265  };
266 
270  {
271  public:
272 
277 
281 
285  static DtSharedRangeRingsSettingsSignaler* findInstance(
287 
290 
300 
306 
307  protected:
309 
310  private:
313  };
314 }
bool myShowRangeSphere
Definition: rangeRingsManager.h:137
makVrv::event_signal< void()> signal_colorsChanged
Definition: rangeRingsManager.h:296
a read settings lock on a setting object.
Definition: DtReadSettingsLock.h:51
Virtual base class.
Definition: DtVirtualBaseClass.h:22
A unicode string.
Definition: DtUnicode.h:33
std::set< std::string > myNewColorOptions
Definition: rangeRingsManager.h:154
The shared simulation settings.
Definition: rangeRingsManager.h:37
Definition: rangeRingsSettingsRecord.h:45
bool myShowRangeValueLabel
Definition: rangeRingsManager.h:140
bool myShowForSelected
Definition: rangeRingsManager.h:143
makVrv::event_signal< void()> signal_showPhysicalFootprintChanged
Definition: rangeRingsManager.h:303
const makVrv::DtRecordSettingsBackupInterface * settingsBackup() const
Definition: rangeRingsManager.h:175
std::string mySectorSizeProperty
Definition: rangeRingsManager.h:152
makVrv::event_signal< void(std::string, bool)> signal_attackAnimationForRingChanged
Definition: rangeRingsManager.h:299
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:45
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Contains makVrv::event_signal class.
The base class for all shared settings.
Definition: DtSharedSettings.h:45
A signaler for the shared interest management settings.
Definition: rangeRingsManager.h:269
virtual void getSplitRecord(std::vector< DtRangeRingsSettingsRecord > &rec, std::vector< std::string > &fileNames)
To support writing element definitions in folders as multiple files not implemented.
Definition: rangeRingsManager.h:199
The event queue interface is a cross thread event queue used to emit event_signal across thread bound...
Definition: DtEventQueueInterface.h:29
bool myShowEntityNameLabel
Definition: rangeRingsManager.h:139
makVrv::event_signal< void(std::string)> signal_colorOptionRequested
Definition: rangeRingsManager.h:298
makVrv::DtRecordSettingsBackupInterface * settingsBackup()
Definition: rangeRingsManager.h:180
Contains makVrv::DtVirtualBaseClass class.
virtual void getSplitRecord(std::vector< DtRangeRingsSettingsRecord > &rec, std::vector< std::string > &fileNames)
To support writing element definitions in folders as multiple files not implemented.
Definition: rangeRingsManager.h:100
bool myFill2D
Definition: rangeRingsManager.h:136
Contains the DtSharedSettings class declaration.
std::map< std::string, bool > myAttackAnimationEnabled
Definition: rangeRingsManager.h:151
a write settings lock on a setting object.
Definition: DtWriteSettingsLock.h:50
std::map< std::string, bool > myRequested
Definition: rangeRingsManager.h:150
DtRangeRingsSettingsRecord::ColorOptions myColorOptions
Definition: rangeRingsManager.h:148
double mySphereOpacityModifier
Definition: rangeRingsManager.h:146
makVrv::event_signal< void(std::string)> signal_colorOptionAdded
Definition: rangeRingsManager.h:297
makVrv::event_signal< void(std::string, bool)> signal_visibilityChanged
Definition: rangeRingsManager.h:294
bool myShowPhysicalFootprint
Definition: rangeRingsManager.h:144
makVrv::event_signal< void(bool)> signal_rangeSphereToggled
Definition: rangeRingsManager.h:293
bool myShowWeaponNameLabel
Definition: rangeRingsManager.h:138
The Master DtRangeRingsManager.
Definition: rangeRingsManager.h:159
makVrv::event_signal< void(double)> signal_sphereOpacityModifierChanged
Definition: rangeRingsManager.h:304
makVrv::DtDe & myDe
Definition: rangeRingsManager.h:263
Contains makVrv::DtUniqueID type.
virtual void addRecords(DtRangeRingsSettingsRecord &recs, DtRangeRingsSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: rangeRingsManager.h:204
makVrv::event_signal< void(bool)> signal_fill2DChanged
Definition: rangeRingsManager.h:292
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: rangeRingsSettingsRecord.h:29
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:27
std::set< std::string > myNewOptionRequested
Definition: rangeRingsManager.h:155
std::map< std::string, ColorOption > ColorOptions
Definition: rangeRingsSettingsRecord.h:89
makVrv::DtRecordSettingsBackupInterface * mySettingsBackup
Definition: rangeRingsManager.h:264
makVrv::event_signal< void()> signal_labelSettingsChanged
Definition: rangeRingsManager.h:295
bool myShowByDefault
Definition: rangeRingsManager.h:142
virtual void addRecords(DtRangeRingsSettingsRecord &recs, DtRangeRingsSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: rangeRingsManager.h:105
makVrv::event_signal< void()> signal_showByDefaultChanged
Definition: rangeRingsManager.h:301
makVrv::event_signal< void()> signal_showForSelectedChanged
Definition: rangeRingsManager.h:302

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)