VR-Forces 4.0.4 Class Documentation
include/terrainqt/terrainFeaturesList.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: terrainFeaturesList.h,v $ $Revision: 1.9 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef TERRAINFEATURESLIST_H_
00013 #define TERRAINFEATURESLIST_H_
00014 
00015 #include "tmqt/dtTreeWidget.h"
00016 #include <geometry/gdbColor.h>
00017 
00018 class DtTerrainDatabase;
00019 class DtSpecification;
00020 class DtSpecificationStringAttribute;
00021 class DtString;
00022 class DtGroup;
00023 class QPainter;
00024 class QColorGroup;
00025 class DtList;
00026 
00027 const int DtFeatureListRole = Qt::UserRole;
00028 const int DtFeatureGroupRole = 1;
00029 const int DtFeatureItemRole = 2;
00030 
00031 const int DtFeatureEntryRole = Qt::UserRole + 1;
00032 const int DtFeatureCheckRole = Qt::UserRole + 2;
00033 
00036 #include "terrainqt/terrainqtDefines.h"
00037 class DT_DLL_terrainqt DtFeatureEntry
00038 {
00039 public:
00040    DtFeatureEntry();
00041 
00042    virtual ~DtFeatureEntry();
00043 
00044    virtual void addSpecification(int i);
00045    virtual int numSpecifications() const;
00046    virtual int specificationAt(int iIndex);
00047 
00048    virtual void setVisible(bool b);
00049    virtual bool visible() const;
00050 
00051    virtual void setColor(const DtColor& c);
00052    virtual DtColor& color();
00053 
00054    virtual void setDrawOrder(int i);
00055    virtual int drawOrder() const;
00056    virtual bool drawOrderChanged() const;
00057    virtual void commitDrawOrder();
00058 
00059    virtual void setColor(int red, int green, int blue);
00060 
00061    virtual void restore();
00062    virtual void backup();
00063 
00064    virtual void setListItem(QTreeWidgetItem* item);
00065    virtual QTreeWidgetItem* listItem();
00066 
00068    virtual void specToList(DtList* list);
00069 
00070 protected:
00071    QVector<int> mySpecifications;
00072    QTreeWidgetItem* myListItem;
00073    bool myIsVisible;
00074    DtColor myColor;
00075    int myDrawOrder;
00076 
00077    int myLastUpdatedDrawOrder;
00078 
00079    bool myOriginalIsVisible;
00080    DtColor myOriginalColor;
00081    int myOriginalDrawOrder;
00082 };
00083 
00084 class DT_DLL_terrainqt DtTerrainFeaturesList : public DtTreeWidget
00085 {
00086    Q_OBJECT
00087 
00088 public:
00089    DtTerrainFeaturesList(QWidget* parent);
00090    virtual ~DtTerrainFeaturesList();
00091 
00092 public:
00095    virtual void setTerrainDatabase(const DtTerrainDatabase* db);
00096 
00097    virtual void featureChange(QTreeWidgetItem* item, bool enableItem);
00098 
00100    virtual bool init(bool onByDefault = true);
00101 
00103    virtual int numSpecifications() const;
00104 
00106    virtual void restoreFeatures();
00107 
00109    virtual void selectGroup(QString select);
00110 
00115    virtual void getSelectedSpecifications(QHash<QString, QString>& specifications,
00116       bool inverse = false);
00117 
00120    virtual void setSelectedSpecifications(const QHash<QString, QString>& dict,
00121       bool inverse = false);
00122 
00124    virtual bool allChildrenSelected(QTreeWidgetItem* item) const;
00125 
00126 public:
00129    virtual bool showGroup(const QString& group, bool show);
00130 
00132    virtual bool setFeatureColor(int fid, const QColor& color);
00133 
00135    virtual bool showFeature(int fid, bool b);
00136 
00137 signals:
00138    void featureChanged(QTreeWidgetItem* item);
00139 
00140 protected slots:
00141    virtual void featureChanged(QTreeWidgetItem* item, int iCol);
00142 
00143 protected:
00145    virtual DtFeatureEntry* createFeatureEntry();
00146 
00148    virtual QTreeWidgetItem* addFeatureEntry(const DtSpecificationStringAttribute* group,
00149       const DtSpecificationStringAttribute* groupName, int uniqueIdentifier, int iSpecification, DtSpecification& spec);
00150 
00151    virtual QTreeWidgetItem* createFeatureListEntry(QTreeWidget* parent, const QString& title,
00152          DtFeatureEntry* entry, QTreeWidgetItem* after);
00153    virtual QTreeWidgetItem* createFeatureListEntry(QTreeWidgetItem* parent, const QString& title,
00154          DtFeatureEntry* entry, QTreeWidgetItem* after);
00155 
00157    virtual void restore(QTreeWidgetItem* item);
00158 
00159 protected:
00160    QHash<int, DtFeatureEntry*> myFidList;
00161    QHash<QString, QTreeWidgetItem*> myGroups;
00162 
00163    bool myOnByDefault;
00164 };
00165 
00166 #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)