VR-Forces 4.0.4 Class Documentation
include/terrainqt/terrainLineConfigWidget.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2004 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: terrainLineConfigWidget.h,v $ $Revision: 1.12 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DTTERRAINLINECONFIGWIDGET_H
00013 #define DTTERRAINLINECONFIGWIDGET_H
00014 
00015 #include "tmqt/lineConfigWidget.h"
00016 #include "symbolMapper/modelData.h"
00017 #include "symbology/symbol.h"
00018 
00019 #include <QtGui/QTreeWidget>
00020 
00021 class QPushButton;
00022 class DtViewDriver;
00023 
00025 #include "terrainqt/terrainqtDefines.h"
00026 class DT_DLL_terrainqt DtRangeGroup : public QTreeWidgetItem
00027 {
00028 public:
00029    DtRangeGroup(QTreeWidget* parent, const QString& text);
00030 
00031    virtual ~DtRangeGroup();
00032 
00034    virtual QTreeWidgetItem* lastItem();
00035    virtual void addChild(QTreeWidgetItem* item);
00036 
00038    virtual const QList<QTreeWidgetItem*>& children() const;
00039 
00041    virtual bool isChild(QTreeWidgetItem* item);
00042 
00043 protected:
00044    QList<QTreeWidgetItem*> myChildren;
00045 };
00046 
00050 
00051 class DT_DLL_terrainqt DtTerrainLineConfigWidget : public DtLineConfigWidget
00052 {
00053 
00054    Q_OBJECT
00055 
00056 public:
00057 
00059    DtTerrainLineConfigWidget(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
00060 
00062    virtual ~DtTerrainLineConfigWidget();
00063 
00064    static QWidget* create(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
00065 
00066 public:
00072    virtual void setPointRanges(const QVector<int>& ranges);
00073 
00074 protected:
00077    virtual QTreeWidgetItem* addPoint(const DtPoint& pnt, QTreeWidgetItem* before,
00078       const QString& name, const QString& xtr, const QString& ystr, const QString& zstr);
00079 
00082    virtual DtRangeGroup* rangeGroup(int iPointNum);
00083 
00085    virtual QTreeWidgetItem* firstChild();
00086    virtual QTreeWidgetItem* nextSibling(QTreeWidgetItem* item);
00087 
00089    virtual bool isRangeGroup(QTreeWidgetItem* item) const;
00090 
00091    virtual void clearListView();
00092    virtual void reversePoints();
00093 
00094    virtual bool initMainDialogChanges();
00095 
00099    virtual void createRouteFromRange(int route, int iBeing, int iEnd, bool last = false);
00100 
00101    virtual void updateButtons();
00102    virtual void deletePoint();
00103    virtual void addPointToList(const DtPoint& p, QTreeWidgetItem* before);
00104 
00106    virtual int rangeIndex(QTreeWidgetItem*) const;
00107 
00110    virtual DtRangeGroup* rangeGroup(QTreeWidgetItem*) const;
00111    virtual unsigned int childCount() const;
00112 
00113    virtual void changePoint();
00114 
00116    virtual void reverseRangeGroup(const DtRangeGroup*);
00117 
00121    virtual DtSymbol* selectedSymbol();
00122    virtual void removeMappedSymbols();
00123 
00126    virtual void applyChangesToPointList();
00127 
00128 
00129    virtual void setupEdgeSymbol();
00130    virtual DtModelData* setupEdgeModelData();
00131 
00132    virtual DtModelData* edgeModelData() const;
00133 
00134 public slots:
00138    virtual void createRoutes();
00139    virtual void setEditPoint(QTreeWidgetItem* item);
00140 
00143    virtual void moveEdgeUp();
00144    virtual void moveEdgeDown();
00145    virtual void moveEdge(int iFrom, bool up, bool select = true);
00146    virtual void getPointRange(int iRangeIndex, int& iFrom, int& iTo) const;
00147    virtual QVector<DtPoint> getPointList(int iRangeIndex) const;
00148 
00149 private:
00150 
00152    DtTerrainLineConfigWidget(const DtTerrainLineConfigWidget& orig);
00153 
00155    DtTerrainLineConfigWidget& operator=(const DtTerrainLineConfigWidget& orig);
00156 
00157 protected:
00158    QVector<int> myPointRanges;
00159    QHash<int, DtRangeGroup*> myRangeParents;
00160    QPushButton* myCreateRoutes;
00161 
00162    QPushButton* myUpEdge;
00163    QPushButton* myDownEdge;
00164 
00167    DtSymbol*            myEdgeSelectionSymbol;
00168    DtModelData*         myEdgeSelectionHighlightData;
00169    DtEntityMapperKey    myEdgeSelectionModelKey;
00170 };
00171 
00172 #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)