VR-Forces 4.8 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 #include <boost/signals2.hpp>
14 
15 class QDialogButtonBox;
16 class QScrollArea;
17 class QVBoxLayout;
18 class QGridLayout;
19 class QHBoxLayout;
20 class QFrame;
21 class QPushButton;
22 class QLabel;
23 class QCloseEvent;
24 
25 namespace makVrf
26 {
27  namespace makVrfGuiObjectInformationQt
28  {
29  class DtInformationDialogHandler;
30  class DtInformationDialogSectionLine;
31  class DtInformationDialogWidgetSection;
32  class DtInformationDialogPageSection;
33 
35  {
36  Q_OBJECT
37 
38  public:
39  enum TabType
40  {
43  TabSmall
44  };
45 
47  DtInformationSectionedDialog(makVrv::DtDe& de,const std::string& pageName,QWidget* parent);
48 
51 
53  virtual void removeSection(DtInformationSectionDisplayHandler*);
54 
56  virtual void addSection(DtInformationDialogWidgetSection*, const QString& title = "", bool collapsible = true,
57  bool collapsed = false, bool maximumHeightIsMinimumHeight = false);
58 
60  virtual void addSection(DtInformationDialogPageSection*, const QString& title = "", bool collapsible = true,
61  bool collapsed = false);
62 
64  virtual DtInformationDialogHandler* detachSection(int);
65 
68  virtual DtInformationDialogHandler* addSection(const std::string& name, bool collapsible, TabType tabbed,
69  bool collapsed = false, const QString& title = "", bool maximumHeightIsMinimumHeight = false);
70 
71  virtual void deactivate();
72  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
73  virtual void setupWindowTitle(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
74  virtual bool stateViewRemoved(const makVrv::DtUniqueID&);
75  virtual void slot_onStateViewUpdated();
76 
78  virtual void setSectionSeparatorHidden(int i, bool b);
79  virtual bool sectionSeparatorHidden(int i) const;
80 
82  virtual void setSectionHidden(int i, bool b);
83  virtual bool sectionHidden(int i) const;
84 
85  virtual void showEvent(QShowEvent *);
86 
87  virtual void close()
88  {
89  QDialog::close();
90  }
91 
92  virtual void raise()
93  {
94  QDialog::raise();
95  }
96 
97  virtual void show()
98  {
99  QDialog::show();
100  }
101 
102  virtual void hide()
103  {
104  QDialog::hide();
105  }
106 
107  virtual void setParent(QWidget* p)
108  {
109  QDialog::setParent(p);
110  }
111 
112  virtual void setMinimumHeight(int i)
113  {
114  QDialog::setMinimumHeight(i);
115  }
116 
117  virtual void setMinimumWidth(int i)
118  {
119  QDialog::setMinimumWidth(i);
120  }
121 
122  virtual void setMaximumHeight(int i)
123  {
124  QDialog::setMaximumHeight(i);
125  }
126 
127  virtual void setMaximumWidth(int i)
128  {
129  QDialog::setMaximumWidth(i);
130  }
131 
132  virtual void setMaximumSize(const QSize& size)
133  {
134  QDialog::setMaximumSize(size);
135  }
136 
137  virtual QRect geometry() const
138  {
139  return QDialog::geometry();
140  }
141 
142  virtual void setMinimumSize(const QSize& size)
143  {
144  QDialog::setMinimumSize(size);
145  }
146 
147  virtual QSize minimumSizeHint() const
148  {
149  return QDialog::minimumSizeHint();
150  }
151 
154  virtual bool showInformationPage(std::string, DtInformationSectionDisplayHandler*);
155  virtual bool expandSection(std::string, bool b, DtInformationSectionDisplayHandler*);
156 
158  virtual void expandCollapseSection(std::string);
159 
160  virtual void selectPage(const std::string&, DtInformationSectionDisplayHandler* s = 0);
161 
162  boost::signals2::signal<void (makVrv::DtUniqueID, const std::string&)> signal_showInformationFor;
163 
164  protected:
165  virtual void sectionTitleSet(const QString&, DtInformationDialogHandler*);
166  virtual void sectionCollapsed(bool, DtInformationDialogSectionLine*);
167 
168  virtual void addPage(makVrv::DtPage*, const makVrv::DtPagePath&) {};
171  virtual void closeEvent(QCloseEvent* e);
172 
173  virtual void resizeDialog(int currentWidth = 0, int currentHeight = 0);
174  virtual void updateShowState(const std::string&, bool);
175 
176  public:
177  QScrollArea* myScrollArea;
178  QWidget* myScrollWidget;
179  QVBoxLayout* myScrollLayout;
180  QDialogButtonBox* myCloseButton;
181  QHBoxLayout* myBottomLayout;
182 
183  protected:
184  struct Section
185  {
186  Section() : canvas(0), page(0), section(0), sectionHidden(false), sectionLineHidden(false), rowStart(0), rowEnd(0) {};
187  Section(const Section& orig)
188  : canvas(orig.canvas), page(orig.page), section(orig.section), sectionName(orig.sectionName),
189  sectionHidden(orig.sectionHidden), sectionLineHidden(orig.sectionLineHidden), minimumSizeHint(orig.minimumSizeHint),
190  rowStart(orig.rowStart), rowEnd(orig.rowEnd) {};
191 
192  QWidget* canvas;
195  std::string sectionName;
199  int rowStart, rowEnd;
200  };
201 
202  typedef std::vector<Section> Sections;
204 
206  std::string myName;
207  };
208 
211  {
212  public:
214  DtInformationSummarySectionedDialog(makVrv::DtDe& de,const std::string& pageName,QWidget* parent);
215 
218 
220  virtual void addSection(DtInformationDialogWidgetSection*, const QString& title = "", bool collapsible = true,
221  bool collapsed = false, bool maximumHeightIsMinimumHeight = false);
222 
224  virtual void addSection(DtInformationDialogPageSection*, const QString& title = "", bool collapsible = true,
225  bool collapsed = false);
226 
228  virtual void removeSection(DtInformationSectionDisplayHandler*);
229 
230  virtual void resizeDialog(int currentWidth = 0, int currentHeight = 0);
231 
232  protected:
233  virtual void closeButtonPressed(DtInformationDialogSectionLine*);
234 
235  public:
236  QWidget* myCanvas;
237  QGridLayout* myGridLayout;
238  };
239 
241  {
242  Q_OBJECT
243 
244  public:
247 
250 
251  virtual void setCollapsed(bool);
252  virtual bool collapsed() const;
253 
254  virtual void setCollapsible(bool);
255  virtual bool collapsible() const;
256 
257  virtual void setTitle(const QString&);
258 
259  virtual void hideSectionLine(bool b);
260  virtual void setShowCloseButton(bool b);
261 
262  boost::signals2::signal<void (bool)> signal_sectionCollapsed;
263  boost::signals2::signal<void (DtInformationDialogSectionLine*)> signal_closeButtonPressed;
264 
265  protected slots:
266  virtual void expandButtonPressed();
267  virtual void closeButtonPressed();
268 
269  protected:
270  virtual bool eventFilter(QObject*, QEvent*);
271 
272  public:
274  QFrame* myLine;
277 
278  protected:
281  };
282  }
283 }
QVBoxLayout * myScrollLayout
Definition: informationSectionedDialog.h:179
virtual void setMinimumHeight(int i)
Definition: informationSectionedDialog.h:112
boost::signals2::signal< void(bool)> signal_sectionCollapsed
Definition: informationSectionedDialog.h:262
QSize minimumSizeHint
Definition: informationSectionedDialog.h:198
voidpf void uLong size
Definition: ioapi.h:39
makVrv::DtDe & myDe
Definition: informationSectionedDialog.h:279
QDialogButtonBox * myCloseButton
Definition: informationSectionedDialog.h:180
bool sectionHidden
Definition: informationSectionedDialog.h:196
Dialog page without the buttons.
Definition: informationDialog.h:163
virtual void setMaximumSize(const QSize &size)
Definition: informationSectionedDialog.h:132
virtual void hide()
Definition: informationSectionedDialog.h:102
boost::signals2::signal< void(makVrv::DtUniqueID, const std::string &)> signal_showInformationFor
Definition: informationSectionedDialog.h:162
Summary section dialogs only allow the addition of widget sections and will add them to one big maste...
Definition: informationSectionedDialog.h:210
QPushButton * myExpanded
Definition: informationSectionedDialog.h:275
virtual void setParent(QWidget *p)
Definition: informationSectionedDialog.h:107
Sections that are added in an information dialog section dialog need to be subclasses of this...
Definition: informationDialogHandler.h:109
QFrame * myLine
Definition: informationSectionedDialog.h:274
std::string sectionName
Definition: informationSectionedDialog.h:195
virtual void setMaximumHeight(int i)
Definition: informationSectionedDialog.h:122
makVrv::DtDe & myDe
Definition: informationSectionedDialog.h:205
boost::signals2::signal< void(DtInformationDialogSectionLine *)> signal_closeButtonPressed
Definition: informationSectionedDialog.h:263
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:30
virtual void addConditionalPage(makVrv::DtPage *, const makVrv::DtPagePath &, const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *state)
Adds a page that is not added to the toolbar, but would be added at the given index if if can be show...
Definition: informationSectionedDialog.h:169
bool sectionLineHidden
Definition: informationSectionedDialog.h:197
bool myIsCollapsible
Definition: informationSectionedDialog.h:280
!!!!!
Definition: informationDialogHandler.h:147
Sections mySections
Definition: informationSectionedDialog.h:203
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
A page path is the location of a page based upon its parents.
Definition: DtPagePath.h:24
virtual QSize minimumSizeHint() const
Definition: informationSectionedDialog.h:147
QWidget * myScrollWidget
Definition: informationSectionedDialog.h:178
std::vector< Section > Sections
Definition: informationSectionedDialog.h:202
virtual void close()
Definition: informationSectionedDialog.h:87
virtual void setMinimumWidth(int i)
Definition: informationSectionedDialog.h:117
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:25
Definition: informationDialogWidgetSection.h:52
TabType
Definition: informationSectionedDialog.h:39
virtual void show()
Definition: informationSectionedDialog.h:97
virtual void setMinimumSize(const QSize &size)
Definition: informationSectionedDialog.h:142
DtInformationDialogHandler * page
Definition: informationSectionedDialog.h:193
QPushButton * myCloseButton
Definition: informationSectionedDialog.h:276
virtual void addPage(makVrv::DtPage *, const makVrv::DtPagePath &)
Definition: informationSectionedDialog.h:168
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QGridLayout * myGridLayout
Definition: informationSectionedDialog.h:237
virtual void setMaximumWidth(int i)
Definition: informationSectionedDialog.h:127
DtInformationDialogSectionLine * section
Definition: informationSectionedDialog.h:194
virtual QRect geometry() const
Definition: informationSectionedDialog.h:137
QLabel * myLabel
Definition: informationSectionedDialog.h:273
QScrollArea * myScrollArea
Definition: informationSectionedDialog.h:177
QHBoxLayout * myBottomLayout
Definition: informationSectionedDialog.h:181
Contains makVrv::DtInformationDialog class.
Section(const Section &orig)
Definition: informationSectionedDialog.h:187
std::string myName
Definition: informationSectionedDialog.h:206
QWidget * myCanvas
Definition: informationSectionedDialog.h:236

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)