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