![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtModelScaleWidget.h,v $ $Revision: 1.22 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00014 00015 #pragma once 00016 00017 #include <vrvCoreQt/vrvCoreQt.h> 00018 00019 #include <vrvCoreQt/DtWidgetBuilder.h> 00020 #include <vrvCoreQt/DtModelScaleWidgetInterface.h> 00021 00022 #include <vrvCore/DtSubjectObserver.h> 00023 #include <QtGui/QWidget> 00024 00025 class QToolButton; 00026 class QSlider; 00027 00028 namespace makVrv 00029 { 00030 class DtModelScaleSliderWidget; 00031 class DtPopupToolbarButton; 00032 class DtPopupToolbar; 00033 class DtModelScaleWidgetLogic; 00034 00039 class DT_DLL_VRVCOREQT DtModelScaleWidget 00040 : public QWidget 00041 , public DtModelScaleWidgetInterface 00042 , public DtDeObserver 00043 { 00044 Q_OBJECT 00045 00046 public: 00047 00049 DtModelScaleWidget( DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 ); 00050 00052 virtual ~DtModelScaleWidget(); 00053 00056 virtual void setEnabled( bool b ); 00057 00058 00060 virtual void setValue( bool b ); 00061 00064 virtual void setModelScaleFactor( int factor ); 00065 00067 virtual void setMaxModelScaleFactor( int maxModelScaleFactor ); 00068 00069 protected: 00071 void setupGui(); 00072 00073 // For Display Engine subject observer 00074 virtual void slot_activate( DtDe* subject ); 00075 virtual void slot_deactivate( DtDe* ) {} 00076 00077 protected slots: 00078 00080 virtual void on_modelScaleToggleClicked(); 00081 virtual void on_modelScaleSliderChanged( int ); 00082 00083 protected: 00084 DtDe& myDe; 00085 DtModelScaleWidgetLogic* myLogic; 00086 00087 QToolButton* myModelScaleToolButton; 00088 DtPopupToolbarButton* mySliderEnableButton; 00089 DtModelScaleSliderWidget* mySliderWidget; 00090 DtPopupToolbar* mySliderToolBar; 00091 bool mySliderWidgetShown; 00092 }; 00093 00097 class DT_DLL_VRVCOREQT DtModelScaleSliderWidget : public QWidget 00098 { 00099 Q_OBJECT 00100 00101 public: 00102 00103 // constructor 00104 DtModelScaleSliderWidget( QWidget * parent = 0, Qt::WindowFlags f = 0 ); 00105 00106 virtual ~DtModelScaleSliderWidget(); 00107 00108 public slots: 00109 00110 void setValue( int value ); 00111 00113 void setMaxModelScaleFactor( int maxModelScaleFactor ); 00114 00115 signals: 00116 void valueChanged( int ); 00117 00118 protected: 00119 void setupGui(); 00120 00121 protected: 00122 QSlider* myModelScaleFactorSlider; 00123 }; 00124 00127 class DT_DLL_VRVCOREQT DtModelScaleWidgetBuilder : public DtWidgetBuilder 00128 { 00129 public: 00130 00131 DtModelScaleWidgetBuilder(); 00132 virtual ~DtModelScaleWidgetBuilder(); 00133 virtual QWidget* create( DtDe& de, QWidget* parent, const Qt::WindowFlags& flags); 00134 }; 00135 }