VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverSettingsItems.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if !defined(Q_MOC_RUN)
13 #include <vrvCoreQt/vrvCoreQt.h>
14 #include <vrvCoreQt/DtMenu.h>
18 #endif
19 
20 #include <QtWidgets/QToolButton>
21 #include <QtWidgets/QMenu>
22 #include <map>
23 
24 namespace makVrv
25 {
26 
27  class DtInputDriver;
28  class DtObserver;
29  class DtObserverModeItem;
30  class DtObserverModeSettingItem;
31  class DtObserverAdvancedItem;
32  class DtObserverModelSetItem;
33  class DtObserverQMenu;
34  class DtSetModelSetMenu;
35 
39  {
40  Q_OBJECT;
41  public:
43 
44  virtual ~DtObserverModeSettingItem();
45 
47  virtual QAction* createAction(DtDe&, QWidget* parent);
48 
49  QAction* qAction();
50 
52  virtual void on_aboutToShow();
53 
54  protected:
55 
57  virtual void on_triggered();
58 
59  protected:
62  };
63 
64 
68  public DtDeObserver
69  {
70  public:
72 
73  virtual ~DtSetObserverModeMenu();
74 
76  virtual QMenu* createMenu( DtDe&, QWidget* parent );
77 
78  protected:
79  virtual void setMenuTitle( const QString& observerName );
80 
81  // For Display Engine subject observer
82  virtual void slot_activate( DtDe* subject );
83  virtual void slot_deactivate( DtDe* ) {}
84 
85  virtual void slot_currentObserverChanged( DtInputDriver* inputDriver,
86  DtObserver* observer );
87  virtual void slot_observerDestroyed( DtInputDriver* inputDriver,
88  DtObserver* observer );
89  virtual void slot_observerCreated( DtInputDriver* inputDriver,
90  DtObserver* observer );
91 
92  virtual void slot_observerModeAdded( int modeId );
93  virtual void slot_observerModeNameChanged( int modeId );
94  virtual void slot_observerModeToBeRemoved( int modeId );
95 
96  protected:
97  typedef std::map<int, DtObserverModeItem*> ItemMap;
98 
101  };
102 
106  {
107  Q_OBJECT;
108  public:
110 
111  virtual ~DtObserverModeItem();
112 
114  virtual QAction* createAction(DtDe&, QWidget* parent);
115 
116  QAction* qAction();
117 
118  protected:
119 
121  virtual void on_triggered();
122 
124  virtual void on_aboutToShow();
125 
126  protected:
129  };
130 
131 
135  {
136  Q_OBJECT;
137  public:
139 
140  virtual ~DtObserverAdvancedItem();
141 
143  virtual QAction* createAction(DtDe&, QWidget* parent);
144 
145  QAction* qAction();
146 
147  protected:
148 
150  virtual void on_triggered();
151 
152  protected:
155  };
156 
160  : public QAction
161  , public DtDeObserver
162  {
163  Q_OBJECT;
164 
165  public:
166  DtSetModelSetAction( DtDe& de, QWidget* parent );
167  virtual ~DtSetModelSetAction();
168 
169  protected slots:
170 
172  virtual void on_aboutToShow();
173 
174  protected:
175 
176  virtual void setIconFromModelSet( int modelSet );
177 
178  // Notification that the current observer has changed modes
179  virtual void slot_observerModeChanged( DtObserver*, int newObserverMode );
180 
181  virtual void slot_currentObserverChanged( DtInputDriver*,
182  DtObserver* observer );
183 
184  virtual void slot_observerAboutToBeDestroyed( DtInputDriver*,
185  DtObserver* observer );
186 
187  virtual void slot_observerModeModelSetChanged( int modeId );
188 
189  virtual void slot_activate( DtDe* subject );
190 
191  virtual void slot_deactivate( DtDe* ) {}
192 
193  protected:
197  };
198 
202  {
203  Q_OBJECT;
204  public:
205  DtSetModelSetToolButton( DtDe& de, QWidget * parent = 0 );
206  };
207 
211  {
212  public:
213 
216  virtual QWidget* create( DtDe& de, QWidget* parent, const Qt::WindowFlags& flags);
217  };
218 
223  {
224  Q_OBJECT;
225  public:
227 
228  virtual ~DtObserverMenuModelSetItem();
229 
231  virtual QAction* createAction(DtDe&, QWidget* parent);
232 
233  QAction* qAction();
234 
235  protected:
238 
239  };
240 
244  {
245  public:
246  DtSetModelSetMenu(DtDe& de);
247 
248  virtual ~DtSetModelSetMenu();
249 
251  virtual QMenu* createMenu( DtDe&, QWidget* parent );
252 
255  virtual void setCurrentModelSet( int modelSet );
256 
257  protected:
258  virtual void setIconFromModelSet( QAction* action, int modelSet );
259 
260  virtual void slot_activate(DtDe* de);
261  virtual void slot_deactivate(DtDe* de) {}
262 
263  protected:
264  // map of model set to item
265  typedef std::map<int, DtObserverModelSetItem*> ItemMap;
266 
269  };
270 
274  {
275  Q_OBJECT;
276  public:
278 
279  virtual ~DtObserverModelSetItem();
280 
282  virtual QAction* createAction(DtDe&, QWidget* parent);
283 
284  QAction* qAction();
285 
286  protected:
287 
289  virtual void on_triggered();
290 
291  protected:
294  };
295 
299  public DtDeObserver
300  {
301  Q_OBJECT;
302  public:
303  DtObserverSettingItem(DtDe& de, const std::string& itemName, int settingKey );
304 
305  virtual ~DtObserverSettingItem();
306 
307  //Override create action to connecto to DtDe signals.
308  QAction* createAction(DtDe& de, QWidget* parent);
309 
310  protected:
311 
312  //Set the value due to being triggered.
313  virtual void setValue(bool value);
314 
315  //Get the current value.
316  virtual bool getValue() const;
317 
318  // Notification that the current observer has changed modes
319  virtual void slot_observerModeChanged( DtObserver*, int newObserverMode );
320 
321  virtual void slot_terrainChanged();
322 
323  virtual void slot_observerModeModelSetOrIs2DChanged( int modeId );
324 
325  virtual void slot_observerModeSettingChanged( int modeId, int settingId );
326 
327  virtual void slot_currentObserverChanged( DtInputDriver*,
328  DtObserver* observer );
329 
330  virtual void slot_observerAboutToBeDestroyed( DtInputDriver*,
331  DtObserver* observer );
332 
333  virtual void updateVisibility();
334 
335  // For Display Engine subject observer
336  virtual void slot_activate( DtDe* subject );
337  virtual void slot_deactivate( DtDe* ) {}
338 
339 
340  protected:
344 
346  };
347 }
virtual void slot_deactivate(DtDe *)
Definition: DtObserverSettingsItems.h:83
DtDe & myDe
Definition: DtObserverSettingsItems.h:194
The item for creating a new advanced settings menu item.
Definition: DtObserverSettingsItems.h:134
The item for creating a new observer mode setting item.
Definition: DtObserverSettingsItems.h:38
std::map< int, DtObserverModeItem * > ItemMap
Definition: DtObserverSettingsItems.h:97
Builder for menu items.
Definition: DtMenuItem.h:23
The item for controlling speed scaling.
Definition: DtObserverSettingsItems.h:298
int mySettingKey
Definition: DtObserverSettingsItems.h:345
Contains makVrv::DtWidgetBuilder class.
Contains makVrv::DtSubjectObserver class.
The sub-menu for setting the current observer&#39;s observer mode.
Definition: DtObserverSettingsItems.h:67
The buttom for setting the model set for the currnet observer.
Definition: DtObserverSettingsItems.h:201
QMenu * myMenu
Definition: DtObserverSettingsItems.h:99
The item for creating a new set model set sub-menu item on the observer menu.
Definition: DtObserverSettingsItems.h:222
virtual void slot_deactivate(DtDe *)
Definition: DtObserverSettingsItems.h:191
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
DtObserver * myCurrentObserver
Definition: DtObserverSettingsItems.h:341
DtDe & myDe
Definition: DtObserverSettingsItems.h:292
Base class item builder for settings toggle items The menu id string is &quot;DtViewSettingsItem&quot;.
Definition: DtCheckedItem.h:22
A facade for a DtObserverObject.
Definition: DtObserver.h:37
This builder class creates and instance of the DtEntityIconScaleWidget class.
Definition: DtObserverSettingsItems.h:210
DtDe & myDe
Definition: DtObserverSettingsItems.h:153
ItemMap myMenuItems
Definition: DtObserverSettingsItems.h:268
QAction * myQAction
Definition: DtObserverSettingsItems.h:128
virtual void slot_deactivate(DtDe *)
Definition: DtObserverSettingsItems.h:337
QAction * myQAction
Definition: DtObserverSettingsItems.h:154
DtDe & myDe
Definition: DtObserverSettingsItems.h:60
This class&#39;s main responsibility is to handle keyboard and mouse events from OSG (Qt events are route...
Definition: DtInputDriver.h:43
DtDe & myDe
Definition: DtObserverSettingsItems.h:127
std::map< int, DtObserverModelSetItem * > ItemMap
Definition: DtObserverSettingsItems.h:265
The menu item for setting the model set for the currnet observer.
Definition: DtObserverSettingsItems.h:159
ItemMap myMenuItems
Definition: DtObserverSettingsItems.h:100
DtObserver * myCurrentObserver
Definition: DtObserverSettingsItems.h:196
Contains makVrv::DtCheckedItem class.
QAction * myQAction
Definition: DtObserverSettingsItems.h:342
The sub-menu for setting the current observer&#39;s observer mode&#39;s model set.
Definition: DtObserverSettingsItems.h:243
QMenu * myMenu
Definition: DtObserverSettingsItems.h:267
The abstract base menu class.
Definition: DtMenu.h:23
bool myHasBeenInitialized
Definition: DtObserverSettingsItems.h:343
QAction * myQAction
Definition: DtObserverSettingsItems.h:293
QAction * myQAction
Definition: DtObserverSettingsItems.h:61
QAction * myQAction
Definition: DtObserverSettingsItems.h:237
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
virtual void slot_deactivate(DtDe *de)
Definition: DtObserverSettingsItems.h:261
DtDe & myDe
Definition: DtObserverSettingsItems.h:236
DtSetModelSetMenu * mySetModelSetMenu
Definition: DtObserverSettingsItems.h:195
The item for creating a new set mode menu item.
Definition: DtObserverSettingsItems.h:105
Used to create the menu items on the set model set sub-menu.
Definition: DtObserverSettingsItems.h:273
This class is the generic builder base class for building a widget.
Definition: DtWidgetBuilder.h:22

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)