![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00010 00011 #pragma once 00012 00013 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00014 #include <vrfGuiCoreQt/DtLocationEntryWidgetInterface.h> 00015 00017 #include <matrix/vlVector.h> 00018 00020 #include <QtGui/QWidget> 00021 00022 class QLabel; 00023 class QGridLayout; 00024 class QLineEdit; 00025 class QDoubleValidator; 00026 class QWidget; 00027 00028 namespace makVrf 00029 { 00030 class DtAltitudeSelectionWidget; 00031 class DtLocationEntryWidgetLogic; 00032 00036 class DT_DLL_VRFGUICOREQT DtLocationEntryWidget : public QWidget, 00037 public DtLocationEntryWidgetInterface 00038 { 00039 Q_OBJECT 00040 00041 public: 00048 DtLocationEntryWidget(bool altitudeSelectionEnabled, makVrv::DtDe& de, 00049 QWidget* parent, const Qt::WindowFlags& flags = 0); 00050 00051 //DTOR 00052 virtual ~DtLocationEntryWidget(); 00053 00055 virtual DtVector location() const; 00056 00058 virtual DtVector geocentricLocation() const; 00059 00061 virtual void setLocation(DtVector, bool resetAltitude = true); 00062 virtual void setGeocentricLocation(DtVector, bool resetAltitude = true); 00063 virtual void setAltitude(const DtVector& localLocation, bool resetAltitude = true); 00064 00066 virtual void setHideAltitude(bool b); 00067 00069 virtual void setHideLocationZ(bool b); 00070 00072 virtual void setXLabel(const QString&); 00073 QString xLabel() const; 00074 00075 virtual void setYLabel(const QString&); 00076 QString yLabel() const; 00077 00078 virtual void setZLabel(const QString&); 00079 QString zLabel() const; 00080 00082 virtual void setXValue(const QString&); 00083 virtual void setYValue(const QString&); 00084 virtual void setZValue(const QString&); 00085 00086 virtual QString xValue() const; 00087 virtual QString yValue() const; 00088 virtual QString zValue() const; 00089 00090 virtual void setAltitudeAboveSeaLevelVisible(bool b); 00091 virtual void setAltitudeAboveGroundLevelVisible(bool b); 00092 00093 virtual DtGeodeticCoord geodeticLocation() const; 00094 00096 virtual void setCoordinateSystem( 00097 const makArchives::DtDisplayUnitsSettingsRecord::CoordSys& coordSys); 00098 const makArchives::DtDisplayUnitsSettingsRecord::CoordSys& 00099 coordinateSystem() const; 00100 00102 virtual void setCoordinateSystemDecimals(int decimals); 00103 00106 virtual void setAltitudeSelectionEnabled(bool); 00107 virtual bool altitudeSelectionEnabled(); 00108 virtual void setZEnabled(bool); 00109 00111 virtual void setCurrentAltitudeTypeSelection(const DtAltitudeClampType& type); 00112 00114 virtual DtAltitudeClampType currentAltitudeTypeSelection() const; 00115 00117 virtual double altitudeAboveSeaLevel() const; 00118 00120 virtual double altitudeAboveGroundLevel() const; 00121 00123 virtual void setAltitudeAboveSeaLevel(double altitude); 00124 00126 virtual void setAltitudeAboveGroundLevel(double altitude); 00127 00129 virtual void setProcessMouseEvents(bool flag); 00130 00132 virtual bool processMouseEvents(); 00133 00134 virtual void setAltitudeAboveGroundLevelSelected(bool b); 00135 00136 virtual void setAltitudeAboveSeaLevelSelected(bool b); 00137 00140 virtual void setClampToNearestPolygon(bool); 00141 00143 virtual void setIgnoreList(const std::vector<makVrv::DtElementID>&); 00144 virtual const std::vector<makVrv::DtElementID>& ignoreList() const; 00145 00146 protected slots: 00147 00149 virtual void slot_onPositionChanged(); 00150 00152 virtual void slot_onPositionEdited(); 00153 00155 virtual void slot_onAltitudeAboveGroundLevelEdited(double); 00156 00158 virtual void slot_onAltitudeAboveSeaLevelEdited(double); 00159 00161 virtual void slot_onAltitudeSelectionTypeChanged(const DtAltitudeClampType& ); 00162 00163 protected: 00164 00166 virtual void slot_onClampSelectionChanged(int index); 00167 00168 protected: 00169 makVrv::DtDe& myDe; 00170 00171 public: 00172 QWidget* myWidget; 00173 QGridLayout* myGridLayout; 00174 QLineEdit* myLocationX; 00175 QLabel* myLocationLabelX; 00176 QLineEdit* myLocationY; 00177 QLabel* myLocationLabelY; 00178 QLineEdit* myLocationZ; 00179 QLabel* myLocationLabelZ; 00180 DtAltitudeSelectionWidget* myAltitude; 00181 00182 QDoubleValidator* myValidator; 00183 DtLocationEntryWidgetLogic* myLogic; 00184 bool myProcessMouseEvents; 00185 bool myLockAltitude; 00186 bool myAltitudeSelectionEnabled; 00187 }; 00188 }