VR-Forces 5.0.2 Developer's Guide
 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 
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  virtual void hideLineBreaks(bool b);
140 
142  virtual void setMaximumHeightIsMinimumHeight(bool b);
144  {
145  return myMaximumHeightIsMinimumHeight;
146  }
147 
148  virtual void addDataItemSection(const DtInformationPagePath& informationPagePath);
149 
151  virtual void monitorStateViewChanges();
152  virtual void stopMonitoringStateViewChanges();
153 
154  virtual void forceRemove();
155 
156  virtual void mainWindowShown();
157  virtual void mainWindowHidden();
158 
159  virtual void deactivate(bool keepLogic = false);
160 
161  protected slots:
162  virtual void widgetDestroyed();
163 
164  protected:
165  virtual bool eventFilter(QObject*, QEvent*);
166 
168  {
169  InformationSectionItem() : page(0), updater(0), widget(0) {};
171  page(orig.page), widget(orig.widget), updater(orig.updater), pagePath(orig.pagePath) {};
172 
175  QWidget* widget;
177  };
178 
179  virtual InformationSectionItem informationSectionItemForWidget(QWidget*) const;
180 
181  virtual void slot_itemRequestedUpdate(DtItemUpdateFunction*);
182 
183  virtual bool addWidgetForSectionItem(InformationSectionItem&, QSize& minimalWidgetSize, int& row, int& col,
184  int& rowSpan, int& colSpan);
185  virtual void slot_showInformationPage(std::string, DtInformationSectionDisplayHandler* handler = 0);
186  virtual void slot_expandSection(std::string, bool);
187 
188  virtual DtInformationDialogPageLogic* logicForPath(const DtInformationPagePath&);
189 
190  protected:
191  std::string myName;
192 
194 
195  typedef std::vector<InformationSectionItem> SectionItems;
197  QGridLayout* myGridLayout;
198 
199  typedef std::map<std::string, DtInformationDialogPageLogic*> Logics;
201 
203 
204  boost::signals2::connection myStateViewConnection;
205 
209  };
210  }
211 }
DtInformationDialogWidgetSection * myParent
Definition: informationDialogWidgetSection.h:49
DtItemUpdateFunction * updater
Definition: informationDialogWidgetSection.h:174
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:206
Logics myLogics
Definition: informationDialogWidgetSection.h:200
DtApplicationShowHideEventFilterHandler * myShowHideEventFilterHandler
Definition: informationDialogWidgetSection.h:207
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:202
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:143
std::map< std::string, DtInformationDialogPageLogic * > Logics
Definition: informationDialogWidgetSection.h:199
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:208
makVrv::DtPagePath pagePath
Definition: informationDialogWidgetSection.h:176
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:30
virtual void show()
Definition: informationDialogWidgetSection.h:83
!!!!!
Definition: informationDialogHandler.h:147
A page path is the location of a page based upon its parents. A page path usually only consists of a ...
Definition: DtPagePath.h:21
A page path is the location of a page based upon it&#39;s parents. A page path usually only consists of a...
Definition: informationPagePath.h:23
Base class to provide boost signal/slot management.
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:24
InformationSectionItem(const InformationSectionItem &orig)
Definition: informationDialogWidgetSection.h:170
Definition: informationDialogWidgetSection.h:52
std::vector< InformationSectionItem > SectionItems
Definition: informationDialogWidgetSection.h:195
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
QSize myMinimumSizeHint
Definition: informationDialogWidgetSection.h:193
Contains makVrv::DtInformationDialogHandler class.
QGridLayout * myGridLayout
Definition: informationDialogWidgetSection.h:197
SectionItems mySectionItems
Definition: informationDialogWidgetSection.h:196
std::string myName
Definition: informationDialogWidgetSection.h:191
boost::signals2::connection myStateViewConnection
Definition: informationDialogWidgetSection.h:204
virtual void setMinimumWidth(int i)
Definition: informationDialogWidgetSection.h:103

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)