00001 #ifndef __VECTORLAYERSET_H 00002 #define __VECTORLAYERSET_H 00003 00004 #include <qobject.h> 00005 #include <vector> 00006 00007 #include "vectorlayer.h" 00008 // #include "view.h" 00009 00017 class VectorLayerSet : public QObject { 00018 Q_OBJECT 00019 protected: 00020 std::vector<VectorLayer*> mLayerSet; 00021 int mActiveLayer; 00022 00023 public: 00024 VectorLayerSet( ); 00025 ~VectorLayerSet( ); 00026 00027 void addLayer( VectorLayer *lyr ); 00028 void delLayer( int ); 00029 VectorLayer* getLayer( int ilyr ); 00030 unsigned int numLayers( ) const; 00031 void setActiveLayer( int ilyr ); 00032 int getActiveLayer( ) const; 00033 00034 public slots: 00035 void transformDatasets( ) { 00036 for ( int ilyr=0; ilyr < (int)mLayerSet.size(); ilyr++ ) 00037 mLayerSet[ilyr]->getData()->transformDataset(); 00038 } 00039 00040 signals: 00041 void activeLayerChanged( int ); 00042 }; 00043 00044 00045 00046 00047 #endif 00048 00049 00050 00051 00052