VR-Forces 4.6 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 #include <vrvUtil/signalslib.h>
17 #include <vrvCoreQt/DtPage.h>
18 #include <QtWidgets/QPushButton>
20 #include <QtGui/QPixmap>
21 #include <QtWidgets/QStyledItemDelegate>
22 
23 #include <boost/signal.hpp>
24 
25 class QVBoxLayout;
26 class DtTreeWidget;
27 class QCheckBox;
28 class QFrame;
29 class QLineEdit;
30 
31 namespace makVrf
32 {
33  class DtVrfHierarchyPageLogic;
34  class DtVrfTreeWidget;
35  class DtMarkingTextSignalItemDelegate;
36 
37  class DT_DLL_VRFGUICOREQT DtScrollButtonArea : public QWidget
38  {
39  public:
40  DtScrollButtonArea(QWidget* parent);
41 
42  virtual void scrollContentsBy(int x);
43 
44  QWidget* widget() { return myCanvas; };
45 
46  boost::signal<void (const QStringList&)> signal_deparent;
47 
48  protected:
49  virtual void paintEvent(QPaintEvent* e);
50  virtual void resizeEvent(QResizeEvent* e);
51  virtual void dragEnterEvent(QDragEnterEvent *event);
52  virtual void dropEvent(QDropEvent *e);
53 
54  protected:
55  QWidget* myCanvas;
56  };
57 
58 
62  {
63  Q_OBJECT
64 
65  public:
66 
67  DtExpandCollapseButton(QWidget *parent = NULL);
68  virtual ~DtExpandCollapseButton();
69 
70  virtual void setExpandPixmap(QPixmap pix);
71  virtual void setCollapsePixmap(QPixmap pix);
72  virtual void setLevel(int level);
73  virtual int level() const;
74  virtual void setIsExpand(bool value);
75  virtual bool isExpand() const;
76 
77  signals:
78 
79  void expandLevelClicked(unsigned int);
80  void collapseLevelClicked(unsigned int);
81 
82  protected slots:
83 
84  virtual void buttonClicked();
85 
86  protected:
87 
88  virtual void paintEvent(QPaintEvent*);
89 
90  protected:
91  QPixmap myExpandPixmap;
93  bool myIsExpand;
94  int myLevel;
95  };
96 
98  {
99  Q_OBJECT
100 
101  public:
102 
104  virtual ~DtVrfHierarchyPage();
105 
106  DtVrfTreeWidget* echelon();
107 
110  virtual void selectObjects(const std::vector<DtVrfObjectListViewItem::DtVrfObjectState>);
111 
113  virtual std::vector<DtVrfObjectListViewItem::DtVrfObjectState> selectedObjects() const;
114 
115  virtual DtExpandCollapseButton* createExpandCollapseButton(unsigned int, int numButtons);
116 
117  virtual int initialSortColumn() const;
118 
119  virtual void changeForceOf(const QStringList& ids, int);
120 
121  boost::signal<void (QTreeWidgetItem*)> signal_itemDoubleClicked;
122 
123  public slots:
125  virtual void onItemSelected();
126 
127  protected slots:
128  virtual void onMarkingTextChanged(DtVrfObjectListViewItem*, const QString&);
129 
131  virtual void onRightClickOnItem(QTreeWidgetItem*, QMouseEvent*, int col);
132 
133  virtual void onScrollRangeChanged(int);
134  virtual void onViewItemExpanded(QTreeWidgetItem*);
135  virtual void onViewItemCollapsed(QTreeWidgetItem*);
136  virtual void onExpandToLevel(unsigned int);
137  virtual void onCollapseToLevel(unsigned int);
138 
139  virtual void itemDoubleClicked(QTreeWidgetItem*);
140 
141  protected:
142 
144  DtVrfHierarchyPage( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
145 
146  virtual DtVrfTreeWidget* createHierarchyList() = 0;
147  virtual DtVrfHierarchyPageLogic* createLogic() = 0;
148 
149  virtual void setupUi(QWidget* p);
150  virtual DtScrollButtonArea* createCollapseButtonConainer(QWidget* parent);
151 
152  virtual DtMarkingTextSignalItemDelegate* createTreeItemDelegate();
153 
154  virtual void slot_onDeParent(const QStringList&);
155  virtual void slot_onReParent(const QStringList& children, makVrv::DtUniqueID parentId);
156 
158  virtual void activate();
159 
161  virtual void deactivate();
162 
163  protected:
166 
167  public:
168  QVBoxLayout* myMasterLayout;
171  QPixmap myPlusPixmap;
172  QPixmap myMinusPixmap;
174  QFrame* myDividingLine;
175  };
176 
179  {
180  Q_OBJECT
181 
182  public:
185 
186  virtual QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option,
187  const QModelIndex &index) const;
188 
189  protected:
190  virtual void editingItemDestroyed();
191 
192  protected slots:
193  virtual void editingFinished();
194  virtual void cleanup();
195  virtual void textChanged(const QString&);
196 
197  signals:
198  void markingTextChanged(DtVrfObjectListViewItem*, const QString&);
199 
200  protected:
203  mutable bool myNameChanged;
204  };
205 
208  {
209  Q_OBJECT
210 
211  public:
213  virtual ~DtDragDropBoxItemDelegate();
214 
215  virtual void paint(QPainter *painter,
216  const QStyleOptionViewItem &option,
217  const QModelIndex &index) const;
218 
219  protected:
221  };
222 
225  {
226  public:
229 
232 
234  static void registerInstance(makVrv::DtDe& de, DtDragDropBoxItemDelegateCreator* instance);
235 
236  virtual DtDragDropBoxItemDelegate* create(QWidget* parent);
237 
238  protected:
240  };
241 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)