VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverSettingsPage.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCoreQt/vrvCoreQt.h>
12 #include <vrvCoreQt/DtPage.h>
14 
15 
16 class QComboBox;
17 class QTreeWidget;
18 class QTreeWidgetItem;
19 class QSlider;
20 class QDoubleSpinBox;
21 class QRadioButton;
22 class QButtonGroup;
23 class QLabel;
24 class QCheckBox;
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtSelectInstanceWidget;
30  class DtObserverSettingsLogic;
31  class DtPersistenceToolbarWidget;
32  class DtSliderDoubleSpinboxWidget;
33 
38  {
39  Q_OBJECT
40 
41  public:
42 
44  DtObserverSettingsPage(DtDe& de, QWidget* parent, Qt::WindowFlags f = 0);
45 
47  virtual ~DtObserverSettingsPage();
48 
50  virtual QIcon icon();
51 
53  virtual QString title();
54 
56  virtual const std::string& pageClassName() const;
57 
59  static const std::string& thePageClassName();
60 
63  virtual int currentObserverIndex() const;
64 
67  virtual std::string currentObserverName() const;
68 
71  virtual int findObserverInstanceIndex(const std::string& instanceName);
72 
74  virtual void setObserverInstanceNames(const std::list<std::string>& instanceNames);
75 
78  virtual void setCurrentObserverIndex(int i);
79 
83  virtual void setCurrentObserverInstanceName(const std::string& instanceName) ;
84 
89  virtual void addObserverInstance(const DtUnicode& name, int index = -1);
90 
96  virtual void removeObserverInstance(int i);
97 
99  virtual void setDeleteObserverEnabled( bool enabled );
100 
103  virtual int currentObserverModeIndex() const;
104 
107  virtual std::string currentObserverModeName() const;
108 
111  virtual int findObserverModeInstanceIndex( const std::string& instanceName );
112 
114  virtual void setObserverModeInstanceNames( const std::list<std::string>& instanceNames );
115 
118  virtual void setCurrentObserverModeIndex( int i );
119 
123  virtual void setCurrentObserverModeInstanceName( const std::string& instanceName );
124 
129  virtual void addObserverModeInstance( const std::string& name, int index = -1 );
130 
131 
137  virtual void removeObserverModeInstance( int i );
138 
139  virtual void observerCreateRequestFailed( const std::string& observerName );
140 
141  virtual void addModelSet( int modelSet, const DtUnicode& displayName );
142  virtual void setCurrentProjection( const std::string& projectionName );
143 
144  virtual void setCurrentModelSet( int modelSet );
145  virtual void addProjection( const DtUnicode& displayName );
146 
147  virtual void setCurrentSensorMode( const std::string& sensorName );
148  virtual void addSensorMode( const std::string& sensorName );
149  virtual void removeSensorMode( const std::string& sensorName );
150  virtual void renameSensorMode( const std::string& oldName, const std::string& newName );
151  virtual void enableSensorMode( bool enable );
152 
153  virtual void addKeyMap( const std::string& displayName );
154  virtual void setCurrentKeyMap( const std::string& keyMapName );
155 
156  virtual void setOrbitSpeedGainSlider( int gain );
157  virtual void setRotationSpeedGainSlider( int gain );
158  virtual void setLinearSpeedGainSlider( int gain );
159  virtual void setSliderGainPrecision( int precision );
160 
161  virtual void addModelScaleType(const DtUnicode& displayName, const std::string& value);
162  virtual void clearModelScaleTypes();
163  virtual void setModelScaleFactorSlider( int factor );
164  virtual void enableModelScaleFactorSlider( bool enable );
165  virtual void setModelScaleFactorSliderMaximum( int maximum );
166 
167  virtual void setModelScaleTypeSelector(const std::string& scaleType);
168  virtual void enableModelScaleTypeSelector( bool enable );
169 
170  virtual void setMaxModelScaleFactorSpinBox( double maxScaleFactor );
171  virtual void enableMaxModelScaleFactorSpinBox( bool enable );
172 
173  virtual void setSpeedScalingMode( DtObserverObject::SpeedScalingMode mode );
174  virtual void setSpeedScalingMslModeOffset( double offset );
175  virtual void setSpeedScalingMslModeOffsetRanges( double minRange, double maxRange );
176  virtual void setDistanceUnitLabels( const DtUnicode& unitLabel );
177  virtual void setDistanceDecimals( int decimals );
178 
179  virtual void setCameraShakeEnabled( bool enabled );
180  virtual void setCameraShakeIntensity( float intensity );
181 
183  virtual void setLodScaleCenterEnabled(bool enabled);
185  virtual void setLodScaleCenterMagMinLimit(double limit);
186 
187  virtual void clearObserverSettings();
188  virtual void addObserverSetting( int key, const DtUnicode& displayName );
189  virtual void setObserverSetting(const DtUnicode& displayName, bool checked );
190 
191  protected:
192 
194  void setupGui();
195 
197  virtual void activate();
198 
200  virtual void deactivate();
201 
203  QString askForObserverModeName(QString initial, const QString& title);
204 
206  QString askForObserverName(QString initial, const QString& title);
207 
208  // ** boost signal receivers (from selectObserverInstanceWidget)
209 
210  virtual void onObserverChanged( int index, const std::string& observerName );
211 
212  virtual void onRenameObserverRequested();
213 
214  virtual void onNewObserverRequested();
215 
216  virtual void onDeleteObserverRequested();
217 
218  // ** boost signal receivers (from selectObserverModeInstanceWidget)
219 
220  virtual void onObserverModeChanged( int index, const std::string& modeName );
221 
222  virtual void onRenameObserverModeRequested();
223 
224  virtual void onNewObserverModeRequested();
225 
226  virtual void onDeleteObserverModeRequested();
227 
228  // ** Qt signal receivers (from other Qt components)
229 
230  protected slots:
231 
232  virtual void onModelSetChanged( int index );
233  virtual void onKeyMapChanged( int index );
234  virtual void onProjectionChanged( int index );
235  virtual void onTreeItemChanged( QTreeWidgetItem* item, int column );
236  virtual void onLinearSpeedGainSliderChanged( int value );
237  virtual void onRotationSpeedGainSliderChanged( int value );
238  virtual void onOrbitSpeedGainSliderChanged( int value );
239  virtual void onModelScaleFactorSliderChanged( int value );
240  virtual void onModelScaleTypeChanged( int index );
241  virtual void onMaxModelScaleFactorSpinBoxChanged( double value );
242  virtual void onSensorModeChanged( int index );
243  virtual void onSpeedScalingMslRadioButtonClicked();
244  virtual void onSpeedScalingAglRadioButtonClicked();
245  virtual void onSpeedScalingMslModeOffsetSliderChanged( double value );
246  virtual void onCameraShakeEnabledCheckBoxChanged( bool enabled );
247  virtual void onCameraShakeIntensitySliderChanged( double value );
248 
250  virtual void onLodScaleCenterEnabledCheckBoxChanged(bool enabled);
252  virtual void onLodScaleCenterMagMinLimitSliderChanged(double intensity);
253 
254  protected:
255 
257 
261 
277 
281 
285 
287  };
288 
293 }
294 
A widget that displays a persistence GUI in some way Operations presented are import, export, save, and restore.
Definition: DtPersistenceToolbarWidget.h:26
This is the interface for the DtObserverSettingsPage.
Definition: DtObserverSettingsInterface.h:21
QCheckBox * myCameraShakeEnabledCheckBox
Definition: DtObserverSettingsPage.h:278
A unicode string.
Definition: DtUnicode.h:33
Contains makVrv::DtPage class.
DtSliderDoubleSpinboxWidget * myLodScaleCenterMagMinLimitSlider
Definition: DtObserverSettingsPage.h:284
DtSliderDoubleSpinboxWidget * mySpeedScalingMslModeOffsetSlider
Definition: DtObserverSettingsPage.h:276
QComboBox * myModelSetComboBox
Definition: DtObserverSettingsPage.h:264
Base select instance widget.
Definition: DtSelectInstanceWidget.h:31
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
QLabel * myMslOffsetLabel
Definition: DtObserverSettingsPage.h:275
Contains DLL export macros.
QSlider * myModelScaleFactorSlider
Definition: DtObserverSettingsPage.h:269
Definition: DtPage.h:146
QRadioButton * mySpeedScalingAglRadioButton
Definition: DtObserverSettingsPage.h:273
QSlider * myRotationSpeedGainSlider
Definition: DtObserverSettingsPage.h:267
QLabel * myLodScaleCenterMagMinLimitLabel
Definition: DtObserverSettingsPage.h:283
QComboBox * myKeyMapComboBox
Definition: DtObserverSettingsPage.h:263
QComboBox * myModelScaleTypeComboBox
Definition: DtObserverSettingsPage.h:270
Contains makVrv::DtObserverSettingsInterface class.
SpeedScalingMode
Definition: DtObserverObject.h:50
DtSelectInstanceWidget * myObserverModeSelectInstanceWidget
Definition: DtObserverSettingsPage.h:259
A widget for pairing a horizontal slider with a double spin-box.
Definition: DtSliderDoubleSpinboxWidget.h:30
DtPersistenceToolbarWidget * myPersistenceToolbar
Definition: DtObserverSettingsPage.h:260
QButtonGroup * mySpeedScalingModeButtonGroup
Definition: DtObserverSettingsPage.h:272
QComboBox * myProjectionComboBox
Definition: DtObserverSettingsPage.h:262
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:30
QDoubleSpinBox * myMaxModelScaleFactorSpinBox
Definition: DtObserverSettingsPage.h:271
QComboBox * mySensorComboBox
Definition: DtObserverSettingsPage.h:265
DtPageCreatorTemplate< DtObserverSettingsPage > DtObserverSettingsPageCreator
Creator class for DtObserverSettingsPage.
Definition: DtObserverSettingsPage.h:292
QTreeWidget * myVariableSettingsWidget
Definition: DtObserverSettingsPage.h:286
Logic class for editing definition ObserverMode.
Definition: DtObserverSettingsLogic.h:27
const char int mode
Definition: ioapi.h:38
DtSelectInstanceWidget * myObserverSelectInstanceWidget
Definition: DtObserverSettingsPage.h:258
DtSliderDoubleSpinboxWidget * myCameraShakeIntensitySlider
Definition: DtObserverSettingsPage.h:280
DtObserverSettingsLogic * myLogic
Definition: DtObserverSettingsPage.h:256
QCheckBox * myLodScaleCenterEnabledCheckBox
Definition: DtObserverSettingsPage.h:282
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QRadioButton * mySpeedScalingMslRadioButton
Definition: DtObserverSettingsPage.h:274
A dialog for editing ObserverModes.
Definition: DtObserverSettingsPage.h:36
voidpf uLong offset
Definition: ioapi.h:42
QSlider * myOrbitSpeedGainSlider
Definition: DtObserverSettingsPage.h:268
QSlider * myLinearSpeedGainSlider
Definition: DtObserverSettingsPage.h:266
QLabel * myCameraShakeIntensityLabel
Definition: DtObserverSettingsPage.h:279

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)