![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEyepointControlWidget.h,v $ $Revision: 1.22 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCoreQt/vrvCoreQt.h> 00016 #include <vrvCoreQt/DtPage.h> 00017 #include <vrvCoreQt/DtEyepointControlWidgetInterface.h> 00018 #include <vrvCore/DtUniqueID.h> 00019 00020 class QCheckBox; 00021 class QDialog; 00022 class QMenu; 00023 class QAction; 00024 class QSlider; 00025 class QDoubleSpinBox; 00026 00027 namespace makVrv 00028 { 00029 class DtEyepointControlWidgetLogic; 00030 class DtObserverModeSelectionWidget; 00031 00034 class DT_DLL_VRVCOREQT DtEyepointControlWidget 00035 : public DtPage 00036 , public DtEyepointControlWidgetInterface 00037 00038 { 00039 00040 Q_OBJECT 00041 00042 public: 00043 00045 virtual ~DtEyepointControlWidget(); 00046 00048 virtual QIcon icon(); 00049 00051 virtual QString title(); 00052 00054 virtual const std::string& pageClassName() const; 00055 00057 virtual void setScalingCheckBox( bool checked ); 00058 00060 virtual void setConstrainCheckBox( bool checked ); 00061 00063 virtual void enableConstrainCheckBox( bool enabled ); 00064 00065 virtual void setViewControlCheckBox( bool checked ); 00066 00068 virtual void setTerrainDragCheckBox( bool checked ); 00069 00071 virtual void setLinearSpeedGainSlider( int gain ); 00072 00074 virtual void setRotationSpeedGainSlider( int gain ); 00075 00077 virtual void setOrbitSpeedGainSlider( int gain ); 00078 00080 virtual void setSliderGainPrecision( int precision ); 00081 00083 virtual void setModelScaleFactorSlider( int factor ); 00084 00086 virtual void enableModelScaleFactorSlider( bool enable ); 00087 00089 virtual void setMaxModelScaleFactor( int maxModelScaleFactor ); 00090 00092 virtual void setViewMagnificationSpinBox( double mag ); 00093 00095 virtual void enableViewMagnificationSpinBox( bool enable ); 00096 00098 virtual QSize sizeHint() const; 00099 00100 public slots: 00101 00103 virtual void toggleScaling( bool checked ); 00104 00106 virtual void toggleConstrain( bool checked ); 00107 00109 virtual void toggleViewControl( bool checked ); 00110 00112 virtual void toggleTerrainDragging( bool checked ); 00113 00115 virtual void linearSpeedGainSliderChanged( int value ); 00116 00118 virtual void rotationSpeedGainSliderChanged( int value ); 00119 00121 virtual void orbitSpeedGainSliderChanged( int value ); 00122 00123 virtual void onModelScaleFactorSliderChanged( int value ); 00124 00125 virtual void onViewMagnificationSpinBoxChanged( double value ); 00126 00127 protected: 00128 00130 friend class DtEyepointControlWidgetCreator; 00131 00133 DtEyepointControlWidget(DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0); 00134 00136 virtual void activate(); 00137 00139 virtual void deactivate(); 00140 00141 void setupGui(); 00142 00146 virtual void keyReleaseEvent( QKeyEvent* event ); 00147 00148 00149 protected: 00150 00152 DtEyepointControlWidgetLogic* myLogic; 00153 std::string myClassName; 00154 QSlider* myLinearSpeedGainSlider; 00155 QSlider* myRotationSpeedGainSlider; 00156 QSlider* myOrbitSpeedGainSlider; 00157 QCheckBox* myConstrainCheckBox; 00158 QCheckBox* myScalingCheckBox; 00159 QCheckBox* myViewControlCheckBox; 00160 QCheckBox* myTerrainDraggingCheckBox; 00161 DtObserverModeSelectionWidget* myObserverModeComboBox; 00162 QSlider* myModelScaleFactorSlider; 00163 QDoubleSpinBox* myViewMagnificationSpinBox; 00164 }; 00165 00168 class DT_DLL_VRVCOREQT DtEyepointControlWidgetCreator : public DtPageCreator 00169 { 00170 public: 00171 00173 DtEyepointControlWidgetCreator(DtDe& de); 00174 00176 virtual ~DtEyepointControlWidgetCreator(); 00177 00181 virtual std::string pageClassName() const; 00182 00184 virtual DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0); 00185 }; 00186 00187 } 00188