VR-Forces 4.0.4 Class Documentation
include/terrainqt/infoWidget.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2000 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: infoWidget.h,v $ $Revision: 1.21 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef INFOWIDGET_H
00013 #define INFOWIDGET_H
00014 
00015 #include "terrainqt/ui_infoWidgetUi.h"
00016 #include "tmqt/tmDisplayOptions.h"
00017 #include "drawerNative/convUtils.h"
00018 #include "geometry/point.h"
00019 
00020 #include <map>
00021 
00022 class DtTMFactory;
00023 class DtVector;
00024 class DtCoordinateSystemCollection;
00025 class DtLocationEntryWidget;
00026 class DtTerrainDatabase;
00027 class Coordinate_System;
00028 
00032 
00033 #include "terrainqt/terrainqtDefines.h"
00034 class DT_DLL_terrainqt DtInfoWidget : public QWidget 
00035 {
00036 
00037    Q_OBJECT
00038 
00039 public:
00040 
00042    DtInfoWidget(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
00043 
00045    virtual ~DtInfoWidget();
00046 
00047    virtual bool init(const DtTMFactory* f, const DtCoordinateSystemCollection* coll);
00048 
00049    virtual void setCoordinateSystem(const DtCoordSys& s);
00050    virtual DtPoint location() const;
00051    virtual void showCoordinateSystemCombo(bool b);
00052    virtual void setTitle(const QString&);
00053 
00054    virtual void setTerrainDatabase(const DtTerrainDatabase*);
00055    const DtTerrainDatabase* terrainDatabase() const;
00056 
00057    void setDirty(bool);
00058 
00059 public:
00060 
00062    static DtInfoWidget* create(QWidget* parent, const Qt::WindowFlags& flags);
00063 
00064 public slots:
00065 
00066    virtual void clear();
00067    virtual void resetAllFields();
00068    virtual void update();
00069    virtual void updateFromDatabasePoint();
00070 
00071    virtual void updateUnits(const QString& u, const QString&, const QString&);
00072    virtual void updateCoordSys(const QString& s);
00073    virtual void updateCoordSys(const DtCoordSys&);
00074    virtual void setDatabasePoint(const DtPoint& p);
00075 
00076    virtual void updateAltitude(int);
00077    virtual void layerDisplayChange(int);
00078 
00079    void setSpecialType(const DtPoint& pnt, const QString& name);
00080    void clearSpecialType();
00081 
00082    virtual void setPositionFromGeoc(const DtVector& pos);
00083 
00084 protected:
00085 
00090    virtual void updateSoilTypeFromLocation(DtVector& localLocation);
00091 
00092    virtual void addSpecialTypes();
00093 
00094 signals:
00095    void layerDisplayChanged();
00096 
00097 private:
00099    DtInfoWidget(const DtInfoWidget& orig);
00100 
00102    DtInfoWidget& operator=(const DtInfoWidget& orig);
00103 
00104 public:
00105    Ui::InfoWidgetUi myUiImpl;
00106 
00107 protected:
00108    DtPoint myDatabasePoint;
00109 
00110    bool myDirty;
00111 
00112    const DtCoordinateSystemCollection* myCoordinateSystemCollection;
00113    DtLocationEntryWidget* myLocationEntryWidget;
00114 
00115    std::map<int, DtPoint>  myIntersectionPointMap;
00116    int myDatabaseSelection;
00117 
00118    QString mySpecialType;
00119    
00120    const DtTerrainDatabase* myTerrainDatabase;
00121    Coordinate_System*   myDefaultCoordinateSystem;
00122 };
00123 
00124 inline void DtInfoWidget::setSpecialType(const DtPoint& pnt, const QString& name)
00125 {
00126    mySpecialType = name;
00127    clear();
00128    myDatabasePoint = pnt;
00129 
00130    myDirty = true;
00131 
00132    update();
00133 }
00134 
00135 inline void DtInfoWidget::clearSpecialType()
00136 {
00137    mySpecialType = "";
00138 }
00139 
00140 inline const DtTerrainDatabase* DtInfoWidget::terrainDatabase() const
00141 {
00142    return myTerrainDatabase;
00143 }
00144 
00145 inline void DtInfoWidget::setDirty(bool b)
00146 {
00147    myDirty = b;
00148 }
00149 
00150 #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)