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) 2023 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 QButtonGroup;
25 class QLabel;
26 class QCheckBox;
27 
28 namespace makVrv
29 {
30  class DtDe;
31  class DtSelectInstanceWidget;
32  class DtObserverSettingsLogic;
33  class DtPersistenceToolbarWidget;
34  class DtSliderDoubleSpinboxWidget;
35 
40  {
41  Q_OBJECT
42 
43  public:
44 
46  DtObserverSettingsPage(DtDe& de, QWidget* parent, Qt::WindowFlags f = 0);
47 
49  virtual ~DtObserverSettingsPage();
50 
52  virtual QIcon icon();
53 
56  virtual DtQIconConfigurations qIconConfigurations() const;
57 
59  virtual QString title();
60 
62  virtual const std::string& pageClassName() const;
63 
65  static const std::string& thePageClassName();
66 
69  virtual int currentObserverIndex() const;
70 
73  virtual std::string currentObserverName() const;
74 
77  virtual int findObserverInstanceIndex(const std::string& instanceName);
78 
80  virtual void setObserverInstanceNames(const std::list<std::string>& instanceNames);
81 
84  virtual void setCurrentObserverIndex(int i);
85 
89  virtual void setCurrentObserverInstanceName(const std::string& instanceName) ;
90 
95  virtual void addObserverInstance(const DtUnicode& name, int index = -1);
96 
102  virtual void removeObserverInstance(int i);
103 
105  virtual void setDeleteObserverEnabled( bool enabled );
106 
109  virtual int currentObserverModeIndex() const;
110 
113  virtual std::string currentObserverModeName() const;
114 
117  virtual int findObserverModeInstanceIndex( const std::string& instanceName );
118 
120  virtual void setObserverModeInstanceNames( const std::list<std::string>& instanceNames );
121 
124  virtual void setCurrentObserverModeIndex( int i );
125 
129  virtual void setCurrentObserverModeInstanceName( const std::string& instanceName );
130 
135  virtual void addObserverModeInstance( const std::string& name, int index = -1 );
136 
137 
143  virtual void removeObserverModeInstance( int i );
144 
145  virtual void observerCreateRequestFailed( const std::string& observerName );
146 
147  virtual void addModelSet( DtModelSetId modelSet, const DtUnicode& displayName );
148  virtual void setCurrentProjection( const std::string& projectionName );
149 
150  virtual void setCurrentModelSet( DtModelSetId modelSet );
151  virtual void addProjection( const DtUnicode& displayName );
152 
153  virtual void setCurrentSensorMode( const std::string& sensorName );
154  virtual void addSensorMode( const std::string& sensorName );
155  virtual void removeSensorMode( const std::string& sensorName );
156  virtual void renameSensorMode( const std::string& oldName, const std::string& newName );
157  virtual void enableSensorMode( bool enable );
158 
159  virtual void addKeyMap( const std::string& displayName );
160  virtual void setCurrentKeyMap( const std::string& keyMapName );
161 
162  virtual void setOrbitSpeedGainSlider( int gain );
163  virtual void setRotationSpeedGainSlider( int gain );
164  virtual void setLinearSpeedGainSlider( int gain );
165  virtual void setSliderGainPrecision( int precision );
166 
167  virtual void addModelScaleType(const DtUnicode& displayName, const std::string& value);
168  virtual void clearModelScaleTypes();
169  virtual void setModelScaleFactorSlider( int factor );
170  virtual void enableModelScaleFactorSlider( bool enable );
171  virtual void setModelScaleFactorSliderMaximum( int maximum );
172 
173  virtual void setModelScaleTypeSelector(const std::string& scaleType);
174  virtual void enableModelScaleTypeSelector( bool enable );
175 
176  virtual void setMaxModelScaleFactorSpinBox( double maxScaleFactor );
177  virtual void enableMaxModelScaleFactorSpinBox( bool enable );
178 
179  virtual void setSpeedScalingMode( DtObserverObject::SpeedScalingMode mode );
180  virtual void setSpeedScalingMslModeOffset( double offset );
181  virtual void setSpeedScalingMslModeOffsetRanges( double minRange, double maxRange );
182  virtual void setDistanceUnitLabels( const DtUnicode& unitLabel );
183  virtual void setDistanceDecimals( int decimals );
184 
185  virtual void setCameraShakeEnabled( bool enabled );
186  virtual void setCameraShakeIntensity( float intensity );
187 
189  virtual void setLodScaleCenterEnabled(bool enabled);
191  virtual void setLodScaleCenterMagMinLimit(double limit);
192 
193  virtual void clearObserverSettings();
194  virtual void addObserverSetting( int key, const DtUnicode& displayName, bool visualTypeSetting );
195  virtual void setObserverSetting(const DtUnicode& displayName, bool checked, bool visualTypeSetting);
196 
198  virtual void enableNorthType(bool enable);
199 
201  virtual void clearNorthTypes();
202 
206  virtual void addNorthType(const std::string& displayName, DtObserverObject::NorthType northType);
207 
210  virtual void setCurrentNorthType(DtObserverObject::NorthType northType);
211 
215  virtual void setColorControlEnabled(bool enabled) override;
216 
220  virtual void setColorControlInvert(bool enabled) override;
221 
225  virtual void setColorControlContrast(double value) override;
226 
230  virtual void setColorControlBrightness(double value) override;
231 
235  virtual void setColorControlColorMix(double value) override;
236 
237  protected:
238 
240  void setupGui();
241 
247  int setupColorControlGui(QGridLayout* parentLayout, QFont* font, int row);
248 
250  virtual void activate();
251 
253  virtual void deactivate();
254 
256  QString askForObserverModeName(QString initial, const QString& title);
257 
259  QString askForObserverName(QString initial, const QString& title);
260 
261  // ** boost signal receivers (from selectObserverInstanceWidget)
262 
263  virtual void onObserverChanged( int index, const std::string& observerName );
264 
265  virtual void onRenameObserverRequested();
266 
267  virtual void onNewObserverRequested();
268 
269  virtual void onDeleteObserverRequested();
270 
271  // ** boost signal receivers (from selectObserverModeInstanceWidget)
272 
273  virtual void onObserverModeChanged( int index, const std::string& modeName );
274 
275  virtual void onRenameObserverModeRequested();
276 
277  virtual void onNewObserverModeRequested();
278 
279  virtual void onDeleteObserverModeRequested();
280 
281  // ** Qt signal receivers (from other Qt components)
282 
283  protected slots:
284 
285  virtual void onModelSetChanged( int index );
286  virtual void onKeyMapChanged( int index );
287  virtual void onProjectionChanged( int index );
288  virtual void onTreeItemChanged( QTreeWidgetItem* item, int column );
289  virtual void onLinearSpeedGainSliderChanged( int value );
290  virtual void onRotationSpeedGainSliderChanged( int value );
291  virtual void onOrbitSpeedGainSliderChanged( int value );
292  virtual void onModelScaleFactorSliderChanged( int value );
293  virtual void onModelScaleTypeChanged( int index );
294  virtual void onMaxModelScaleFactorSpinBoxChanged( double value );
295  virtual void onSensorModeChanged( int index );
296  virtual void onSpeedScalingMslRadioButtonClicked();
297  virtual void onSpeedScalingAglRadioButtonClicked();
298  virtual void onSpeedScalingMslModeOffsetSliderChanged( double value );
299  virtual void onCameraShakeEnabledCheckBoxChanged( bool enabled );
300  virtual void onCameraShakeIntensitySliderChanged( double value );
301 
303  virtual void onLodScaleCenterEnabledCheckBoxChanged(bool enabled);
305  virtual void onLodScaleCenterMagMinLimitSliderChanged(double intensity);
306 
308  virtual void onNorthTypeChanged(int index);
309 
311  virtual void onColorControlEnabledCheckBoxChanged(bool enabled);
312  virtual void onColorControlInvertCheckBoxChanged(bool enabled);
313  virtual void onColorControlContrastSliderChanged(double value);
314  virtual void onColorControlBrightnessSliderChanged(double value);
315  virtual void onColorControlColorMixSliderChanged(double value);
316 
317  protected:
318 
320 
324 
340 
344 
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
This is the interface for the DtObserverSettingsPage.
Definition: DtObserverSettingsInterface.h:21
QLabel * myColorControlContrastLabel
Definition: DtObserverSettingsPage.h:356
QCheckBox * myCameraShakeEnabledCheckBox
Definition: DtObserverSettingsPage.h:341
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.
QComboBox * myNorthTypeComboBox
Definition: DtObserverSettingsPage.h:352
DtSliderDoubleSpinboxWidget * myLodScaleCenterMagMinLimitSlider
Definition: DtObserverSettingsPage.h:347
DtSliderDoubleSpinboxWidget * mySpeedScalingMslModeOffsetSlider
Definition: DtObserverSettingsPage.h:339
QComboBox * myModelSetComboBox
Definition: DtObserverSettingsPage.h:327
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:338
Contains DLL export macros.
QSlider * myModelScaleFactorSlider
Definition: DtObserverSettingsPage.h:332
QCheckBox * myColorControlInvertCheckBox
Definition: DtObserverSettingsPage.h:355
DtSliderDoubleSpinboxWidget * myColorControlColorMixSlider
Definition: DtObserverSettingsPage.h:361
Definition: DtPage.h:150
QRadioButton * mySpeedScalingAglRadioButton
Definition: DtObserverSettingsPage.h:336
QCheckBox * myColorControlEnabledCheckBox
Definition: DtObserverSettingsPage.h:354
QSlider * myRotationSpeedGainSlider
Definition: DtObserverSettingsPage.h:330
QLabel * myLodScaleCenterMagMinLimitLabel
Definition: DtObserverSettingsPage.h:346
DtSliderDoubleSpinboxWidget * myColorControlBrightnessSlider
Definition: DtObserverSettingsPage.h:359
QComboBox * myKeyMapComboBox
Definition: DtObserverSettingsPage.h:326
DtSliderDoubleSpinboxWidget * myColorControlContrastSlider
Definition: DtObserverSettingsPage.h:357
QComboBox * myModelScaleTypeComboBox
Definition: DtObserverSettingsPage.h:333
Contains makVrv::DtObserverSettingsInterface class.
SpeedScalingMode
Definition: DtObserverObject.h:53
DtSelectInstanceWidget * myObserverModeSelectInstanceWidget
Definition: DtObserverSettingsPage.h:322
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:323
QButtonGroup * mySpeedScalingModeButtonGroup
Definition: DtObserverSettingsPage.h:335
QComboBox * myProjectionComboBox
Definition: DtObserverSettingsPage.h:325
NorthType
Definition: DtObserverObject.h:59
QTreeWidget * myObsererControlSettingsWidget
Definition: DtObserverSettingsPage.h:350
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:30
QDoubleSpinBox * myMaxModelScaleFactorSpinBox
Definition: DtObserverSettingsPage.h:334
QComboBox * mySensorComboBox
Definition: DtObserverSettingsPage.h:328
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:321
DtSliderDoubleSpinboxWidget * myCameraShakeIntensitySlider
Definition: DtObserverSettingsPage.h:343
DtObserverSettingsLogic * myLogic
Definition: DtObserverSettingsPage.h:319
QCheckBox * myLodScaleCenterEnabledCheckBox
Definition: DtObserverSettingsPage.h:345
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:72
QRadioButton * mySpeedScalingMslRadioButton
Definition: DtObserverSettingsPage.h:337
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:38
DtModelSetId
Definition: DtModelSetEnums.h:19
voidpf uLong offset
Definition: ioapi.h:42
QSlider * myOrbitSpeedGainSlider
Definition: DtObserverSettingsPage.h:331
QSlider * myLinearSpeedGainSlider
Definition: DtObserverSettingsPage.h:329
QLabel * myCameraShakeIntensityLabel
Definition: DtObserverSettingsPage.h:342

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)