VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtTacticalGraphicOverlayManager.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2012 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <string>
14 #include <map>
15 #include <list>
16 #include <vector>
17 #include <boost/signal.hpp>
20 #include <vrvCore/DtElementData.h>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtDriverManager;
27  class DtTacticalGraphicOverlay;
28 
33  {
34 
39  {
40 
41  public:
42 
45 
47  DtTacticalGraphicOverlayMember(DtUniqueID id, std::string name, std::string overlay="");
48 
51 
53  virtual DtUniqueID id() const;
54  virtual void setId(const DtUniqueID& id);
55 
57  virtual const std::string& name() const;
58  virtual void setName(const std::string& name);
59 
61  virtual const std::string& overlay() const;
62  virtual void setOverlay(const std::string& name);
63 
65  virtual bool visible() const;
66  virtual void setVisible(bool flag);
67 
69  virtual bool filtered() const;
70  virtual void setFiltered(bool flag);
71 
72  protected:
73 
75  std::string myObjectName;
76  std::string myOverlayName;
77  bool myVisible;
78  bool myFiltered;
79  };
80 
81  public:
82 
83  typedef std::list<DtTacticalGraphicOverlay*> DtTacticalGraphicOverlayList;
84  typedef std::vector<DtElementEntry::ElementType> TacticalGraphicTypeVector;
85 
86  static DtTacticalGraphicOverlayManager& instance(DtDe& de);
87 
88  static void registerInstance(DtDe& de, DtTacticalGraphicOverlayManager* mgr);
89 
92 
95  virtual void addTacticalGraphic(const DtUniqueID& id, const std::string& name);
96 
99  virtual const std::string* tacticalGraphicName(const DtUniqueID& id) const;
100 
103  virtual void removeTacticalGraphic(const DtUniqueID& id);
104 
107  virtual void renameTacticalGraphic(const DtUniqueID& id, const std::string& newName);
108 
111  virtual void renameTacticalGraphicOverlay(const DtUniqueID& id, const std::string& newName);
112 
114  virtual void setTacticalGraphicVisible(const DtUniqueID& id, bool flag);
115 
117  virtual std::string newOverlay();
118 
121  virtual void addOverlay(const std::string name);
122 
125  virtual void deleteOverlay(const std::string& name);
126 
129  virtual void renameOverlay(const std::string& oldName, const std::string& newName);
130 
132  virtual DtTacticalGraphicOverlay* findOverlay(const std::string& name) const;
133 
135  virtual DtTacticalGraphicOverlayList overlays() const;
136 
138  virtual bool overlayVisible(const std::string& overlayName) const;
139  virtual void setOverlayVisible(const std::string& overlayName, bool flag);
140 
142  virtual bool overlayFiltered(const std::string& overlayName) const;
143  virtual void setOverlayFiltered(const std::string& overlayName, bool flag);
144 
147  virtual bool overlayLocked(const std::string& overlayName) const;
148  virtual void setOverlayLocked(const std::string& overlayName, bool flag);
149 
151  virtual const DtTacticalGraphicOverlay* currentOverlay() const;
152  virtual void setCurrentOverlay(const std::string& name);
153 
155  virtual void setTacticalGraphicTypes(const TacticalGraphicTypeVector&);
156 
158  virtual const TacticalGraphicTypeVector& tacticalGraphicTypes() const;
159 
161  virtual bool isTacticalGraphic(const DtUniqueID& id) const;
162 
163  boost::signal<void (const DtUniqueID&, const std::string&)> signal_tacticalGraphicAdded;
164  boost::signal<void (const DtUniqueID&, const std::string&)> signal_tacticalGraphicRenamed;
165  boost::signal<void (const DtUniqueID&, const std::string&)> signal_tacticalGraphicOverlayRenamed;
166  boost::signal<void (const DtUniqueID&)> signal_tacticalGraphicRemoved;
167  boost::signal<void (const DtUniqueID&, bool)> signal_tacticalGraphicVisibilityChanged;
168 
169 
170  boost::signal<void (const std::string&)> signal_overlayAdded;
171  boost::signal<void (const std::string&)> signal_overlayDeleted;
172  boost::signal<void (const std::string&, bool)> signal_overlayFiltered;
173  boost::signal<void (const std::string&, bool)> signal_overlayVisibilityChanged;
174  boost::signal<void (const std::string&, const std::string&)> signal_overlayRenamed;
175  boost::signal<void (const std::string&)> signal_currentOverlayChanged;
176 
177  protected:
178 
180  virtual void slot_onElementsAdded( const DtElementData::ElementList& elements );
181 
183  virtual void slot_onElementAttributesChanged(
184  const DtElementData::EntryAttributesList& attributes );
185 
187  virtual void slot_onElementsRemoved( const DtElementData::UniqueIdList& elementIds);
188 
190  virtual void addFilter(const std::string& name, DtOverlayFilter* filter, bool apply=false);
191 
192  protected:
195 
196  protected:
197 
198  typedef std::map<DtUniqueID, DtTacticalGraphicOverlayMember> DtTacticalGraphicOverlayObjectMap;
199  typedef std::list<DtOverlayFilter*> DtTacticalGraphicOverlayFilterList;
200 
206 
208 
210  };
211 }
212 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)