VR-Forces 4.0.4 Class Documentation
include/tmqt/locationEntryWidget.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2003 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: locationEntryWidget.h,v $ $Revision: 1.21 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef LOCATIONENTRYWIDGET_H_
00013 #define LOCATIONENTRYWIDGET_H_
00014 
00015 #include "tmqt/ui_locationEntryWidgetUi.h"
00016 #include "drawerNative/convUtils.h"
00017 #include "drawerNative/coordUtils.h"
00018 
00019 #include <QtGui/QValidator>
00020 
00021 class QLayout;
00022 class DtPoint;
00023 class DtCoordinateSystemCollection;
00024 class DtUnitDisplayManager;
00025 
00029 
00030 #include "tmqt/tmqtDefines.h"
00031 class DT_DLL_tmqt DtLocationEntryWidget : public QWidget
00032 {
00033 
00034    Q_OBJECT
00035 
00036 public:
00037 
00039    DtLocationEntryWidget(QWidget* parent = NULL, const Qt::WindowFlags& f = 0);
00040 
00042    virtual ~DtLocationEntryWidget();
00043 
00044    static DtLocationEntryWidget* create(QWidget* parent = NULL, const Qt::WindowFlags& f = 0);
00045 
00047    virtual void clearPointEdit();
00048 
00050    virtual void hideZ();
00051 
00053    virtual void showZ();
00054 
00056    virtual void getValues(double& x, double& y, double& z);
00057    virtual void setValues(double x, double y, double z);
00058    virtual void setValues(const DtStringLocation& loc);
00059 
00061    virtual bool zIsVisible() const;
00062 
00067    virtual QString xText(bool keepSingleLine = true) const;
00068    virtual QString yText() const;
00069    virtual QString zText() const;
00070 
00073    virtual void setFromSource(const DtPoint& pnt);
00074 
00076    virtual QString xLabel() const;
00077    virtual QString yLabel() const;
00078    virtual QString zLabel() const;
00079 
00080    virtual QLabel* xLabelWidget() const;
00081    virtual QLabel* yLabelWidget() const;
00082    virtual QLabel* zLabelWidget() const;
00083 
00085    virtual void setXLabel(const QString&);
00086    virtual void setYLabel(const QString&);
00087    virtual void setZLabel(const QString&);
00088 
00089    virtual void setXText(QString x);
00090    virtual void setYText(QString y);
00091    virtual void setZText(QString z);
00092 
00093    virtual void setReadOnly(bool b);
00094 
00096    virtual bool init(const DtCoordinateSystemCollection* c,
00097       const DtUnitDisplayManager* units, const DtCoordSys& system);
00098 
00101    virtual void initConnections();
00102 
00106    virtual void convertFromSource(const DtPoint& pnt, const DtCoordSys& newSys, DtStringLocation& out);
00107 
00110    virtual void convertToSource(const DtStringLocation& in, double& x, double& y, double& z);
00111 
00113    virtual void setSingleLine(bool b);
00114 
00117    virtual void setSignalChanges(bool b);
00118 
00121    virtual void setUseAltitudeSelection(bool, bool update = true);
00122    bool useAltitudeSelection() const;
00123 
00124    virtual void setShowHeightAboveTerrain(bool, double t = -1);
00125    bool showHeightAboveTerrain() const;
00126    virtual double heightAboveTerrain() const;
00127    virtual bool useHeightAboveTerrain() const;
00128    virtual bool useAltitude() const;
00129    virtual double altitude() const;
00130 
00131    void setCalculateOffset(bool);
00132    bool calculateOffset() const;
00133 
00136    //@
00137    virtual double convertAltitudeToDisplay(double z) const;
00138    virtual double convertAltitudeFromDisplay(double z) const;
00139    //@
00140 public slots:
00142    virtual void updateUnits(const DtUnitDisplayManager* u);
00143 
00145    virtual void updateCoordinateSystem(const DtCoordSys& system);
00146    virtual void updateCoordinateSystem(const QString& system);
00147    virtual void updateUnitDisplay(const QString&, const QString&, const QString&);
00148 
00150    virtual void pointChanged();
00151 
00152    virtual void updateLabels();
00153 
00154 signals:
00156    void locationChanged(DtLocationEntryWidget* wgt, const DtPoint& pnt);
00157 
00159    void unitsUpdated();
00160 
00161    void altitudeSelectionChanged(int, double);
00162 
00163 protected:
00164    virtual void hideLayout(QLayout* layout);
00165 
00166    virtual void updateDistanceValues(const QString& oldUnits, const QString& newUnits);
00167    virtual void updateAltitudeValue(const QString& oldUnits, const QString& newUnits);
00168    virtual void updateValuesForNewCoordinateSystem(const DtCoordSys& oldSys, const DtCoordSys& newSys);
00169 
00170    virtual QString localZText() const;
00171 
00172 public:
00173    Ui::LocationEntryWidgetUi myUiImpl;
00174 
00175 protected:
00176    QDoubleValidator myDoubleValidator;
00177    DtCoordSys myCoordinateSystem;
00178    bool mySingleLineMode;
00179    const DtCoordinateSystemCollection* myCoordinateSystemCollection;
00180    const DtUnitDisplayManager* myUnitDisplayManager;
00181    bool  myUseAltitudeSelection;
00182    bool myShowHeightAboveTerrain;
00183    bool myCalculateOffset;
00184    double myHeightAboveTerrain;
00185    bool myZIsHidden;
00186 };
00187 
00188 inline bool DtLocationEntryWidget::useAltitudeSelection() const
00189 {
00190    return myUseAltitudeSelection;
00191 }
00192 
00193 inline bool DtLocationEntryWidget::showHeightAboveTerrain() const
00194 {
00195    return myShowHeightAboveTerrain;
00196 }
00197 
00198 inline double DtLocationEntryWidget::heightAboveTerrain() const
00199 {
00200    return myHeightAboveTerrain;
00201 }
00202 
00203 inline void DtLocationEntryWidget::setCalculateOffset(bool b)
00204 {
00205    myCalculateOffset = b;
00206 }
00207 
00208 inline bool DtLocationEntryWidget::calculateOffset() const
00209 {
00210    return myCalculateOffset;
00211 }
00212 
00213 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)