VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
informationSectionedDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 class QDialogButtonBox;
15 class QScrollArea;
16 class QVBoxLayout;
17 class QGridLayout;
18 class QHBoxLayout;
19 class QFrame;
20 class QPushButton;
21 class QLabel;
22 class QCloseEvent;
23 
24 namespace makVrf
25 {
26  namespace makVrfGuiObjectInformationQt
27  {
28  class DtInformationDialogHandler;
29  class DtInformationDialogSectionLine;
30  class DtInformationDialogWidgetSection;
31  class DtInformationDialogPageSection;
32 
34  {
35  Q_OBJECT
36 
37  public:
38  enum TabType
39  {
42  TabSmall
43  };
44 
46  DtInformationSectionedDialog(makVrv::DtDe& de,const std::string& pageName,QWidget* parent);
47 
50 
52  virtual void removeSection(DtInformationSectionDisplayHandler*);
53 
55  virtual void addSection(DtInformationDialogWidgetSection*, const QString& title = "", bool collapsible = true,
56  bool collapsed = false, bool maximumHeightIsMinimumHeight = false);
57 
59  virtual void addSection(DtInformationDialogPageSection*, const QString& title = "", bool collapsible = true,
60  bool collapsed = false);
61 
63  virtual DtInformationDialogHandler* detachSection(int);
64 
67  virtual DtInformationDialogHandler* addSection(const std::string& name, bool collapsible, TabType tabbed,
68  bool collapsed = false, const QString& title = "", bool maximumHeightIsMinimumHeight = false);
69 
70  virtual void deactivate();
71  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
72  virtual void setupWindowTitle(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
73  virtual bool stateViewRemoved(const makVrv::DtUniqueID&);
74  virtual void slot_onStateViewUpdated();
75 
77  virtual void setSectionSeparatorHidden(int i, bool b);
78  virtual bool sectionSeparatorHidden(int i) const;
79 
81  virtual void setSectionHidden(int i, bool b);
82  virtual bool sectionHidden(int i) const;
83 
84  virtual void showEvent(QShowEvent *);
85 
86  virtual void close()
87  {
88  QDialog::close();
89  }
90 
91  virtual void raise()
92  {
93  QDialog::raise();
94  }
95 
96  virtual void show()
97  {
98  QDialog::show();
99  }
100 
101  virtual void hide()
102  {
103  QDialog::hide();
104  }
105 
106  virtual void setParent(QWidget* p)
107  {
108  QDialog::setParent(p);
109  }
110 
111  virtual void setMinimumHeight(int i)
112  {
113  QDialog::setMinimumHeight(i);
114  }
115 
116  virtual void setMinimumWidth(int i)
117  {
118  QDialog::setMinimumWidth(i);
119  }
120 
121  virtual void setMaximumHeight(int i)
122  {
123  QDialog::setMaximumHeight(i);
124  }
125 
126  virtual void setMaximumWidth(int i)
127  {
128  QDialog::setMaximumWidth(i);
129  }
130 
131  virtual void setMaximumSize(const QSize& size)
132  {
133  QDialog::setMaximumSize(size);
134  }
135 
136  virtual QRect geometry() const
137  {
138  return QDialog::geometry();
139  }
140 
141  virtual void setMinimumSize(const QSize& size)
142  {
143  QDialog::setMinimumSize(size);
144  }
145 
146  virtual QSize minimumSizeHint() const
147  {
148  return QDialog::minimumSizeHint();
149  }
150 
153  virtual bool showInformationPage(std::string, DtInformationSectionDisplayHandler*);
154  virtual bool expandSection(std::string, bool b, DtInformationSectionDisplayHandler*);
155 
157  virtual void expandCollapseSection(std::string);
158 
159  virtual void selectPage(const std::string&);
160 
161  boost::signal<void (makVrv::DtUniqueID, const std::string&)> signal_showInformationFor;
162 
163  protected:
164  virtual void sectionTitleSet(const QString&, DtInformationDialogHandler*);
165  virtual void sectionCollapsed(bool, DtInformationDialogSectionLine*);
166 
167  virtual void addPage(makVrv::DtPage*, const makVrv::DtPagePath&) {};
168  virtual void addConditionalPage(makVrv::DtPage*, const makVrv::DtPagePath&,
170  virtual void closeEvent(QCloseEvent* e);
171 
172  virtual void resizeDialog(int currentWidth = 0, int currentHeight = 0);
173 
174  public:
175  QScrollArea* myScrollArea;
177  QVBoxLayout* myScrollLayout;
178  QDialogButtonBox* myCloseButton;
179  QHBoxLayout* myBottomLayout;
180 
181  protected:
182  struct Section
183  {
184  Section() : canvas(0), page(0), section(0), sectionHidden(false), sectionLineHidden(false), rowStart(0), rowEnd(0) {};
185  Section(const Section& orig)
186  : canvas(orig.canvas), page(orig.page), section(orig.section), sectionName(orig.sectionName),
187  sectionHidden(orig.sectionHidden), sectionLineHidden(orig.sectionLineHidden), minimumSizeHint(orig.minimumSizeHint),
188  rowStart(orig.rowStart), rowEnd(orig.rowEnd) {};
189 
190  QWidget* canvas;
193  std::string sectionName;
197  int rowStart, rowEnd;
198  };
199 
200  typedef std::vector<Section> Sections;
202 
204  std::string myName;
205  };
206 
209  {
210  public:
212  DtInformationSummarySectionedDialog(makVrv::DtDe& de,const std::string& pageName,QWidget* parent);
213 
216 
218  virtual void addSection(DtInformationDialogWidgetSection*, const QString& title = "", bool collapsible = true,
219  bool collapsed = false, bool maximumHeightIsMinimumHeight = false);
220 
222  virtual void addSection(DtInformationDialogPageSection*, const QString& title = "", bool collapsible = true,
223  bool collapsed = false);
224 
226  virtual void removeSection(DtInformationSectionDisplayHandler*);
227 
228  virtual void resizeDialog(int currentWidth = 0, int currentHeight = 0);
229 
230  protected:
231  virtual void closeButtonPressed(DtInformationDialogSectionLine*);
232 
233  public:
235  QGridLayout* myGridLayout;
236  };
237 
239  {
240  Q_OBJECT
241 
242  public:
245 
248 
249  virtual void setCollapsed(bool);
250  virtual bool collapsed() const;
251 
252  virtual void setCollapsible(bool);
253  virtual bool collapsible() const;
254 
255  virtual void setTitle(const QString&);
256 
257  virtual void hideSectionLine(bool b);
258  virtual void setShowCloseButton(bool b);
259 
260  boost::signal<void (bool)> signal_sectionCollapsed;
261  boost::signal<void (DtInformationDialogSectionLine*)> signal_closeButtonPressed;
262 
263  protected slots:
264  virtual void expandButtonPressed();
265  virtual void closeButtonPressed();
266 
267  protected:
268  virtual bool eventFilter(QObject*, QEvent*);
269 
270  public:
272  QFrame* myLine;
275 
276  protected:
279  };
280  }
281 }

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)