VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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  virtual void updateShowState(const std::string&, bool);
174 
175  public:
176  QScrollArea* myScrollArea;
177  QWidget* myScrollWidget;
178  QVBoxLayout* myScrollLayout;
179  QDialogButtonBox* myCloseButton;
180  QHBoxLayout* myBottomLayout;
181 
182  protected:
183  struct Section
184  {
185  Section() : canvas(0), page(0), section(0), sectionHidden(false), sectionLineHidden(false), rowStart(0), rowEnd(0) {};
186  Section(const Section& orig)
187  : canvas(orig.canvas), page(orig.page), section(orig.section), sectionName(orig.sectionName),
188  sectionHidden(orig.sectionHidden), sectionLineHidden(orig.sectionLineHidden), minimumSizeHint(orig.minimumSizeHint),
189  rowStart(orig.rowStart), rowEnd(orig.rowEnd) {};
190 
191  QWidget* canvas;
194  std::string sectionName;
198  int rowStart, rowEnd;
199  };
200 
201  typedef std::vector<Section> Sections;
203 
205  std::string myName;
206  };
207 
210  {
211  public:
213  DtInformationSummarySectionedDialog(makVrv::DtDe& de,const std::string& pageName,QWidget* parent);
214 
217 
219  virtual void addSection(DtInformationDialogWidgetSection*, const QString& title = "", bool collapsible = true,
220  bool collapsed = false, bool maximumHeightIsMinimumHeight = false);
221 
223  virtual void addSection(DtInformationDialogPageSection*, const QString& title = "", bool collapsible = true,
224  bool collapsed = false);
225 
227  virtual void removeSection(DtInformationSectionDisplayHandler*);
228 
229  virtual void resizeDialog(int currentWidth = 0, int currentHeight = 0);
230 
231  protected:
232  virtual void closeButtonPressed(DtInformationDialogSectionLine*);
233 
234  public:
235  QWidget* myCanvas;
236  QGridLayout* myGridLayout;
237  };
238 
240  {
241  Q_OBJECT
242 
243  public:
246 
249 
250  virtual void setCollapsed(bool);
251  virtual bool collapsed() const;
252 
253  virtual void setCollapsible(bool);
254  virtual bool collapsible() const;
255 
256  virtual void setTitle(const QString&);
257 
258  virtual void hideSectionLine(bool b);
259  virtual void setShowCloseButton(bool b);
260 
261  boost::signal<void (bool)> signal_sectionCollapsed;
262  boost::signal<void (DtInformationDialogSectionLine*)> signal_closeButtonPressed;
263 
264  protected slots:
265  virtual void expandButtonPressed();
266  virtual void closeButtonPressed();
267 
268  protected:
269  virtual bool eventFilter(QObject*, QEvent*);
270 
271  public:
273  QFrame* myLine;
276 
277  protected:
280  };
281  }
282 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)