00001 #ifndef QGSPROJECTBADLAYERGUIHANDLER_H
00002 #define QGSPROJECTBADLAYERGUIHANDLER_H
00003
00004 #include "qgsproject.h"
00005
00013 class GUI_EXPORT QgsProjectBadLayerGuiHandler : public QObject, public QgsProjectBadLayerHandler
00014 {
00015 Q_OBJECT
00016
00017 public:
00018 QgsProjectBadLayerGuiHandler();
00019
00021 virtual void handleBadLayers( QList<QDomNode> layers, QDomDocument projectDom );
00022
00023 protected:
00024
00026 enum DataType { IS_VECTOR, IS_RASTER, IS_BOGUS };
00027
00029 enum ProviderType { IS_FILE, IS_DATABASE, IS_URL, IS_Unknown };
00030
00031
00036 DataType dataType( QDomNode & layerNode );
00037
00044 QString dataSource( QDomNode & layerNode );
00045
00059 ProviderType providerType( QDomNode & layerNode );
00060
00062 void setDataSource( QDomNode & layerNode, QString const & dataSource );
00063
00065 bool findMissingFile( QString const & fileFilters, QDomNode & layerNode );
00066
00079 bool findLayer( QString const & fileFilters, QDomNode const & constLayerNode );
00080
00085 void findLayers( QString const & fileFilters, QList<QDomNode> const & layerNodes );
00086
00087 };
00088
00089 #endif // QGSPROJECTBADLAYERGUIHANDLER_H