VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfHierarchyPage.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 
13 #if !defined(Q_MOC_RUN)
14 #include <vrvUtil/signalslib.h>
19 #include <vrvCoreQt/DtPage.h>
22 #endif
23 
24 #include <QtGui/QPixmap>
25 #include <QtWidgets/QStyledItemDelegate>
26 #include <QtWidgets/QPushButton>
27 
28 #include <boost/signals2.hpp>
29 
30 class QVBoxLayout;
31 class DtTreeWidget;
32 class QCheckBox;
33 class QFrame;
34 class QLineEdit;
35 class QPushButton;
36 class QHBoxLayout;
37 class QLabel;
38 class QMenu;
39 class QAction;
40 
41 namespace makVrf
42 {
43  class DtVrfHierarchyPageLogic;
44  class DtVrfTreeWidget;
45  class DtMarkingTextSignalItemDelegate;
46  class DtParentedUnderOrganizedNode;
47  class DtVrfStateViewCollectionManager;
48 
49  class DT_DLL_VRFGUICOREQT DtScrollButtonArea : public QWidget
50  {
51  public:
52  DtScrollButtonArea(QWidget* parent);
53 
54  virtual void scrollContentsBy(int x);
55 
56  QWidget* widget() { return myCanvas; };
57 
58  boost::signals2::signal<void (const QStringList&)> signal_deparent;
59 
60  protected:
61  virtual void paintEvent(QPaintEvent* e);
62  virtual void resizeEvent(QResizeEvent* e);
63  virtual void dragEnterEvent(QDragEnterEvent *event);
64  virtual void dropEvent(QDropEvent *e);
65 
66  protected:
67  QWidget* myCanvas;
68  };
69 
70 
74  {
75  Q_OBJECT
76 
77  public:
78 
79  DtExpandCollapseButton(QWidget *parent = NULL);
80  virtual ~DtExpandCollapseButton();
81 
82  virtual void setExpandPixmap(QPixmap pix);
83  virtual void setCollapsePixmap(QPixmap pix);
84  virtual void setLevel(int level);
85  virtual int level() const;
86  virtual void setIsExpand(bool value);
87  virtual bool isExpand() const;
88 
89  signals:
90 
91  void expandLevelClicked(unsigned int);
92  void collapseLevelClicked(unsigned int);
93 
94  protected slots:
95 
96  virtual void buttonClicked();
97 
98  protected:
99 
100  virtual void paintEvent(QPaintEvent*);
101 
102  protected:
103  QPixmap myExpandPixmap;
106  int myLevel;
107  };
108 
110  {
111  Q_OBJECT
112 
113  public:
115  virtual ~DtVrfHierarchyPage();
116 
117  DtVrfTreeWidget* echelon();
118 
121  virtual void selectObjects(const std::vector<DtObjectListViewItem::DtVrfObjectState>);
122 
124  virtual std::vector<DtObjectListViewItem::DtVrfObjectState> selectedObjects() const;
125 
126  virtual DtExpandCollapseButton* createExpandCollapseButton(unsigned int, int numButtons);
127 
128  virtual int initialSortColumn() const;
129 
130  virtual void changeForceOf(const QStringList& ids, int);
131 
132  virtual void setAllowNameChange(bool);
133  virtual void setEditPressTime(double);
134 
135  virtual void setRootNodeDefaultHidden(QTreeWidgetItem*, bool);
136  virtual bool isRootNodeDefaultHidden(QTreeWidgetItem*);
137 
139  virtual void setDoubleClickAttachesAndCenters(bool b);
140  bool doubleClickAttachesAndCenters() const;
141 
142  boost::signals2::signal<void (QTreeWidgetItem*)> signal_itemDoubleClicked;
143 
144  public slots:
146  virtual void onItemSelected();
147 
148  protected slots:
149  virtual void onMarkingTextChanged(DtObjectListViewItem*, const QString&);
151  virtual void onRightClickOnItem(QTreeWidgetItem*, QMouseEvent*, int col);
152 
153  virtual void onScrollRangeChanged(int);
154  virtual void onViewItemExpanded(QTreeWidgetItem*);
155  virtual void onViewItemCollapsed(QTreeWidgetItem*);
156  virtual void onExpandToLevel(unsigned int);
157  virtual void onCollapseToLevel(unsigned int);
158 
159  virtual void itemDoubleClicked(QTreeWidgetItem*);
160 
161  virtual void executeTextFilter();
162  virtual void resetTextFilter();
163 
164  protected:
165 
167  DtVrfHierarchyPage( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
168 
169  virtual DtVrfTreeWidget* createHierarchyList() = 0;
170  virtual DtVrfHierarchyPageLogic* createLogic() = 0;
171 
172  virtual void setupUi(QWidget* p);
173  virtual DtScrollButtonArea* createCollapseButtonConainer(QWidget* parent);
174 
175  virtual DtMarkingTextSignalItemDelegate* createTreeItemDelegate();
176 
177  virtual void slot_onDeParent(const QStringList&);
178  virtual void slot_onReParent(const QStringList& children, makVrv::DtUniqueID parentId);
179 
180  virtual void createSearchBar();
181  virtual void showSearchBars(bool);
182 
184  virtual void activate();
185 
187  virtual void deactivate();
188  virtual void setChildrenVisible(QTreeWidgetItem* item, bool visible);
189 
190  protected:
193 
194  typedef std::map<QTreeWidgetItem*, DtParentedUnderOrganizedNode*> VisibilityFilters;
196 
197  std::set<QTreeWidgetItem*> myDefaultHiddenRootNodes;
198 
201 
202  public:
203  QVBoxLayout* myMasterLayout;
206  QPixmap myPlusPixmap;
207  QPixmap myMinusPixmap;
209  QFrame* myDividingLine;
210 
214  QHBoxLayout* mySearchBarLayout;
215  };
216 
219  {
220  Q_OBJECT
221 
222  public:
224  virtual ~DtDragDropBoxItemDelegate();
225 
226  virtual void paint(QPainter *painter,
227  const QStyleOptionViewItem &option,
228  const QModelIndex &index) const;
229 
230  protected:
232  };
233 
236  {
237  public:
240 
243 
245  static void registerInstance(makVrv::DtDe& de, DtDragDropBoxItemDelegateCreator* instance);
246 
247  virtual DtDragDropBoxItemDelegate* create(QWidget* parent);
248 
249  protected:
251  };
252 
254  {
255  public:
258 
259  virtual DtVrfSelectionFilter* clone() const;
260 
263  virtual bool isValid(const makVrv::DtVrlinkSimulatedBaseState*, const DtVrfObjectDataState* = 0) const;
264  virtual bool operator==(const DtVrfSelectionFilter&) const;
265  virtual bool showAsPossibleFilter() const { return false; };
266 
267  virtual void setShouldBeVisible(bool);
268  bool shouldBeVisible() const
269  {
270  return myShouldBeVisible;
271  }
272 
273  virtual void setRootNode(QTreeWidgetItem*);
275  {
276  return myRootNode;
277  }
278 
279  virtual void setHierarchyPageLogic(DtVrfHierarchyPageLogic*);
281  {
282  return myPageParentLogic;
283  }
284 
285  virtual void setStateViewCollectionManager(DtVrfStateViewCollectionManager*);
287  {
288  return myStateViewCollectionManager;
289  }
290 
291  virtual void setForce(int) {};
292 
293  protected:
294  bool myShouldBeVisible;
298  };
299 }
Definition: vrfSelectionFilters.h:29
virtual bool showAsPossibleFilter() const
Definition: vrfHierarchyPage.h:265
Virtual base class.
Definition: DtVirtualBaseClass.h:19
std::map< QTreeWidgetItem *, DtParentedUnderOrganizedNode * > VisibilityFilters
Definition: vrfHierarchyPage.h:194
QPixmap myPlusPixmap
Definition: vrfHierarchyPage.h:206
Contains makVrv::DtPage class.
QPushButton * myResetButton
Definition: vrfHierarchyPage.h:213
Show drag over box and create editor for max length given entity type.
Definition: vrfHierarchyPage.h:218
Definition: vrfHierarchyPage.h:253
QTreeWidgetItem * myRootNode
Definition: vrfHierarchyPage.h:295
QPixmap myMinusPixmap
Definition: vrfHierarchyPage.h:207
QPixmap myCollapsePixmap
Definition: vrfHierarchyPage.h:104
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
DT_DLL_VRFGUICORE bool operator==(const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &lhs, const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &rhs)
Definition: vrfHierarchyPageLogic.h:59
QWidget * widget()
Definition: vrfHierarchyPage.h:56
boost::signals2::signal< void(QTreeWidgetItem *)> signal_itemDoubleClicked
Definition: vrfHierarchyPage.h:142
virtual void setForce(int)
Definition: vrfHierarchyPage.h:291
DtVrfHierarchyPageLogic * myPageParentLogic
Definition: vrfHierarchyPage.h:296
!!!!!!!!!!!!!!! DtDragDropBoxItemDelegateCreator
Definition: vrfHierarchyPage.h:235
DtVrfTreeWidget * myEchelon
Definition: vrfHierarchyPage.h:204
VisibilityFilters myVisibilityFilters
Definition: vrfHierarchyPage.h:195
DtScrollButtonArea * myCollapseButtonWidget
Definition: vrfHierarchyPage.h:205
QTreeWidgetItem * rootNode() const
Definition: vrfHierarchyPage.h:274
DtVrfTreeWidget * myTreeWidget
Definition: vrfHierarchyPage.h:231
int myLevel
Definition: vrfHierarchyPage.h:106
QWidget * myCanvas
Definition: vrfHierarchyPage.h:67
Definition: vrfTreeWidget.h:26
Definition: vrfHierarchyPage.h:109
Small wrapper class for QToolButton to create the Expand/Collapse buttons.
Definition: vrfHierarchyPage.h:73
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QFrame * myDividingLine
Definition: vrfHierarchyPage.h:209
DtVrfHierarchyPageLogic * myLogic
Definition: vrfHierarchyPage.h:191
This class is the central point for looking up information about a particular object in the VRF GUI...
Definition: vrfStateViewCollectionManager.h:127
QPixmap myExpandPixmap
Definition: vrfHierarchyPage.h:103
QLineEdit * mySearch
Definition: vrfHierarchyPage.h:212
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:27
makVrv::DtSignalConnectionManager myConnections
Definition: vrfHierarchyPage.h:192
Delegate that will signal marking text change when item is edited.
Definition: markingTextSignalItemDelegate.h:17
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Base class to provide boost signal/slot management.
DtVrfStateViewCollectionManager * stateViewCollectionManager() const
Definition: vrfHierarchyPage.h:286
QCheckBox * myShowEchelonId
Definition: vrfHierarchyPage.h:208
Definition: vrfHierarchyPage.h:49
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QHBoxLayout * mySearchBarLayout
Definition: vrfHierarchyPage.h:214
bool myIsExpand
Definition: vrfHierarchyPage.h:105
QLabel * mySearchLabel
Definition: vrfHierarchyPage.h:211
DtVrfStateViewCollectionManager * myStateViewCollectionManager
Definition: vrfHierarchyPage.h:297
Definition: objectListViewItem.h:45
bool myDoubleClickAttachesAndCenters
Defaults to false.
Definition: vrfHierarchyPage.h:200
std::set< QTreeWidgetItem * > myDefaultHiddenRootNodes
Definition: vrfHierarchyPage.h:197
QVBoxLayout * myMasterLayout
Definition: vrfHierarchyPage.h:203
DtVrfHierarchyPageLogic * hierarchyPageLogic() const
Definition: vrfHierarchyPage.h:280
bool shouldBeVisible() const
Definition: vrfHierarchyPage.h:268
makVrv::DtDe & myDe
Definition: vrfHierarchyPage.h:250
Definition: vrfObjectDataState.h:111

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)