![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtSimulationTimeScaleWidget.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrvUtil/signalslib.h> 00017 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00018 #include <vrfGuiCoreQt/DtSimulationTimeScaleWidgetInterface.h> 00019 00020 #include <vrvCoreQt/DtToolbar.h> 00021 #include <vrvCoreQt/DtWidgetBuilder.h> 00022 00023 #include <QtGui/QValidator> 00024 00025 class QHBoxLayout; 00026 class QLineEdit; 00027 class QSlider; 00028 class QLabel;; 00029 00030 namespace makVrv 00031 { 00032 class DtDe; 00033 class DtPopupToolbarButton; 00034 class DtPopupToolbar; 00035 } 00036 00037 namespace makVrf 00038 { 00039 class DtSimulationTimeScaleWidgetLogic; 00040 00044 class DT_DLL_VRFGUICOREQT DtSimulationTimeScaleToolbar : public makVrv::DtToolbar 00045 { 00046 public: 00047 00049 DtSimulationTimeScaleToolbar(makVrv::DtDe&); 00050 00052 virtual ~DtSimulationTimeScaleToolbar(); 00053 00055 virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent); 00056 00057 }; 00058 00060 class DT_DLL_VRFGUICOREQT DtSimulationTimeScaleWidgetSlider 00061 : public QWidget 00062 , public DtSimulationTimeScaleWidgetInterface 00063 { 00064 Q_OBJECT 00065 00066 public: 00068 DtSimulationTimeScaleWidgetSlider( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0); 00069 00071 virtual ~DtSimulationTimeScaleWidgetSlider(); 00072 00073 public: 00075 virtual void setTimeMultiplier(double multiplier); 00076 virtual double timeMultiplier() const; 00077 00078 virtual void setTimeMultiplier(int tick, double multiplier); 00079 00081 virtual void setRange(int low, int high, int tickInterval = 1); 00082 00084 virtual void setValidatorRange(double low, double high); 00085 00087 virtual void range(int& low, int& high) const; 00088 00090 virtual void setEnabled(bool); 00091 00093 virtual bool enabled() const; 00094 00095 protected: 00097 virtual void setupGui(); 00098 00099 protected slots: 00100 virtual void changeTimeMultiplier(int); 00101 virtual void changeTimeMultiplier(const QString&); 00102 00103 public: 00104 DtSimulationTimeScaleWidgetLogic* myLogic; 00105 QDoubleValidator myDoubleValidator; 00106 QLineEdit* myTimeMultiplierEdit; 00107 QSlider* myTimeMultiplierSlider; 00108 }; 00109 00111 class DT_DLL_VRFGUICOREQT DtSimulationTimeScaleWidget : public QWidget 00112 { 00113 Q_OBJECT 00114 public: 00116 DtSimulationTimeScaleWidget( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0); 00117 00119 virtual ~DtSimulationTimeScaleWidget(); 00120 00122 virtual void setTimeMultiplier(double multiplier); 00123 virtual double timeMultiplier() const; 00124 00125 protected: 00126 void setupGui(); 00127 00128 protected: 00129 makVrv::DtDe& myDe; 00130 00131 public: 00132 DtSimulationTimeScaleWidgetSlider* myTimeScaleSlider; 00133 QLabel* myTimescaleIcon; 00134 }; 00135 00136 class DT_DLL_VRFGUICOREQT DtSimulationTimeScaleWidgetBuilder : public makVrv::DtWidgetBuilder 00137 { 00138 00139 public: 00140 00141 DtSimulationTimeScaleWidgetBuilder(); 00142 00143 virtual ~DtSimulationTimeScaleWidgetBuilder(); 00144 00145 virtual QWidget* create( makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags); 00146 }; 00147 } 00148