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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)