VR-Forces 4.8 Class Documentation
 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) 2010 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 /******************************************************************************
6  * $RCSfile: DtObserverSettingsItems.h,v $ $Revision: 1.8 $ $State: Exp $
7  *****************************************************************************/
8 
12 
13 #pragma once
14 
15 #if !defined(Q_MOC_RUN)
16 #include <vrvCoreQt/vrvCoreQt.h>
17 #include <vrvCoreQt/DtMenu.h>
21 #endif
22 
23 #include <QtWidgets/QToolButton>
24 #include <QtWidgets/QMenu>
25 #include <map>
26 
27 namespace makVrv
28 {
29 
30  class DtInputDriver;
31  class DtObserver;
32  class DtObserverModeItem;
33  class DtObserverModeSettingItem;
34  class DtObserverAdvancedItem;
35  class DtObserverModelSetItem;
36  class DtObserverQMenu;
37  class DtSetModelSetMenu;
38 
42  {
43  Q_OBJECT;
44  public:
46 
47  virtual ~DtObserverModeSettingItem();
48 
50  virtual QAction* createAction(DtDe&, QWidget* parent);
51 
52  QAction* qAction();
53 
55  virtual void on_aboutToShow();
56 
57  protected:
58 
60  virtual void on_triggered();
61 
62  protected:
65  };
66 
67 
71  public DtDeObserver
72  {
73  public:
75 
76  virtual ~DtSetObserverModeMenu();
77 
79  virtual QMenu* createMenu( DtDe&, QWidget* parent );
80 
81  protected:
82  virtual void setMenuTitle( const QString& observerName );
83 
84  // For Display Engine subject observer
85  virtual void slot_activate( DtDe* subject );
86  virtual void slot_deactivate( DtDe* ) {}
87 
88  virtual void slot_currentObserverChanged( DtInputDriver* inputDriver,
89  DtObserver* observer );
90  virtual void slot_observerDestroyed( DtInputDriver* inputDriver,
91  DtObserver* observer );
92  virtual void slot_observerCreated( DtInputDriver* inputDriver,
93  DtObserver* observer );
94 
95  virtual void slot_observerModeAdded( int modeId );
96  virtual void slot_observerModeNameChanged( int modeId );
97  virtual void slot_observerModeToBeRemoved( int modeId );
98 
99  protected:
100  typedef std::map<int, DtObserverModeItem*> ItemMap;
101 
104  };
105 
109  {
110  Q_OBJECT;
111  public:
113 
114  virtual ~DtObserverModeItem();
115 
117  virtual QAction* createAction(DtDe&, QWidget* parent);
118 
119  QAction* qAction();
120 
121  protected:
122 
124  virtual void on_triggered();
125 
127  virtual void on_aboutToShow();
128 
129  protected:
132  };
133 
134 
138  {
139  Q_OBJECT;
140  public:
142 
143  virtual ~DtObserverAdvancedItem();
144 
146  virtual QAction* createAction(DtDe&, QWidget* parent);
147 
148  QAction* qAction();
149 
150  protected:
151 
153  virtual void on_triggered();
154 
155  protected:
158  };
159 
163  : public QAction
164  , public DtDeObserver
165  {
166  Q_OBJECT;
167 
168  public:
169  DtSetModelSetAction( DtDe& de, QWidget* parent );
170  virtual ~DtSetModelSetAction();
171 
172  protected slots:
173 
175  virtual void on_aboutToShow();
176 
177  protected:
178 
179  virtual void setIconFromModelSet( int modelSet );
180 
181  // Notification that the current observer has changed modes
182  virtual void slot_observerModeChanged( DtObserver*, int newObserverMode );
183 
184  virtual void slot_currentObserverChanged( DtInputDriver*,
185  DtObserver* observer );
186 
187  virtual void slot_observerAboutToBeDestroyed( DtInputDriver*,
188  DtObserver* observer );
189 
190  virtual void slot_observerModeModelSetChanged( int modeId );
191 
192  virtual void slot_activate( DtDe* subject );
193 
194  virtual void slot_deactivate( DtDe* ) {}
195 
196  protected:
200  };
201 
205  {
206  Q_OBJECT;
207  public:
208  DtSetModelSetToolButton( DtDe& de, QWidget * parent = 0 );
209  };
210 
214  {
215  public:
216 
219  virtual QWidget* create( DtDe& de, QWidget* parent, const Qt::WindowFlags& flags);
220  };
221 
226  {
227  Q_OBJECT;
228  public:
230 
231  virtual ~DtObserverMenuModelSetItem();
232 
234  virtual QAction* createAction(DtDe&, QWidget* parent);
235 
236  QAction* qAction();
237 
238  protected:
241 
242  };
243 
247  {
248  public:
249  DtSetModelSetMenu(DtDe& de);
250 
251  virtual ~DtSetModelSetMenu();
252 
254  virtual QMenu* createMenu( DtDe&, QWidget* parent );
255 
258  virtual void setCurrentModelSet( int modelSet );
259 
260  protected:
261  virtual void setIconFromModelSet( QAction* action, int modelSet );
262 
263  virtual void slot_activate(DtDe* de);
264  virtual void slot_deactivate(DtDe* de) {}
265 
266  protected:
267  // map of model set to item
268  typedef std::map<int, DtObserverModelSetItem*> ItemMap;
269 
272  };
273 
277  {
278  Q_OBJECT;
279  public:
281 
282  virtual ~DtObserverModelSetItem();
283 
285  virtual QAction* createAction(DtDe&, QWidget* parent);
286 
287  QAction* qAction();
288 
289  protected:
290 
292  virtual void on_triggered();
293 
294  protected:
297  };
298 
302  public DtDeObserver
303  {
304  Q_OBJECT;
305  public:
306  DtObserverSettingItem(DtDe& de, const std::string& itemName, int settingKey );
307 
308  virtual ~DtObserverSettingItem();
309 
310  //Override create action to connecto to DtDe signals.
311  QAction* createAction(DtDe& de, QWidget* parent);
312 
313  protected:
314 
315  //Set the value due to being triggered.
316  virtual void setValue(bool value);
317 
318  //Get the current value.
319  virtual bool getValue() const;
320 
321  // Notification that the current observer has changed modes
322  virtual void slot_observerModeChanged( DtObserver*, int newObserverMode );
323 
324  virtual void slot_terrainChanged();
325 
326  virtual void slot_observerModeModelSetOrIs2DChanged( int modeId );
327 
328  virtual void slot_observerModeSettingChanged( int modeId, int settingId );
329 
330  virtual void slot_currentObserverChanged( DtInputDriver*,
331  DtObserver* observer );
332 
333  virtual void slot_observerAboutToBeDestroyed( DtInputDriver*,
334  DtObserver* observer );
335 
336  virtual void updateEnabled();
337 
338  // For Display Engine subject observer
339  virtual void slot_activate( DtDe* subject );
340  virtual void slot_deactivate( DtDe* ) {}
341 
342 
343  protected:
347 
349  };
350 }
virtual void slot_deactivate(DtDe *)
Definition: DtObserverSettingsItems.h:86
DtDe & myDe
Definition: DtObserverSettingsItems.h:197
The item for creating a new advanced settings menu item.
Definition: DtObserverSettingsItems.h:137
The item for creating a new observer mode setting item.
Definition: DtObserverSettingsItems.h:41
std::map< int, DtObserverModeItem * > ItemMap
Definition: DtObserverSettingsItems.h:100
Builder for menu items.
Definition: DtMenuItem.h:26
The item for controlling speed scaling.
Definition: DtObserverSettingsItems.h:301
int mySettingKey
Definition: DtObserverSettingsItems.h:348
Contains makVrv::DtWidgetBuilder class.
Contains makVrv::DtSubjectObserver class.
The sub-menu for setting the current observer&#39;s observer mode.
Definition: DtObserverSettingsItems.h:70
The buttom for setting the model set for the currnet observer.
Definition: DtObserverSettingsItems.h:204
QMenu * myMenu
Definition: DtObserverSettingsItems.h:102
The item for creating a new set model set sub-menu item on the observer menu.
Definition: DtObserverSettingsItems.h:225
virtual void slot_deactivate(DtDe *)
Definition: DtObserverSettingsItems.h:194
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
DtObserver * myCurrentObserver
Definition: DtObserverSettingsItems.h:344
DtDe & myDe
Definition: DtObserverSettingsItems.h:295
Base class item builder for settings toggle items The menu id string is &quot;DtViewSettingsItem&quot;.
Definition: DtCheckedItem.h:24
A facade for a DtObserverObject.
Definition: DtObserver.h:37
This builder class creates and instance of the DtEntityIconScaleWidget class.
Definition: DtObserverSettingsItems.h:213
DtDe & myDe
Definition: DtObserverSettingsItems.h:156
ItemMap myMenuItems
Definition: DtObserverSettingsItems.h:271
QAction * myQAction
Definition: DtObserverSettingsItems.h:131
virtual void slot_deactivate(DtDe *)
Definition: DtObserverSettingsItems.h:340
QAction * myQAction
Definition: DtObserverSettingsItems.h:157
DtDe & myDe
Definition: DtObserverSettingsItems.h:63
This class&#39;s main responsibility is to handle keyboard and mouse events from OSG (Qt events are route...
Definition: DtInputDriver.h:44
DtDe & myDe
Definition: DtObserverSettingsItems.h:130
std::map< int, DtObserverModelSetItem * > ItemMap
Definition: DtObserverSettingsItems.h:268
The menu item for setting the model set for the currnet observer.
Definition: DtObserverSettingsItems.h:162
ItemMap myMenuItems
Definition: DtObserverSettingsItems.h:103
DtObserver * myCurrentObserver
Definition: DtObserverSettingsItems.h:199
Contains makVrv::DtCheckedItem class.
QAction * myQAction
Definition: DtObserverSettingsItems.h:345
The sub-menu for setting the current observer&#39;s observer mode&#39;s model set.
Definition: DtObserverSettingsItems.h:246
QMenu * myMenu
Definition: DtObserverSettingsItems.h:270
The abstract base menu class.
Definition: DtMenu.h:26
bool myHasBeenInitialized
Definition: DtObserverSettingsItems.h:346
QAction * myQAction
Definition: DtObserverSettingsItems.h:296
QAction * myQAction
Definition: DtObserverSettingsItems.h:64
QAction * myQAction
Definition: DtObserverSettingsItems.h:240
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual void slot_deactivate(DtDe *de)
Definition: DtObserverSettingsItems.h:264
DtDe & myDe
Definition: DtObserverSettingsItems.h:239
DtSetModelSetMenu * mySetModelSetMenu
Definition: DtObserverSettingsItems.h:198
The item for creating a new set mode menu item.
Definition: DtObserverSettingsItems.h:108
Used to create the menu items on the set model set sub-menu.
Definition: DtObserverSettingsItems.h:276
This class is the generic builder base class for building a widget.
Definition: DtWidgetBuilder.h:25

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)