VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfTacticalGraphicOverlayManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
16 #include <QtCore/QString>
17 #include <vrvCore/DtEntityState.h>
18 
19 #include <map>
20 #include <set>
21 
23 
24 namespace makVrv
25 {
26  class DtSharedSettingsManager;
27 }
28 
29 namespace makVrf
30 {
31  class DtVrfStateViewCollectionManager;
32  class DtVrfSelectionFilter;
33 
36  {
37  public:
39  {
40  DisableRename = 0x00000001,
41  DisableSelection = 0x00000002,
42  DisableMove = 0x00000004,
43  IsPersistent = 0x00000008,
44  DisplayIcon = 0x00000010,
45  CanUnlockOverlay = 0x00000020
46  };
47 
49  {
50  OrganizedCategory() : rank(-1), filter(0) {};
51 
52  DtString category;
54  int rank;
57  };
58 
59  static const int AllVisible = 2;
60  static const int SomeVisible = 1;
61  static const int AllHidden = 0;
62 
65 
68 
70 
72  virtual void slot_onElementAttributesChanged(
74 
76  virtual int overlayVisibilityState(const std::string&);
77 
80  virtual void setTacticalGraphicVisible( const makVrv::DtUniqueID& id, bool flag );
81 
83  virtual void setCanRenameOverlay(const std::string&, bool);
84  virtual bool canRenameOverlay(const std::string&);
85 
86  virtual void setCanSelectOverlay(const std::string&, bool);
87  virtual bool canSelectOverlay(const std::string&);
88 
89  virtual void setCanMoveFromOverlay(const std::string&, bool);
90  virtual bool canMoveFromOverlay(const std::string&);
91 
92  virtual void setDisplayIcon(const std::string&, bool);
93  virtual bool displayIcon(const std::string&);
94 
95  virtual void setIsPersistentOverlay(const std::string&, bool);
96  virtual bool isPersistentOverlay(const std::string&);
97 
98  virtual void setCanUnlockOverlay(const std::string&, bool);
99  virtual bool canUnlockOverlay(const std::string&);
100 
101  virtual DtFilename iconFilename(const std::string&) const;
102 
103  virtual void deleteOverlay(const std::string& name);
104 
106  virtual void renameVrfOverlay(const std::string& oldName, const std::string& newName);
107 
108  virtual void renameOverlay(const std::string& oldName, const std::string& newName);
109 
111  virtual void hideOverlay(const std::string& overlay);
112 
113  virtual bool overlayHidden(const std::string&) const;
114 
116  virtual void showOverlay(const std::string& overlay);
117 
118  virtual void setOverlayLocked(const std::string& overlayName, bool flag);
119 
120  virtual void setOverlayDefaultHidden(const std::string& layer, bool);
121  virtual bool overlayDefaultHidden(const std::string&) const;
122 
123  static QString organizeByCategoryOverlayName();
124 
126  virtual std::vector<std::string> overlaysForObject(makVrv::DtUniqueID id);
127 
128  virtual OrganizedCategory organizedCategory(const DtString& cat) const;
129 
130  virtual void addOverlay(const std::string&);
131 
137  virtual void addOrganizedCategory(const DtString& category, const DtVrfSelectionFilter&, int position, const DtString& icon, const DtString& displayName);
138  virtual void removeOrganizedCategory(const DtString& category);
139  virtual void clearOrganizedCategories();
140  virtual bool isOrganizedLayer(const std::string&) const;
141 
143  virtual std::string layerName(const std::string&) const;
144 
145  virtual void removeTacticalGraphic(const makVrv::DtUniqueID& id);
146  virtual void renameTacticalGraphicOverlay(const makVrv::DtUniqueID& id, const std::string& newName);
147 
149  virtual int position(const std::string&) const;
150 
151  virtual std::string organizedLayerFor(const makVrv::DtVrlinkSimulatedBaseState* stateView) const;
152 
153  boost::signals2::signal<void (const std::string&, int)> signal_flagsChanged;
154  boost::signals2::signal<void (const std::string&, bool)> signal_overlayHidden;
155  boost::signals2::signal<void (const std::string&, bool)> signal_overlayLocked;
156  boost::signals2::signal<void (const std::string&, int)> signal_overlayVisibilityStateChanged;
157  boost::signals2::signal<void (const std::string&, bool)> signal_defaultHiddenChanged;
158 
159  protected:
160  virtual void initialize();
161  virtual void objectAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* p);
162  virtual void slot_organizeOverlaysByCategoryChanged(bool);
163 
164  virtual void setFlag(const std::string& s, OverlayFlags, bool);
165  virtual bool testFlag(const std::string& s, OverlayFlags) const;
166 
167  virtual void updateLayerVisibilityThatHas(makVrv::DtUniqueID, bool b);
168 
169  virtual void addDefaultOrganizedCategories(const DtSimulationObjectCategoryInformation&);
170  virtual void notifyLayerVisibilityChanged();
171 
172  public:
174 
175  protected:
176  std::string myStealthType;
178 
179  typedef std::map<std::string, int> OverlayFlagsMap;
181 
182  std::set<std::string> myOverlaysHidden;
183 
184  typedef std::map<std::string, DtVrfSelectionFilter*> VisibilityFilters;
186 
187  typedef std::vector<OrganizedCategory> OrganizedCategories;
189 
190  struct MemberInfo
191  {
192  MemberInfo() : numHidden(0), numVisible(0) {};
193 
194  int numHidden;
196  std::map<makVrv::DtUniqueID, bool> visibilityMap;
197  };
198 
199  typedef std::map<std::string, MemberInfo> Members;
201 
202  boost::signalslib::connection myVisibilityChangedConnection;
203  std::map<std::string, int> myLayerVisibilityChanged;
204  };
205 }
Members myMembers
Definition: vrfTacticalGraphicOverlayManager.h:200
Definition: vrfSelectionFilters.h:29
static DtString theOrganizedOverlayMarker
Definition: vrfTacticalGraphicOverlayManager.h:173
The DtSimulationObjectCategoryInformation class is a class that will read the comma delimited categor...
Definition: simulationObjectCategoryInformation.h:22
boost::signalslib::connection myVisibilityChangedConnection
Definition: vrfTacticalGraphicOverlayManager.h:202
std::string myStealthType
Definition: vrfTacticalGraphicOverlayManager.h:176
OrganizedCategories myOrganizedCategories
Definition: vrfTacticalGraphicOverlayManager.h:188
VisibilityFilters myVisibilityFilters
Definition: vrfTacticalGraphicOverlayManager.h:185
Definition: vrfTacticalGraphicOverlayManager.h:48
std::map< makVrv::DtUniqueID, bool > visibilityMap
Definition: vrfTacticalGraphicOverlayManager.h:196
int numVisible
Definition: vrfTacticalGraphicOverlayManager.h:195
Definition: vrfTacticalGraphicOverlayManager.h:190
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
std::map< std::string, int > OverlayFlagsMap
Definition: vrfTacticalGraphicOverlayManager.h:179
DtString displayName
Definition: vrfTacticalGraphicOverlayManager.h:55
std::map< std::string, MemberInfo > Members
Definition: vrfTacticalGraphicOverlayManager.h:199
DtString icon
Definition: vrfTacticalGraphicOverlayManager.h:56
makVrv::DtSharedSettingsManager * mySettingsManager
Definition: vrfTacticalGraphicOverlayManager.h:177
Override tactical graphic manager to support aggregate/entities on palette.
Definition: vrfTacticalGraphicOverlayManager.h:35
std::vector< EntryAttributes > EntryAttributesList
Definition: DtElementAttributeManager.h:41
boost::signals2::signal< void(const std::string &, int)> signal_overlayVisibilityStateChanged
Definition: vrfTacticalGraphicOverlayManager.h:156
Contains makVrv::DtEntityState class.
OverlayFlags
Definition: vrfTacticalGraphicOverlayManager.h:38
OverlayFlagsMap myOverlayFlags
Definition: vrfTacticalGraphicOverlayManager.h:180
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
std::vector< OrganizedCategory > OrganizedCategories
Definition: vrfTacticalGraphicOverlayManager.h:187
OrganizedCategory()
Definition: vrfTacticalGraphicOverlayManager.h:50
std::map< std::string, int > myLayerVisibilityChanged
Definition: vrfTacticalGraphicOverlayManager.h:203
DtVrfSelectionFilter * filter
Definition: vrfTacticalGraphicOverlayManager.h:53
boost::signals2::signal< void(const std::string &, bool)> signal_overlayHidden
Definition: vrfTacticalGraphicOverlayManager.h:154
Base class to provide boost signal/slot management.
boost::signals2::signal< void(const std::string &, bool)> signal_overlayLocked
Definition: vrfTacticalGraphicOverlayManager.h:155
std::set< std::string > myOverlaysHidden
Definition: vrfTacticalGraphicOverlayManager.h:182
boost::signals2::signal< void(const std::string &, int)> signal_flagsChanged
Definition: vrfTacticalGraphicOverlayManager.h:153
std::map< std::string, DtVrfSelectionFilter * > VisibilityFilters
Definition: vrfTacticalGraphicOverlayManager.h:184
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtTacticalGraphicOverlayManager objects hold the state (visible or not) of tactical graphics overlays...
Definition: DtTacticalGraphicOverlayManager.h:33
int rank
Definition: vrfTacticalGraphicOverlayManager.h:54
Contains makVrv::DtTacticalGraphicOverlayManager class.
boost::signals2::signal< void(const std::string &, bool)> signal_defaultHiddenChanged
Definition: vrfTacticalGraphicOverlayManager.h:157

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)