VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
37  {
38  Q_OBJECT
39 
40  public:
41  DtInformationDialogWidgetSection(makVrv::DtDe& de, const std::string& name, QWidget* parent);
42 
44 
45  virtual bool stateViewRemoved(const makVrv::DtUniqueID&);
46  virtual void addPage(makVrv::DtPage*, const makVrv::DtPagePath&);
47  virtual void addConditionalPage(makVrv::DtPage* page, const makVrv::DtPagePath& p,
49  {
50  addPage(page, p);
51  }
52 
53  virtual makVrv::DtPage* findPage(const makVrv::DtPagePath&);
54 
55 
56  virtual void close()
57  {
58  QWidget::close();
59  }
60 
61  virtual void raise()
62  {
63  QWidget::raise();
64  }
65 
66  virtual void show()
67  {
68  QWidget::show();
69  }
70 
71  virtual void hide()
72  {
73  QWidget::hide();
74  }
75 
76  virtual void setParent(QWidget* o)
77  {
78  QWidget::setParent(o);
79  }
80 
81  virtual void setMinimumHeight(int i)
82  {
83  QWidget::setMinimumHeight(i);
84  }
85 
86  virtual void setMinimumWidth(int i)
87  {
88  QWidget::setMinimumWidth(i);
89  }
90 
91  virtual void setMaximumHeight(int i)
92  {
93  QWidget::setMaximumHeight(i);
94  }
95 
96  virtual void setMaximumWidth(int i)
97  {
98  QWidget::setMaximumWidth(i);
99  }
100 
101  virtual void setMaximumSize(const QSize& size)
102  {
103  QWidget::setMaximumSize(size);
104  }
105 
106  virtual QRect geometry() const
107  {
108  return QWidget::geometry();
109  }
110 
111  virtual void setMinimumSize(const QSize& size)
112  {
113  QWidget::setMinimumSize(size);
114  }
115 
116  virtual void selectPage(const std::string&) {};
117 
118  virtual QSize minimumSizeHint() const;
119 
120  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
121  virtual void slot_onStateViewUpdated();
122 
124  virtual void setMaximumHeightIsMinimumHeight(bool b);
125  bool maximumHeightIsMinimumHeight() const
126  {
127  return myMaximumHeightIsMinimumHeight;
128  }
129 
130  virtual void addDataItemSection(const DtInformationPagePath& informationPagePath);
131 
133  virtual void monitorStateViewChanges();
134  virtual void stopMonitoringStateViewChanges();
135 
136  protected slots:
137  virtual void widgetDestroyed();
138 
139  protected:
140 
142  {
143  InformationSectionItem() : page(0), updater(0), widget(0) {};
145  page(orig.page), widget(orig.widget), updater(orig.updater), pagePath(orig.pagePath) {};
146 
151  };
152 
153  virtual InformationSectionItem informationSectionItemForWidget(QWidget*) const;
154 
155  virtual bool addWidgetForSectionItem(InformationSectionItem&, QSize& minimalWidgetSize, int& row, int& col,
156  int& rowSpan, int& colSpan);
157  virtual void slot_showInformationPage(std::string);
158  virtual void slot_expandSection(std::string, bool);
159 
160  virtual bool eventFilter(QObject*, QEvent*);
161 
162  virtual DtInformationDialogPageLogic* logicForPath(const DtInformationPagePath&);
163 
164  virtual void deactivate();
165 
166  protected:
167  std::string myName;
168 
170 
171  typedef std::vector<InformationSectionItem> SectionItems;
173  QGridLayout* myGridLayout;
174 
175  typedef std::map<std::string, DtInformationDialogPageLogic*> Logics;
177 
179 
181 
183  };
184  }
185 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)