VR-Forces 4.5 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  virtual void forceRemove();
137 
138  protected slots:
139  virtual void widgetDestroyed();
140 
141  protected:
142 
144  {
145  InformationSectionItem() : page(0), updater(0), widget(0) {};
147  page(orig.page), widget(orig.widget), updater(orig.updater), pagePath(orig.pagePath) {};
148 
153  };
154 
155  virtual InformationSectionItem informationSectionItemForWidget(QWidget*) const;
156 
157  virtual bool addWidgetForSectionItem(InformationSectionItem&, QSize& minimalWidgetSize, int& row, int& col,
158  int& rowSpan, int& colSpan);
159  virtual void slot_showInformationPage(std::string);
160  virtual void slot_expandSection(std::string, bool);
161 
162  virtual bool eventFilter(QObject*, QEvent*);
163 
164  virtual DtInformationDialogPageLogic* logicForPath(const DtInformationPagePath&);
165 
166  virtual void deactivate();
167 
168  protected:
169  std::string myName;
170 
172 
173  typedef std::vector<InformationSectionItem> SectionItems;
175  QGridLayout* myGridLayout;
176 
177  typedef std::map<std::string, DtInformationDialogPageLogic*> Logics;
179 
181 
183 
185  };
186  }
187 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)