VR-Forces Developer's Guide
 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) 2025 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 QFont;
18 class QGridLayout;
19 class QTreeWidget;
20 class QTreeWidgetItem;
21 class QSlider;
22 class QDoubleSpinBox;
23 class QRadioButton;
24 class QPushButton;
25 class QButtonGroup;
26 class QLabel;
27 class QCheckBox;
28 
29 namespace makVrv
30 {
31  class DtDe;
32  class DtSelectInstanceWidget;
33  class DtObserverSettingsLogic;
34  class DtPersistenceToolbarWidget;
35  class DtSliderDoubleSpinboxWidget;
36 
41  {
42  Q_OBJECT
43 
44  public:
45 
47  DtObserverSettingsPage(DtDe& de, QWidget* parent, Qt::WindowFlags f = 0);
48 
50  virtual ~DtObserverSettingsPage();
51 
53  virtual QIcon icon();
54 
57  virtual DtQIconConfigurations qIconConfigurations() const;
58 
60  virtual QString title();
61 
63  virtual const std::string& pageClassName() const;
64 
66  static const std::string& thePageClassName();
67 
70  virtual int currentObserverIndex() const;
71 
74  virtual std::string currentObserverName() const;
75 
78  virtual int findObserverInstanceIndex(const std::string& instanceName);
79 
81  virtual void setObserverInstanceNames(const std::list<std::string>& instanceNames);
82 
85  virtual void setCurrentObserverIndex(int i);
86 
90  virtual void setCurrentObserverInstanceName(const std::string& instanceName) ;
91 
96  virtual void addObserverInstance(const DtUnicode& name, int index = -1);
97 
103  virtual void removeObserverInstance(int i);
104 
106  virtual void setDeleteObserverEnabled( bool enabled );
107 
110  virtual int currentObserverModeIndex() const;
111 
114  virtual std::string currentObserverModeName() const;
115 
118  virtual int findObserverModeInstanceIndex( const std::string& instanceName );
119 
121  virtual void setObserverModeInstanceNames( const std::list<std::string>& instanceNames );
122 
125  virtual void setCurrentObserverModeIndex( int i );
126 
130  virtual void setCurrentObserverModeInstanceName( const std::string& instanceName );
131 
136  virtual void addObserverModeInstance( const std::string& name, int index = -1 );
137 
138 
144  virtual void removeObserverModeInstance( int i );
145 
146  virtual void observerCreateRequestFailed( const std::string& observerName );
147 
148  virtual void addModelSet( DtModelSetId modelSet, const DtUnicode& displayName );
149  virtual void setCurrentProjection( const std::string& projectionName );
150 
151  virtual void setCurrentModelSet( DtModelSetId modelSet );
152  virtual void addProjection( const DtUnicode& displayName );
153 
154  virtual void setCurrentSensorMode( const std::string& sensorName );
155  virtual void addSensorMode( const std::string& sensorName );
156  virtual void removeSensorMode( const std::string& sensorName );
157  virtual void renameSensorMode( const std::string& oldName, const std::string& newName );
158  virtual void enableSensorMode( bool enable );
159 
160  virtual void addKeyMap( const std::string& displayName );
161  virtual void setCurrentKeyMap( const std::string& keyMapName );
162 
163  virtual void setOrbitSpeedGainSlider( int gain );
164  virtual void setRotationSpeedGainSlider( int gain );
165  virtual void setLinearSpeedGainSlider( int gain );
166  virtual void setSliderGainPrecision( int precision );
167 
168  virtual void addModelScaleType(const DtUnicode& displayName, const std::string& value);
169  virtual void clearModelScaleTypes();
170  virtual void setModelScaleFactorSlider( int factor );
171  virtual void enableModelScaleFactorSlider( bool enable );
172  virtual void setModelScaleFactorSliderMaximum( int maximum );
173 
174  virtual void setModelScaleTypeSelector(const std::string& scaleType);
175  virtual void enableModelScaleTypeSelector( bool enable );
176 
177  virtual void setMaxModelScaleFactorSpinBox( double maxScaleFactor );
178  virtual void enableMaxModelScaleFactorSpinBox( bool enable );
179 
180  virtual void setSpeedScalingMode( DtObserverObject::SpeedScalingMode mode );
181  virtual void setSpeedScalingMslModeOffset( double offset );
182  virtual void setSpeedScalingMslModeOffsetRanges( double minRange, double maxRange );
183  virtual void setDistanceUnitLabels( const DtUnicode& unitLabel );
184  virtual void setDistanceDecimals( int decimals );
185 
186  virtual void setCameraShakeEnabled( bool enabled );
187  virtual void setCameraShakeIntensity( float intensity );
188 
190  virtual void setLodScaleCenterEnabled(bool enabled);
191  virtual void clearObserverSettings();
192  virtual void addObserverSetting( int key, const DtUnicode& displayName, bool visualTypeSetting );
193  virtual void setObserverSetting(const DtUnicode& displayName, bool checked, bool visualTypeSetting);
194 
196  virtual void enableNorthType(bool enable);
197 
199  virtual void clearNorthTypes();
200 
204  virtual void addNorthType(const std::string& displayName, DtObserverObject::NorthType northType);
205 
208  virtual void setCurrentNorthType(DtObserverObject::NorthType northType);
209 
213  virtual void setColorControlEnabled(bool enabled) override;
214 
218  virtual void setColorControlInvert(bool enabled) override;
219 
223  virtual void setColorControlContrast(double value) override;
224 
228  virtual void setColorControlBrightness(double value) override;
229 
233  virtual void setColorControlColorMix(double value) override;
234 
235  protected:
236 
238  void setupGui();
239 
245  int setupColorControlGui(QGridLayout* parentLayout, QFont* font, int row);
246 
248  virtual void activate();
249 
251  virtual void deactivate();
252 
254  QString askForObserverModeName(QString initial, const QString& title);
255 
257  QString askForObserverName(QString initial, const QString& title);
258 
259  // ** boost signal receivers (from selectObserverInstanceWidget)
260 
261  virtual void onObserverChanged( int index, const std::string& observerName );
262 
263  virtual void onRenameObserverRequested();
264 
265  virtual void onNewObserverRequested();
266 
267  virtual void onDeleteObserverRequested();
268 
269  // ** boost signal receivers (from selectObserverModeInstanceWidget)
270 
271  virtual void onObserverModeChanged( int index, const std::string& modeName );
272 
273  virtual void onRenameObserverModeRequested();
274 
275  virtual void onNewObserverModeRequested();
276 
277  virtual void onDeleteObserverModeRequested();
278 
279  // ** Qt signal receivers (from other Qt components)
280 
281  protected slots:
282 
283  virtual void onModelSetChanged( int index );
284  virtual void onKeyMapChanged( int index );
285  virtual void onProjectionChanged( int index );
286  virtual void onTreeItemChanged( QTreeWidgetItem* item, int column );
287  virtual void onLinearSpeedGainSliderChanged( int value );
288  virtual void onRotationSpeedGainSliderChanged( int value );
289  virtual void onOrbitSpeedGainSliderChanged( int value );
290  virtual void onModelScaleFactorSliderChanged( int value );
291  virtual void onModelScaleTypeChanged( int index );
292  virtual void onMaxModelScaleFactorSpinBoxChanged( double value );
293  virtual void onSensorModeChanged( int index );
294  virtual void onSpeedScalingMslRadioButtonClicked();
295  virtual void onSpeedScalingAglRadioButtonClicked();
296  virtual void onSpeedScalingMslModeOffsetSliderChanged( double value );
297  virtual void onCameraShakeEnabledCheckBoxChanged( bool enabled );
298  virtual void onCameraShakeIntensitySliderChanged( double value );
299 
301  virtual void onLodScaleCenterEnabledCheckBoxChanged(bool enabled);
303  virtual void onLodScaleCenterMagMinLimitSliderChanged(double intensity);
304 
306  virtual void onShowLodCenterSettingsDialog();
307 
309  virtual void onNorthTypeChanged(int index);
310 
312  virtual void onColorControlEnabledCheckBoxChanged(bool enabled);
313  virtual void onColorControlInvertCheckBoxChanged(bool enabled);
314  virtual void onColorControlContrastSliderChanged(double value);
315  virtual void onColorControlBrightnessSliderChanged(double value);
316  virtual void onColorControlColorMixSliderChanged(double value);
317 
318  protected:
319 
321 
325 
341 
345 
348 
351 
353 
362  };
363 
368 }
369 
A widget that displays a persistence GUI in some way Operations presented are import, export, save, and restore.
Definition: DtPersistenceToolbarWidget.h:26
QPushButton * myShowLodCenterSettingsDialogButton
Definition: DtObserverSettingsPage.h:347
This is the interface for the DtObserverSettingsPage.
Definition: DtObserverSettingsInterface.h:21
QLabel * myColorControlContrastLabel
Definition: DtObserverSettingsPage.h:356
QCheckBox * myCameraShakeEnabledCheckBox
Definition: DtObserverSettingsPage.h:342
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
QTreeWidget * myVisualTypeSettingsWidget
Definition: DtObserverSettingsPage.h:349
Contains makVrv::DtPage class declaration.
QComboBox * myNorthTypeComboBox
Definition: DtObserverSettingsPage.h:352
DtSliderDoubleSpinboxWidget * mySpeedScalingMslModeOffsetSlider
Definition: DtObserverSettingsPage.h:340
QComboBox * myModelSetComboBox
Definition: DtObserverSettingsPage.h:328
Base select instance widget.
Definition: DtSelectInstanceWidget.h:28
QLabel * myColorControlColorMixLabel
Definition: DtObserverSettingsPage.h:360
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
QLabel * myMslOffsetLabel
Definition: DtObserverSettingsPage.h:339
Contains DLL export macros.
QSlider * myModelScaleFactorSlider
Definition: DtObserverSettingsPage.h:333
QCheckBox * myColorControlInvertCheckBox
Definition: DtObserverSettingsPage.h:355
DtSliderDoubleSpinboxWidget * myColorControlColorMixSlider
Definition: DtObserverSettingsPage.h:361
Definition: DtPage.h:181
QRadioButton * mySpeedScalingAglRadioButton
Definition: DtObserverSettingsPage.h:337
QCheckBox * myColorControlEnabledCheckBox
Definition: DtObserverSettingsPage.h:354
QSlider * myRotationSpeedGainSlider
Definition: DtObserverSettingsPage.h:331
DtSliderDoubleSpinboxWidget * myColorControlBrightnessSlider
Definition: DtObserverSettingsPage.h:359
QComboBox * myKeyMapComboBox
Definition: DtObserverSettingsPage.h:327
DtSliderDoubleSpinboxWidget * myColorControlContrastSlider
Definition: DtObserverSettingsPage.h:357
QComboBox * myModelScaleTypeComboBox
Definition: DtObserverSettingsPage.h:334
Contains makVrv::DtObserverSettingsInterface class.
SpeedScalingMode
Definition: DtObserverObject.h:56
DtSelectInstanceWidget * myObserverModeSelectInstanceWidget
Definition: DtObserverSettingsPage.h:323
A widget for pairing a horizontal slider with a double spin-box. The spin box must be clamped to a mi...
Definition: DtSliderDoubleSpinboxWidget.h:30
DtPersistenceToolbarWidget * myPersistenceToolbar
Definition: DtObserverSettingsPage.h:324
QButtonGroup * mySpeedScalingModeButtonGroup
Definition: DtObserverSettingsPage.h:336
QComboBox * myProjectionComboBox
Definition: DtObserverSettingsPage.h:326
NorthType
Definition: DtObserverObject.h:62
QTreeWidget * myObsererControlSettingsWidget
Definition: DtObserverSettingsPage.h:350
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:51
QDoubleSpinBox * myMaxModelScaleFactorSpinBox
Definition: DtObserverSettingsPage.h:335
QComboBox * mySensorComboBox
Definition: DtObserverSettingsPage.h:329
DtPageCreatorTemplate< DtObserverSettingsPage > DtObserverSettingsPageCreator
Creator class for DtObserverSettingsPage.
Definition: DtObserverSettingsPage.h:367
Logic class for editing definition ObserverMode.
Definition: DtObserverSettingsLogic.h:27
const char int mode
Definition: ioapi.h:38
DtSelectInstanceWidget * myObserverSelectInstanceWidget
Definition: DtObserverSettingsPage.h:322
DtSliderDoubleSpinboxWidget * myCameraShakeIntensitySlider
Definition: DtObserverSettingsPage.h:344
DtObserverSettingsLogic * myLogic
Definition: DtObserverSettingsPage.h:320
QCheckBox * myLodScaleCenterEnabledCheckBox
Definition: DtObserverSettingsPage.h:346
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
QRadioButton * mySpeedScalingMslRadioButton
Definition: DtObserverSettingsPage.h:338
QLabel * myColorControlBrightnessLabel
Definition: DtObserverSettingsPage.h:358
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:131
A dialog for editing ObserverModes.
Definition: DtObserverSettingsPage.h:39
DtModelSetId
Definition: DtModelSetEnums.h:19
voidpf uLong offset
Definition: ioapi.h:42
QSlider * myOrbitSpeedGainSlider
Definition: DtObserverSettingsPage.h:332
QSlider * myLinearSpeedGainSlider
Definition: DtObserverSettingsPage.h:330
QLabel * myCameraShakeIntensityLabel
Definition: DtObserverSettingsPage.h:343

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)