VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
informationDialogWidgetSection.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvUtil/signalslib.h>
13 
17 #include <vrvCore/DtPagePath.h>
19 
20 #include <QWidget>
21 
22 class QScrollArea;
23 class QVBoxLayout;
24 class QGridLayout;
25 class QLabel;
26 class QEvent;
27 
28 namespace makVrf
29 {
30  namespace makVrfGuiObjectInformationQt
31  {
32  class DtInformationDialogPage;
33  class DtItemUpdateFunction;
34  class DtInformationDialogPageLogic;
35  class DtInformationDialogWidgetSection;
36 
38  {
39  public:
42 
43  virtual bool eventFilter(QObject* o, QEvent* e);
44 
45  protected:
48  };
49 
51  {
52  Q_OBJECT
53 
54  public:
55  DtInformationDialogWidgetSection(makVrv::DtDe& de, const std::string& name, QWidget* parent);
56 
58 
59  virtual bool stateViewRemoved(const makVrv::DtUniqueID&);
60  virtual void addPage(makVrv::DtPage*, const makVrv::DtPagePath&);
61  virtual void addConditionalPage(makVrv::DtPage* page, const makVrv::DtPagePath& p,
63  {
64  addPage(page, p);
65  }
66 
67  virtual makVrv::DtPage* findPage(const makVrv::DtPagePath&);
68 
69 
70  virtual void close()
71  {
72  QWidget::close();
73  }
74 
75  virtual void raise()
76  {
77  QWidget::raise();
78  }
79 
80  virtual void show()
81  {
82  QWidget::show();
83  }
84 
85  virtual void hide()
86  {
87  QWidget::hide();
88  }
89 
90  virtual void setParent(QWidget* o)
91  {
92  QWidget::setParent(o);
93  }
94 
95  virtual void setMinimumHeight(int i)
96  {
97  QWidget::setMinimumHeight(i);
98  }
99 
100  virtual void setMinimumWidth(int i)
101  {
102  QWidget::setMinimumWidth(i);
103  }
104 
105  virtual void setMaximumHeight(int i)
106  {
107  QWidget::setMaximumHeight(i);
108  }
109 
110  virtual void setMaximumWidth(int i)
111  {
112  QWidget::setMaximumWidth(i);
113  }
114 
115  virtual void setMaximumSize(const QSize& size)
116  {
117  QWidget::setMaximumSize(size);
118  }
119 
120  virtual QRect geometry() const
121  {
122  return QWidget::geometry();
123  }
124 
125  virtual void setMinimumSize(const QSize& size)
126  {
127  QWidget::setMinimumSize(size);
128  }
129 
130  virtual void selectPage(const std::string&) {};
131 
132  virtual QSize minimumSizeHint() const;
133 
134  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
135  virtual void slot_onStateViewUpdated();
136 
138  virtual void setMaximumHeightIsMinimumHeight(bool b);
139  bool maximumHeightIsMinimumHeight() const
140  {
141  return myMaximumHeightIsMinimumHeight;
142  }
143 
144  virtual void addDataItemSection(const DtInformationPagePath& informationPagePath);
145 
147  virtual void monitorStateViewChanges();
148  virtual void stopMonitoringStateViewChanges();
149 
150  virtual void forceRemove();
151 
152  virtual void mainWindowShown();
153  virtual void mainWindowHidden();
154 
155  protected slots:
156  virtual void widgetDestroyed();
157 
158  protected:
159  virtual bool eventFilter(QObject*, QEvent*);
160 
162  {
163  InformationSectionItem() : page(0), updater(0), widget(0) {};
165  page(orig.page), widget(orig.widget), updater(orig.updater), pagePath(orig.pagePath) {};
166 
169  QWidget* widget;
171  };
172 
173  virtual InformationSectionItem informationSectionItemForWidget(QWidget*) const;
174 
175  virtual void slot_itemRequestedUpdate(DtItemUpdateFunction*);
176 
177  virtual bool addWidgetForSectionItem(InformationSectionItem&, QSize& minimalWidgetSize, int& row, int& col,
178  int& rowSpan, int& colSpan);
179  virtual void slot_showInformationPage(std::string);
180  virtual void slot_expandSection(std::string, bool);
181 
182  virtual DtInformationDialogPageLogic* logicForPath(const DtInformationPagePath&);
183 
184  virtual void deactivate();
185 
186  protected:
187  std::string myName;
188 
190 
191  typedef std::vector<InformationSectionItem> SectionItems;
193  QGridLayout* myGridLayout;
194 
195  typedef std::map<std::string, DtInformationDialogPageLogic*> Logics;
197 
199 
201 
204  };
205  }
206 }

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)