VR-Forces 4.1.1 Class Documentation
DtVrfHierarchyPageLogic.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtVrfHierarchyPageLogic.h,v $ $Revision: 1.2 $ $State: Exp $
7 ******************************************************************************/
8 
11 
13 
14 #pragma once
15 
19 #include <vrvCore/DtElementData.h>
21 
22 #include <QtCore/QPoint>
23 
24 #include <map>
25 
26 class QTreeWidgetItem;
27 
28 namespace makVrv
29 {
30  class DtDe;
31  class DtElementIDHierarchyNode;
32 };
33 
34 namespace makVrf
35 {
36  class DtVrfHierarchyPage;
37  class DtVrfObjectListViewItem;
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 void deparent(const QStringList&) = 0;
57  virtual void reparent(const QStringList& children, makVrv::DtUniqueID parentId) = 0;
58 
60  virtual void processHierarchyItem(makVrv::DtElementIDHierarchyNode*);
61 
62  protected:
63 
64  virtual void slot_onTick(makVrv::DtDe&);
65 
68  virtual void slot_onStateViewAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>& s);
69 
71  virtual bool addNode(makVrv::DtElementIDHierarchyNode*) const;
72 
73  protected:
74  virtual void removeNode(makVrv::DtElementID);
75  virtual void positionNodeInHierarchy(makVrv::DtElementIDHierarchyNode*);
76  virtual void hookChildToParent(makVrv::DtElementIDHierarchyNode*);
77  virtual void hookParentToChildren(makVrv::DtElementIDHierarchyNode*);
79  virtual QVariant echelonId(const DtVrfObjectListViewItem*) const;
80 
81  virtual bool sortByEchelonId(const DtVrfObjectListViewItem& rhs, const DtVrfObjectListViewItem& lhs);
82  virtual int getDesignator(const std::string& echelon) const;
83 
84  protected:
85  virtual void addDataFunctions(DtVrfObjectListViewItem* item);
86  virtual void addSortingFunctions(DtVrfObjectListViewItem* item);
87  virtual void slot_externalSelectionChanged(
88  const makVrv::DtSelectionManager::IdSet& selected,
89  const makVrv::DtSelectionManager::IdSet& deselected );
90 
91  virtual void updateCollapseButtons();
92  virtual void updateCollapseButtons(QTreeWidgetItem*);
93 
94  virtual void createCollapseButton(unsigned int);
95  virtual void expandToLevel(unsigned int level, QTreeWidgetItem* lvi);
96  virtual void collapseToLevel(unsigned int level, QTreeWidgetItem* lvi);
97 
99  virtual void hierarchyItemsModified(const makVrv::DtElementData::EntryAttributesList&) = 0;
100 
101  virtual void hierarchyItemsRemoved(const makVrv::DtElementData::UniqueIdList&);
102 
103  protected:
104  typedef std::map<makVrv::DtElementID, DtVrfObjectListViewItem*> DtHierarchyListItemMap;
105  typedef std::map<makVrv::DtUniqueID, DtVrfObjectListViewItem*> DtHierarchyStateIDListItemMap;
106  typedef std::map<makVrv::DtElementID, makVrv::DtElementIDHierarchyNode> PendingOperationsMap;
107 
110  std::vector<DtExpandCollapseButton*> myCollapseButtonVector;
111 
114  bool myDirty;
119  };
120 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)