![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtGroundClampingWidget.h,v $ $Revision: 1.22 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00014 00015 #pragma once 00016 00017 #include <vrvVrlQt/vrvVrlQt.h> 00018 00019 #include <vrvCoreQt/DtWidgetBuilder.h> 00020 #include <vrvVrlQt/DtGroundClampingWidgetInterface.h> 00021 00022 #include <QtGui/QWidget> 00023 00024 class QToolButton; 00025 class QSlider; 00026 00027 namespace makVrv 00028 { 00029 class DtGroundClampingSliderWidget; 00030 class DtPopupToolbarButton; 00031 class DtPopupToolbar; 00032 class DtGroundClampingLogic; 00033 00038 class DT_DLL_VRVVRLQT DtGroundClampingWidget 00039 : public QWidget 00040 , public DtGroundClampingWidgetInterface 00041 { 00042 Q_OBJECT; 00043 00044 public: 00045 00047 DtGroundClampingWidget( DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 ); 00048 00050 virtual ~DtGroundClampingWidget(); 00051 00054 virtual void setEnabled( bool b ); 00055 00057 virtual void setValue( bool b ); 00058 00061 virtual void setGroundClampingFactor( int factor ); 00062 00063 protected: 00065 void setupGui(); 00066 00067 // For Display Engine subject observer 00068 virtual void slot_activate( DtDe* subject ); 00069 virtual void slot_deactivate( DtDe* ) {} 00070 00071 protected slots: 00072 00074 virtual void on_groundClampingToggleClicked(); 00075 virtual void on_groundClampingScaleSliderChanged( int ); 00076 00077 protected: 00078 DtDe& myDe; 00079 DtGroundClampingLogic* myLogic; 00080 00081 QToolButton* myGroundClampingToolButton; 00082 DtPopupToolbarButton* mySliderEnableButton; 00083 DtGroundClampingSliderWidget* mySliderWidget; 00084 DtPopupToolbar* mySliderToolBar; 00085 bool mySliderWidgetShown; 00086 }; 00087 00091 class DT_DLL_VRVVRLQT DtGroundClampingSliderWidget : public QWidget 00092 { 00093 Q_OBJECT 00094 00095 public: 00096 00097 // constructor 00098 DtGroundClampingSliderWidget( QWidget * parent = 0, Qt::WindowFlags f = 0 ); 00099 00100 virtual ~DtGroundClampingSliderWidget(); 00101 00102 virtual int maxValue(); 00103 00104 virtual int minValue(); 00105 00106 public slots: 00107 00108 void setValue( int value ); 00109 00110 signals: 00111 void valueChanged( int ); 00112 00113 protected: 00114 void setupGui(); 00115 00116 protected: 00117 QSlider* myGroundClampingFactorSlider; 00118 }; 00119 00122 class DT_DLL_VRVVRLQT DtGroundClampingWidgetBuilder : public DtWidgetBuilder 00123 { 00124 public: 00125 00126 DtGroundClampingWidgetBuilder(); 00127 virtual ~DtGroundClampingWidgetBuilder(); 00128 virtual QWidget* create( DtDe& de, QWidget* parent, const Qt::WindowFlags& flags); 00129 }; 00130 }