VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfHierarchyPageLogic.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 
16 #include <vrvCore/DtElementData.h>
20 
21 #include <QtCore/QPoint>
22 
23 #include <map>
24 
25 class QTreeWidgetItem;
26 
27 namespace makVrv
28 {
29  class DtDe;
30  class DtElementIDHierarchyNode;
31 };
32 
33 namespace makVrf
34 {
35  class DtVrfHierarchyPage;
36  class DtVrfObjectListViewItem;
37  class DtVrfStateViewCollectionManager;
38  class DtExpandCollapseButton;
39 
41  {
42  public:
45  virtual ~DtVrfHierarchyPageLogic();
46 
47  public:
48  virtual void slot_itemSelectionChanged();
49  virtual void slot_rightClickOnItem(QPoint global);
50  virtual QTreeWidgetItem* itemForState(const DtVrfObjectListViewItem::DtVrfObjectState s) const;
51  virtual void expandToLevel(unsigned int i);
52  virtual void collapseToLevel(unsigned int i);
53  virtual void viewItemExpanded(QTreeWidgetItem* i);
54  virtual void viewItemCollapsed(QTreeWidgetItem* i);
55 
56  virtual bool isForceRootNode(makVrv::DtUniqueID) const;
57  virtual int forceForRootNode(makVrv::DtUniqueID) const;
58 
59  virtual void deparent(const QStringList&) = 0;
60  virtual void reparent(const QStringList& children, makVrv::DtUniqueID parentId) = 0;
61 
63  virtual bool processHierarchyItem(makVrv::DtElementIDHierarchyNode*, bool force = false);
64 
65  virtual void setShowObjectConsoleWarning(bool b);
66  virtual bool showObjectConsoleWarningIcon() const;
67 
68  virtual void setTextFilter(const QString&);
69 
71  virtual void setShowEchelonIdColumn(bool);
72  virtual bool showEchelonIdColumn() const;
73 
75  virtual void activate();
76 
78  virtual int sortColumn() const;
79 
80  virtual int initialSortColumn() const;
81 
82  virtual void setDoubleClickAttachesAndCenters(bool b)
83  {
84  myDoubleClickAttachesAndCenters = b;
85  }
86 
87  bool doubleClickAttachesAndCenters() const
88  {
89  return myDoubleClickAttachesAndCenters;
90  }
91 
92  virtual void setInitiallyExpand(bool);
93  bool initiallyExpand() const
94  {
95  return myInitiallyExpand;
96  }
97 
98  boost::signal<void (makVrv::DtUniqueID)> signal_itemRemoved;
99 
100  protected:
101 
103  virtual bool handleStealthObjects() const;
104 
105  virtual void slot_gumballSettingsChanged(bool b);
106 
107  virtual void checkForInitialExpansion(DtVrfObjectListViewItem*);
108  virtual bool passesFogOfWarFilters(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s) const;
109  virtual bool passesGlobalFilters(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s) const;
110  virtual void scenarioClosed();
111  virtual void moveItemToNewForceNode(makVrv::DtUniqueID, int force);
113 
115  virtual void entityStateChanged(makVrv::DtElementID, DtSharedVrfVrlApplicationSettings::EntityStates, bool);
116 
117  virtual void slot_onTick();
118 
121  virtual void slot_onStateViewAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s);
122 
124  virtual bool addNode(makVrv::DtElementIDHierarchyNode*) const;
125 
128  virtual bool isValidState(makVrv::DtUniqueID) const;
129 
131  virtual void filterItems();
132 
134  virtual void filterTDLItems();
135 
136  virtual void stateViewUpdated();
137 
138  virtual void resorted();
139 
140  virtual DtVrfStateViewCollectionManager& vrfStateViewCollectionManager() const;
141 
142  protected:
143  virtual void forcesChanged();
144  virtual void unhandledStateView(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
145 
146  virtual void slot_itemDoubleClicked(QTreeWidgetItem*);
147 
148  virtual void clearExpansionStateFor(DtVrfObjectListViewItem*);
149 
150  virtual void removeNode(makVrv::DtElementID);
151  virtual bool positionNodeInHierarchy(makVrv::DtElementIDHierarchyNode*, bool force = false);
152  virtual void hookChildToParent(makVrv::DtElementIDHierarchyNode*, bool forceUpdate = false);
153  virtual void hookParentToChildren(makVrv::DtElementIDHierarchyNode*, bool forceUpdate = false);
155  virtual QVariant echelonId(const DtVrfObjectListViewItem*) const;
156  virtual void slot_stateViewAboutToBeRemoved(const makVrv::DtStateView<DtVrfObjectDataState>& s);
157 
158  virtual void cleanupHierarchyItem(DtVrfObjectListViewItem* item);
159  virtual void createdHierarchyItem(DtVrfObjectListViewItem* item);
160 
162  virtual void deferredItemSelectionChanged();
163 
164  protected:
165  virtual void addDataFunctions(DtVrfObjectListViewItem* item);
166  virtual void addSortingFunctions(DtVrfObjectListViewItem* item);
167  virtual void slot_externalSelectionChanged(
168  const makVrv::DtSelectionManager::IdSet& selected,
169  const makVrv::DtSelectionManager::IdSet& deselected );
170 
171  virtual void updateCollapseButtons();
172  virtual void updateCollapseButtons(QTreeWidgetItem*);
173 
174  virtual void createCollapseButton(unsigned int);
175  virtual void expandToLevel(unsigned int level, QTreeWidgetItem* lvi);
176  virtual void collapseToLevel(unsigned int level, QTreeWidgetItem* lvi);
177 
179  virtual void hierarchyItemsModified(const makVrv::DtElementData::EntryAttributesList&) = 0;
180  virtual short supportsAttribute() const = 0;
181 
182  virtual void hierarchyItemsRemoved(const makVrv::DtElementData::UniqueIdList&);
183  virtual void setupForceRootNodes();
184  virtual bool sortBySubordinatePosition(const DtVrfObjectListViewItem& rhs, const DtVrfObjectListViewItem& lhs);
185 
186  virtual void checkPendingOperations();
187  virtual void checkFogOfWar(DtVrfObjectListViewItem*, int oldForce = -1, int newForce = -1);
188  virtual void onForceChanged(DtVrfObjectListViewItem*, int oldForce = -1, int newForce = -1);
189  virtual void onMarkingTextFilterChanged(DtVrfObjectListViewItem*);
190  virtual void slot_extendedApplicationOptionsChanged();
191 
192  virtual void slot_onUpdateRateChanged(makVrv::DtUniqueID id, int rate);
193  virtual void completeRateChange(makVrv::DtUniqueID id);
194 
195  virtual QTreeWidgetItem* rootNodeForItem(DtVrfObjectListViewItem*) const;
196  virtual QTreeWidgetItem* rootNodeForItem(int) const;
197 
199  virtual void itemPositioned(DtVrfObjectListViewItem*);
200 
203  virtual void checkParentVisibility(DtVrfObjectListViewItem*);
204 
205  virtual void restoreExpansionState(QTreeWidgetItem*, bool expanded);
206 
207  virtual void initialize();
208 
209  virtual void resetVisuals();
210 
211  protected:
212  typedef std::map<makVrv::DtElementID, DtVrfObjectListViewItem*> DtHierarchyListItemMap;
213  typedef std::map<makVrv::DtElementID, std::pair<makVrv::DtElementIDHierarchyNode, int> > PendingOperationsMap;
214 
217  std::vector<DtExpandCollapseButton*> myCollapseButtonVector;
218 
220 
221  bool myDirty;
229 
236 
238 
239  std::map<DtUUID, bool> myExpandedNodes;
240 
243 
244  std::map<makVrv::DtUniqueID, makVrv::DtSignalConnectionManager*> myRateChanges;
245 
247 
248  QString myTextFilter;
249 
251  };
252 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)