![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00009 #pragma once 00010 00011 #include <vrvUtil/signalslib.h> 00012 00013 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00014 #include <vrvUtil/DtSignalConnectionManager.h> 00015 #include <vrfGuiCoreQt/terrainProfileSettingsWidget.hpp> 00016 #include <vrvCore/DtDisplayUnitsSettingsManager.h> 00017 00018 #include <QtGui/QWidget> 00019 namespace makVrv 00020 { 00021 class DtDe; 00022 class DtPersistenceControlsInterface; 00023 } 00024 00025 namespace makVrf 00026 { 00027 class DtSpotReportOptionsWidgetLogic; 00028 class DtTerrainProfileSettingsRecord; 00029 00033 class DT_DLL_VRFGUICOREQT DtTerrainProfileSettingsWidget : public QWidget 00034 { 00035 Q_OBJECT 00036 00037 public: 00038 00039 enum Types 00040 { 00041 IntervisibilityLine = 1, 00042 Route = 2, 00043 NearLine = 3, 00044 ShowVertices = 4 00045 }; 00046 00048 DtTerrainProfileSettingsWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0 ); 00049 00051 virtual ~DtTerrainProfileSettingsWidget(); 00052 00053 virtual void setShowObjectsNearLine(bool); 00054 virtual void setShowVertices(bool); 00055 virtual void setShowObjectsWithinRange(double); 00056 virtual void setShowObjectsWithinRangeUnitsLabel(const QString&); 00057 00058 virtual void setSamplingRate(double); 00059 virtual void setSamplingRateLabel(const QString&); 00060 00061 virtual void setMaximumPointsPerLine(int); 00062 virtual void setShowWhenCreatingIntervisibilityLine(bool); 00063 virtual void setShowWhenCreatingRoute(bool); 00064 virtual void setShowWhenEditingRoute(bool); 00065 00068 boost::signal<void (int, bool, bool)> signal_optionChanged; 00069 00073 boost::signal<void (double)> signal_showObjectsWithinRangeChanged; 00074 boost::signal<void (double)> signal_samplingRateChanged; 00075 boost::signal<void (int)> signal_maximumPointsPerLineValueChanged; 00076 00077 protected: 00078 00079 void setupGui(); 00080 00081 protected slots: 00083 virtual void onOptionChanged(); 00084 00087 virtual void onShowObjectsNearLineValueChanged(); 00088 00090 virtual void onSamplingRateValueChanged(); 00091 00093 virtual void onMaximumPointsPerLineValueChanged(); 00094 00095 private: 00097 DtTerrainProfileSettingsWidget(const DtTerrainProfileSettingsWidget& orig); 00098 00100 DtTerrainProfileSettingsWidget& operator=(const DtTerrainProfileSettingsWidget& rhs); 00101 00102 public: 00103 Ui_DtTerrainProfileSettingsWidgetUi myUiImpl; 00104 00105 protected: 00106 makVrv::DtDe& myDe; 00107 }; 00108 00110 class DT_DLL_VRFGUICOREQT DtTerrainProfileSettingsLogic 00111 { 00112 00113 public: 00114 00116 DtTerrainProfileSettingsLogic(makVrv::DtDe& de, DtTerrainProfileSettingsWidget& iFace, 00117 makVrv::DtPersistenceControlsInterface& toolbar); 00118 00120 virtual ~DtTerrainProfileSettingsLogic(); 00121 00123 virtual void setupFromOptions(const DtTerrainProfileSettingsRecord& rec); 00124 00126 virtual void on_import(); 00127 virtual void on_export(); 00128 virtual void on_importFilePathChosen(const std::string& filePath); 00129 virtual void on_exportFilePathChosen(const std::string& filePath); 00130 00131 protected: 00133 virtual void onOptionChanged(int type, bool editing, bool value); 00134 00136 virtual void slot_onUnitChanged(int attribute, int from); 00137 00139 virtual void onShowObjectsWithinRangeChanged(double); 00140 00142 virtual void onSamplingRateValueChanged(double); 00143 00145 virtual void onMaximumPointsPerLineValueChanged(int); 00146 00147 protected: 00148 makVrv::DtDe& myDe; 00149 DtTerrainProfileSettingsWidget& myInterface; 00150 makVrv::DtPersistenceControlsInterface& myToolbarInterface; 00151 makVrv::DtSignalConnectionManager myConnectionManager; 00152 00154 makVrv::DtDisplayUnitsConverter::DistanceUnits myDistanceUnits; 00155 }; 00156 }