VR-Forces 4.1 Class Documentation
DtAggregateEchelonManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtVlinkEchelonHierarchy.h,v $ $Revision: 1.1 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
15 #include <vrvVrl/vrvVrl.h>
17 
20 
21 #include <boost/function.hpp>
22 #include <boost/signal.hpp>
23 
24 namespace makVrv
25 {
26  class DtDe;
27 }
28 
29 namespace makVrv
30 {
31  class DtConnection;
32 
35  {
36  public:
37  enum Flags
38  {
39  Destroyed = 0x80000000
40  };
41 
42  public:
44  static DtAggregateEchelonManager& instance(DtConnection& sim);
45 
47  static void registerInstance(DtConnection& sim, DtAggregateEchelonManager*);
48 
49  virtual ~DtAggregateEchelonManager();
50 
51  protected:
53  virtual void hierarchyItemModified(DtElementIDHierarchyNode*);
54 
56  virtual void hierarchyItemAboutToBeRemoved(DtElementIDHierarchyNode*);
57 
58  public:
59 
61  virtual void setRecord(const makArchives::DtAggregateSettingsRecord&);
62 
66  virtual void setDestroyed(DtElementID id, bool);
67  bool destroyed(DtElementID) const;
68 
71  void removeElementPendingDestroyedState(DtElementID id);
72 
74  const DtElementIDHierarchy& hierarchy() const
75  {
76  return myHierarchy;
77  }
78 
79  DtElementIDHierarchy& hierarchy()
80  {
81  return myHierarchy;
82  }
83 
84  boost::signal<void (DtElementID, bool b) > signal_aggregateDestroyedStateChanged;
85  boost::signal<void (DtElementIDHierarchyNode*) > signal_hierarchyItemModified;
86 
87  protected:
88 
90  virtual DtElementIDHierarchyNode::DisplayState expectedDisplayStateFor(const DtElementIDHierarchyNode* node);
91 
93  virtual void updateDestroyedState(DtElementIDHierarchyNode* parentNode);
94 
96  virtual void updateHierarchy(DtElementID parentId, const DtElementIDHierarchy::ElementIDs& children);
97 
98  protected:
100 
101  protected:
103  std::map<DtElementID, bool> myPendingDestroyedStates;
105  };
106 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)