VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 DtExpandCollapseButton;
38 
40  {
41  public:
44  virtual ~DtVrfHierarchyPageLogic();
45 
46  public:
47  virtual void slot_itemSelectionChanged();
48  virtual void slot_rightClickOnItem(QPoint global);
49  virtual QTreeWidgetItem* itemForState(const DtVrfObjectListViewItem::DtVrfObjectState s) const;
50  virtual void expandToLevel(unsigned int i);
51  virtual void collapseToLevel(unsigned int i);
52  virtual void viewItemExpanded(QTreeWidgetItem* i);
53  virtual void viewItemCollapsed(QTreeWidgetItem* i);
54 
55  virtual void deparent(const QStringList&) = 0;
56  virtual void reparent(const QStringList& children, makVrv::DtUniqueID parentId) = 0;
57 
59  virtual bool processHierarchyItem(makVrv::DtElementIDHierarchyNode*, bool force = false);
60 
61  virtual void setShowObjectConsoleWarning(bool b);
62  virtual bool showObjectConsoleWarningIcon() const;
63 
64  protected:
65  virtual bool passesFogOfWarFilters(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s) const;
66  virtual bool passesGlobalFilters(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s) const;
67 
69  virtual void entityStateChanged(makVrv::DtElementID, DtSharedVrfVrlApplicationSettings::EntityStates, bool);
70 
71  virtual void slot_onTick(makVrv::DtDe&);
72 
75  virtual void slot_onStateViewAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>& s);
76 
78  virtual bool addNode(makVrv::DtElementIDHierarchyNode*) const;
79 
82  virtual bool isValidState(makVrv::DtUniqueID) const;
83 
85  virtual void filterItems();
86 
87  virtual void stateViewUpdated();
88 
90  protected:
91  virtual void removeNode(makVrv::DtElementID);
92  virtual bool positionNodeInHierarchy(makVrv::DtElementIDHierarchyNode*, bool force = false);
93  virtual void hookChildToParent(makVrv::DtElementIDHierarchyNode*, bool forceUpdate = false);
94  virtual void hookParentToChildren(makVrv::DtElementIDHierarchyNode*, bool forceUpdate = false);
96  virtual QVariant echelonId(const DtVrfObjectListViewItem*) const;
97  virtual void slot_stateViewAboutToBeRemoved(const makVrv::DtStateView<DtVrfObjectDataState>& s);
98 
99  virtual bool sortByEchelonId(const DtVrfObjectListViewItem& rhs, const DtVrfObjectListViewItem& lhs);
100  virtual int getDesignator(const std::string& echelon) const;
101 
102  protected:
103  virtual void addDataFunctions(DtVrfObjectListViewItem* item);
104  virtual void addSortingFunctions(DtVrfObjectListViewItem* item);
105  virtual void slot_externalSelectionChanged(
106  const makVrv::DtSelectionManager::IdSet& selected,
107  const makVrv::DtSelectionManager::IdSet& deselected );
108 
109  virtual void updateCollapseButtons();
110  virtual void updateCollapseButtons(QTreeWidgetItem*);
111 
112  virtual void createCollapseButton(unsigned int);
113  virtual void expandToLevel(unsigned int level, QTreeWidgetItem* lvi);
114  virtual void collapseToLevel(unsigned int level, QTreeWidgetItem* lvi);
115 
117  virtual void hierarchyItemsModified(const makVrv::DtElementData::EntryAttributesList&) = 0;
118 
119  virtual void hierarchyItemsRemoved(const makVrv::DtElementData::UniqueIdList&);
120 
121  virtual void checkPendingOperations();
122  virtual void deferredItemSelectionChanged();
123  virtual void checkFogOfWar(DtVrfObjectListViewItem*);
124 
125  protected:
126  typedef std::map<makVrv::DtElementID, DtVrfObjectListViewItem*> DtHierarchyListItemMap;
127  typedef std::map<makVrv::DtUniqueID, DtVrfObjectListViewItem*> DtHierarchyStateIDListItemMap;
128  typedef std::map<makVrv::DtElementID, std::pair<makVrv::DtElementIDHierarchyNode, int> > PendingOperationsMap;
129 
132  std::vector<DtExpandCollapseButton*> myCollapseButtonVector;
133 
136  bool myDirty;
143 
145  };
146 }

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)