Quantum GIS API Documentation  1.7.4
Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions
QgsProjectBadLayerGuiHandler Class Reference

Handler for missing layers within project. More...

#include <qgsprojectbadlayerguihandler.h>

Inheritance diagram for QgsProjectBadLayerGuiHandler:
Inheritance graph
[legend]
Collaboration diagram for QgsProjectBadLayerGuiHandler:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 QgsProjectBadLayerGuiHandler ()
virtual void handleBadLayers (QList< QDomNode > layers, QDomDocument projectDom)
 implementation of the handler

Static Public Attributes

static bool mIgnore = false
 Flag to store the Ignore button press of MessageBox used by QgsLegend.

Protected Types

enum  DataType { IS_VECTOR, IS_RASTER, IS_BOGUS }
 file data representation More...
enum  ProviderType { IS_FILE, IS_DATABASE, IS_URL, IS_Unknown }
 the three flavors for data More...

Protected Member Functions

DataType dataType (QDomNode &layerNode)
 returns data type associated with the given QgsProject file Dom node
QString dataSource (QDomNode &layerNode)
 return the data source for the given layer
ProviderType providerType (QDomNode &layerNode)
 return the physical storage type associated with the given layer
void setDataSource (QDomNode &layerNode, QString const &dataSource)
 set the datasource element to the new value
bool findMissingFile (QString const &fileFilters, QDomNode &layerNode)
 this is used to locate files that have moved or otherwise are missing
bool findLayer (QString const &fileFilters, QDomNode const &constLayerNode)
 find relocated data source for the given layer
void findLayers (QString const &fileFilters, QList< QDomNode > const &layerNodes)
 find relocated data sources for given layers

Detailed Description

Handler for missing layers within project.

Gives user a chance to select path to the missing layers.

Note:
added in 1.4

Definition at line 13 of file qgsprojectbadlayerguihandler.h.


Member Enumeration Documentation

file data representation

Enumerator:
IS_VECTOR 
IS_RASTER 
IS_BOGUS 

Definition at line 29 of file qgsprojectbadlayerguihandler.h.

the three flavors for data

Enumerator:
IS_FILE 
IS_DATABASE 
IS_URL 
IS_Unknown 

Definition at line 32 of file qgsprojectbadlayerguihandler.h.


Constructor & Destructor Documentation

Definition at line 13 of file qgsprojectbadlayerguihandler.cpp.


Member Function Documentation

QString QgsProjectBadLayerGuiHandler::dataSource ( QDomNode &  layerNode) [protected]

return the data source for the given layer

The QDomNode is a QgsProject Dom node corresponding to a map layer state.

Essentially dumps datasource tag.

Definition at line 97 of file qgsprojectbadlayerguihandler.cpp.

References QgsDebugMsg.

Referenced by findMissingFile(), and providerType().

returns data type associated with the given QgsProject file Dom node

The Dom node should represent the state associated with a specific layer.

Definition at line 67 of file qgsprojectbadlayerguihandler.cpp.

References IS_BOGUS, IS_RASTER, IS_VECTOR, and QgsDebugMsg.

Referenced by findMissingFile(), and providerType().

bool QgsProjectBadLayerGuiHandler::findLayer ( QString const &  fileFilters,
QDomNode const &  constLayerNode 
) [protected]

find relocated data source for the given layer

This QDom object represents a QgsProject node that maps to a specific layer.

Parameters:
fileFiltersfile filters to use
constLayerNodeQDom node containing layer project information
Todo:

XXX Only implemented for file based layers. It will need to be extended for XXX other data source types such as databases.

Definition at line 241 of file qgsprojectbadlayerguihandler.cpp.

References findMissingFile(), IS_DATABASE, IS_FILE, IS_Unknown, IS_URL, providerType(), and QgsDebugMsg.

Referenced by findLayers().

void QgsProjectBadLayerGuiHandler::findLayers ( QString const &  fileFilters,
QList< QDomNode > const &  layerNodes 
) [protected]

find relocated data sources for given layers

These QDom objects represent QgsProject nodes that map to specific layers.

Definition at line 273 of file qgsprojectbadlayerguihandler.cpp.

References findLayer().

Referenced by handleBadLayers().

bool QgsProjectBadLayerGuiHandler::findMissingFile ( QString const &  fileFilters,
QDomNode &  layerNode 
) [protected]

this is used to locate files that have moved or otherwise are missing

Definition at line 173 of file qgsprojectbadlayerguihandler.cpp.

References dataSource(), dataType(), QgsProject::instance(), IS_RASTER, IS_VECTOR, QgisGui::openFilesRememberingFilter(), QgsDebugMsg, QgsProject::read(), and setDataSource().

Referenced by findLayer().

void QgsProjectBadLayerGuiHandler::handleBadLayers ( QList< QDomNode >  layers,
QDomDocument  projectDom 
) [virtual]

return the physical storage type associated with the given layer

The QDomNode is a QgsProject Dom node corresponding to a map layer state.

If the provider tag is "ogr", then it's a file type.

However, if the layer is a raster, then there won't be a provider tag. It will always have an associated file.

If the layer doesn't fall into either of the previous two categories, then it's either a database or URL. If the datasource tag has "url=", then it's URL based and if it has "dbname=">, then the layer data is in a database.

Definition at line 115 of file qgsprojectbadlayerguihandler.cpp.

References dataSource(), dataType(), IS_DATABASE, IS_FILE, IS_RASTER, IS_Unknown, IS_URL, IS_VECTOR, and QgsDebugMsg.

Referenced by findLayer().

void QgsProjectBadLayerGuiHandler::setDataSource ( QDomNode &  layerNode,
QString const &  dataSource 
) [protected]

set the datasource element to the new value

Definition at line 157 of file qgsprojectbadlayerguihandler.cpp.

References QgsDebugMsg.

Referenced by findMissingFile().


Member Data Documentation

Flag to store the Ignore button press of MessageBox used by QgsLegend.

Definition at line 24 of file qgsprojectbadlayerguihandler.h.

Referenced by handleBadLayers().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines