QGIS/python/core/auto_generated/project/qgsprojectbadlayerhandler.sip.in
Nyall Dawson 3f6b490218 Sipify
2025-04-02 11:11:10 +10:00

104 lines
3.1 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/project/qgsprojectbadlayerhandler.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsProjectBadLayerHandler
{
%Docstring(signature="appended")
Interface for classes that handle missing layer files when reading
project files.
%End
%TypeHeaderCode
#include "qgsprojectbadlayerhandler.h"
%End
public:
virtual void handleBadLayers( const QList<QDomNode> &layers );
%Docstring
This method will be called whenever the project tries to load layers
which cannot be accessed. It should inform the user about this and if
possible offer to fix the unavailable layers by setting a valid
datasource, e.g. by showing a file dialog.
The default implementation will dismiss all bad layers and write
information to the log.
%End
virtual ~QgsProjectBadLayerHandler();
protected:
enum DataType
{
IS_VECTOR,
IS_RASTER,
IS_BOGUS
};
enum ProviderType
{
IS_FILE,
IS_DATABASE,
IS_URL,
IS_Unknown
};
DataType dataType( const QDomNode &layerNode );
%Docstring
Returns data type associated with the given :py:class:`QgsProject` file
Dom node
The Dom node should represent the state associated with a specific
layer.
%End
QString dataSource( const QDomNode &layerNode );
%Docstring
Returns the data source for the given layer
The QDomNode is a :py:class:`QgsProject` Dom node corresponding to a map
layer state.
Essentially dumps datasource tag.
%End
ProviderType providerType( const QDomNode &layerNode );
%Docstring
Returns the physical storage type associated with the given layer
The QDomNode is a :py:class:`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.
%End
void setDataSource( QDomNode &layerNode, const QString &dataSource );
%Docstring
Set the datasource element to the new value
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/project/qgsprojectbadlayerhandler.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/