![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: vrfSceneSettingsEnvironmentWidget.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvUtil/signalslib.h> 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrfGuiCoreQt/baseEnvironmentSettingsWeatherLogic.h> 00018 #include <vrvCore/DtDe.h> 00019 #include <vrfGuiCoreQt/environmentWeatherInterface.h> 00020 00021 #include <vrfExtObjects/vrfWeatherStateEnums.h> 00022 00023 #include <QtGui/QWidget> 00024 00025 class QLabel; 00026 class QCheckBox; 00027 class QGroupBox; 00028 class QComboBox; 00029 class QDoubleSpinBox; 00030 class QVBoxLayout; 00031 00032 namespace makVrf 00033 { 00034 class DtVrfSceneSettingsEnvironmentLogic; 00035 00039 class DT_DLL_VRFGUICOREQT DtEnvironmentSettingsWeatherWidget : public QWidget, public DtEnvironmentWeatherInterface 00040 { 00041 Q_OBJECT 00042 00043 public: 00044 00046 DtEnvironmentSettingsWeatherWidget(makVrv::DtDe& de, QWidget* parent = 0); 00047 00049 virtual ~DtEnvironmentSettingsWeatherWidget(); 00050 00052 virtual void setupGui(); 00053 00055 virtual void setLogic(DtBaseEnvironmentSettingsWeatherLogic* logic); 00056 00058 virtual void setPrecipitationEnabled(bool enabledFlag); 00059 virtual void setPrecipitationIntensity(float intensity); 00060 virtual void setPrecipitationType(int type); 00061 virtual void setSkyConditions(int state); 00062 virtual void setWindDirection(float); 00063 virtual void setWindSpeed(float); 00064 virtual void setVisibilityDistance(float distance); 00065 virtual void setMaximumVisibility(float distance); 00066 00067 virtual bool precipitationEnabled(); 00068 virtual float precipitationIntensity(); 00069 virtual int precipitationType(); 00070 virtual int skyConditions(); 00071 virtual float visibilityDistance(); 00072 virtual float windDirection(); 00073 virtual float windSpeed(); 00074 00075 protected slots: 00076 00077 void on_myPrecipitationBox_clicked(bool); 00078 void on_myPrecipitationIntensityBox_valueChanged(double); 00079 void on_myPrecipitationTypeBox_indexChanged(int); 00080 void on_mySkyConditionsBox_indexChanged(int); 00081 void on_myVisibilityBox_valueChanged(double); 00082 void on_myWindSpeedBox_valueChanged(double); 00083 void on_myWindDirectionBox_valueChanged(double); 00084 00085 virtual void refreshLabels(); 00086 00087 protected: 00088 00089 DtBaseEnvironmentSettingsWeatherLogic* myLogic; 00090 makVrv::DtDe& myDe; 00091 00092 QLabel* mySkyConditionsLabel; 00093 QComboBox* mySkyConditionsBox; 00094 QLabel* myVisibilityLabel; 00095 QDoubleSpinBox* myVisibilityBox; 00096 QGroupBox* myPrecipitationBox; 00097 QLabel* myPrecipitionTypeLabel; 00098 QComboBox* myPrecipitationTypeBox; 00099 QLabel* myPrecipitionIntensityLabel; 00100 QDoubleSpinBox* myPrecipitionIntensityBox; 00101 QLabel* myWindSpeedLabel; 00102 QDoubleSpinBox* myWindSpeedBox; 00103 QLabel* myWindDirectionLabel; 00104 QDoubleSpinBox* myWindDirectionBox; 00105 00106 QVBoxLayout* myMainLayout; 00107 00110 double myNativeUnitVisibilityDistance; 00111 double myNativeUnitMaxVisibilityDistance; 00112 double myNativeUnitWindSpeed; 00113 double myNativeUnitWindDirection; 00114 }; 00115 }