VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 #if !defined(Q_MOC_RUN)
13 #include <vrvUtil/signalslib.h>
14 
18 #include <vrvCore/DtPagePath.h>
20 #endif
21 
22 #include <QWidget>
23 
24 class QScrollArea;
25 class QVBoxLayout;
26 class QGridLayout;
27 class QLabel;
28 class QEvent;
29 
30 namespace makVrf
31 {
32  namespace makVrfGuiObjectInformationQt
33  {
34  class DtInformationDialogPage;
35  class DtItemUpdateFunction;
36  class DtInformationDialogPageLogic;
37  class DtInformationDialogWidgetSection;
38 
40  {
41  public:
44 
45  virtual bool eventFilter(QObject* o, QEvent* e);
46 
47  protected:
50  };
51 
53  {
54  Q_OBJECT
55 
56  public:
57  DtInformationDialogWidgetSection(makVrv::DtDe& de, const std::string& name, QWidget* parent);
58 
60 
61  virtual bool stateViewRemoved(const makVrv::DtUniqueID&);
62  virtual void addPage(makVrv::DtPage*, const makVrv::DtPagePath&);
63  virtual void setVertexId(makVrv::DtUniqueID);
66  {
67  addPage(page, p);
68  }
69 
70  virtual makVrv::DtPage* findPage(const makVrv::DtPagePath&);
71 
72 
73  virtual void close()
74  {
75  QWidget::close();
76  }
77 
78  virtual void raise()
79  {
80  QWidget::raise();
81  }
82 
83  virtual void show()
84  {
85  QWidget::show();
86  }
87 
88  virtual void hide()
89  {
90  QWidget::hide();
91  }
92 
93  virtual void setParent(QWidget* o)
94  {
95  QWidget::setParent(o);
96  }
97 
98  virtual void setMinimumHeight(int i)
99  {
100  QWidget::setMinimumHeight(i);
101  }
102 
103  virtual void setMinimumWidth(int i)
104  {
105  QWidget::setMinimumWidth(i);
106  }
107 
108  virtual void setMaximumHeight(int i)
109  {
110  QWidget::setMaximumHeight(i);
111  }
112 
113  virtual void setMaximumWidth(int i)
114  {
115  QWidget::setMaximumWidth(i);
116  }
117 
118  virtual void setMaximumSize(const QSize& size)
119  {
120  QWidget::setMaximumSize(size);
121  }
122 
123  virtual QRect geometry() const
124  {
125  return QWidget::geometry();
126  }
127 
128  virtual void setMinimumSize(const QSize& size)
129  {
130  QWidget::setMinimumSize(size);
131  }
132 
133  virtual void selectPage(const std::string&, DtInformationSectionDisplayHandler* s = 0) {};
134 
135  virtual QSize minimumSizeHint() const;
136 
137  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
138  virtual void slot_onStateViewUpdated();
139 
141  virtual void setMaximumHeightIsMinimumHeight(bool b);
143  {
144  return myMaximumHeightIsMinimumHeight;
145  }
146 
147  virtual void addDataItemSection(const DtInformationPagePath& informationPagePath);
148 
150  virtual void monitorStateViewChanges();
151  virtual void stopMonitoringStateViewChanges();
152 
153  virtual void forceRemove();
154 
155  virtual void mainWindowShown();
156  virtual void mainWindowHidden();
157 
158  virtual void deactivate(bool keepLogic = false);
159 
160  protected slots:
161  virtual void widgetDestroyed();
162 
163  protected:
164  virtual bool eventFilter(QObject*, QEvent*);
165 
167  {
168  InformationSectionItem() : page(0), updater(0), widget(0) {};
170  page(orig.page), widget(orig.widget), updater(orig.updater), pagePath(orig.pagePath) {};
171 
174  QWidget* widget;
176  };
177 
178  virtual InformationSectionItem informationSectionItemForWidget(QWidget*) const;
179 
180  virtual void slot_itemRequestedUpdate(DtItemUpdateFunction*);
181 
182  virtual bool addWidgetForSectionItem(InformationSectionItem&, QSize& minimalWidgetSize, int& row, int& col,
183  int& rowSpan, int& colSpan);
184  virtual void slot_showInformationPage(std::string, DtInformationSectionDisplayHandler* handler = 0);
185  virtual void slot_expandSection(std::string, bool);
186 
187  virtual DtInformationDialogPageLogic* logicForPath(const DtInformationPagePath&);
188 
189  protected:
190  std::string myName;
191 
193 
194  typedef std::vector<InformationSectionItem> SectionItems;
196  QGridLayout* myGridLayout;
197 
198  typedef std::map<std::string, DtInformationDialogPageLogic*> Logics;
200 
202 
203  boost::signals2::connection myStateViewConnection;
204 
208  };
209  }
210 }
DtInformationDialogWidgetSection * myParent
Definition: informationDialogWidgetSection.h:49
DtItemUpdateFunction * updater
Definition: informationDialogWidgetSection.h:173
virtual void setMaximumHeight(int i)
Definition: informationDialogWidgetSection.h:108
virtual QRect geometry() const
Definition: informationDialogWidgetSection.h:123
Contains makVrv::DtPagePath class.
virtual void selectPage(const std::string &, DtInformationSectionDisplayHandler *s=0)
Definition: informationDialogWidgetSection.h:133
makVrv::DtDe & myDe
Definition: informationDialogWidgetSection.h:48
virtual void setMinimumHeight(int i)
Definition: informationDialogWidgetSection.h:98
virtual void close()
Definition: informationDialogWidgetSection.h:73
bool myMonitorStateViewChanges
Definition: informationDialogWidgetSection.h:205
Logics myLogics
Definition: informationDialogWidgetSection.h:199
DtApplicationShowHideEventFilterHandler * myShowHideEventFilterHandler
Definition: informationDialogWidgetSection.h:206
virtual void hide()
Definition: informationDialogWidgetSection.h:88
voidpf void uLong size
Definition: ioapi.h:39
virtual void setMinimumSize(const QSize &size)
Definition: informationDialogWidgetSection.h:128
virtual void setMaximumSize(const QSize &size)
Definition: informationDialogWidgetSection.h:118
bool myMaximumHeightIsMinimumHeight
Definition: informationDialogWidgetSection.h:201
virtual void addConditionalPage(makVrv::DtPage *page, const makVrv::DtPagePath &p, 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: informationDialogWidgetSection.h:64
bool maximumHeightIsMinimumHeight() const
Definition: informationDialogWidgetSection.h:142
std::map< std::string, DtInformationDialogPageLogic * > Logics
Definition: informationDialogWidgetSection.h:198
Sections that are added in an information dialog section dialog need to be subclasses of this...
Definition: informationDialogHandler.h:109
Contains makVrf::DtInformationPagePath class.
virtual void setMaximumWidth(int i)
Definition: informationDialogWidgetSection.h:113
virtual void setParent(QWidget *o)
Definition: informationDialogWidgetSection.h:93
makVrv::DtUniqueID myVertexId
Definition: informationDialogWidgetSection.h:207
makVrv::DtPagePath pagePath
Definition: informationDialogWidgetSection.h:175
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:27
virtual void show()
Definition: informationDialogWidgetSection.h:83
!!!!!
Definition: informationDialogHandler.h:147
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
A page path is the location of a page based upon its parents.
Definition: DtPagePath.h:21
A page path is the location of a page based upon it&#39;s parents.
Definition: informationPagePath.h:23
Base class to provide boost signal/slot management.
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:25
InformationSectionItem(const InformationSectionItem &orig)
Definition: informationDialogWidgetSection.h:169
Definition: informationDialogWidgetSection.h:52
std::vector< InformationSectionItem > SectionItems
Definition: informationDialogWidgetSection.h:194
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QSize myMinimumSizeHint
Definition: informationDialogWidgetSection.h:192
Contains makVrv::DtInformationDialogHandler class.
QGridLayout * myGridLayout
Definition: informationDialogWidgetSection.h:196
SectionItems mySectionItems
Definition: informationDialogWidgetSection.h:195
std::string myName
Definition: informationDialogWidgetSection.h:190
boost::signals2::connection myStateViewConnection
Definition: informationDialogWidgetSection.h:203
virtual void setMinimumWidth(int i)
Definition: informationDialogWidgetSection.h:103

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)