QGIS API Documentation  2.9.0-Master
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsMapLayer Class Referenceabstract

Base class for all map layer types. More...

#include <qgsmaplayer.h>

Inheritance diagram for QgsMapLayer:
Inheritance graph
[legend]

Public Types

enum  LayerType { VectorLayer, RasterLayer, PluginLayer }
 Layers enum defining the types of layers that can be added to a map. More...
 

Public Slots

Q_DECL_DEPRECATED void clearCacheImage ()
 Clear cached image. More...
 
virtual void invalidTransformInput ()
 Event handler for when a coordinate transform fails due to bad vertex error. More...
 
virtual QString metadata ()
 Obtain Metadata for this layer. More...
 
void setMaximumScale (const float theMaxScale)
 Sets the maximum scale denominator at which the layer will be visible. More...
 
void setMinimumScale (const float theMinScale)
 Sets the minimum scale denominator at which the layer will be visible. More...
 
void setScaleBasedVisibility (const bool enabled)
 Sets whether scale based visibility is enabled for the layer. More...
 
virtual QDateTime timestamp () const
 Time stamp of data source in the moment when data/metadata were loaded by provider. More...
 
Q_DECL_DEPRECATED void toggleScaleBasedVisibility (bool theVisibilityFlag)
 Accessor for the scale based visilibility flag. More...
 
void triggerRepaint ()
 Will advice the map canvas (and any other interested party) that this layer requires to be repainted. More...
 

Signals

void blendModeChanged (const QPainter::CompositionMode &blendMode)
 Signal emitted when the blend mode is changed, through QgsMapLayer::setBlendMode() More...
 
void dataChanged ()
 data of layer changed More...
 
void drawingProgress (int theProgress, int theTotalSteps)
 
void layerCrsChanged ()
 Emit a signal that layer's CRS has been reset. More...
 
void layerNameChanged ()
 Emit a signal that the layer name has been changed. More...
 
void legendChanged ()
 Signal emitted when legend of the layer has changed. More...
 
void recalculateExtents ()
 This is used to send a request that any mapcanvas using this layer update its extents. More...
 
void rendererChanged ()
 Signal emitted when renderer is changed. More...
 
void repaintRequested ()
 By emitting this signal the layer tells that either appearance or content have been changed and any view showing the rendered layer should refresh itself. More...
 
void screenUpdateRequested ()
 
void statusChanged (QString theStatus)
 Emit a signal with status (e.g. More...
 

Public Member Functions

 QgsMapLayer (QgsMapLayer::LayerType type=VectorLayer, QString lyrname=QString::null, QString source=QString::null)
 Constructor. More...
 
virtual ~QgsMapLayer ()
 Destructor. More...
 
const QString & abstract () const
 
const QString & attribution () const
 
const QString & attributionUrl () const
 
QPainter::CompositionMode blendMode () const
 Returns the current blending mode for a layer. More...
 
Q_DECL_DEPRECATED QImage * cacheImage ()
 
virtual QgsMapLayerRenderercreateMapRenderer (QgsRenderContext &rendererContext)
 Return new instance of QgsMapLayerRenderer that will be used for rendering of given context. More...
 
const QgsCoordinateReferenceSystemcrs () const
 Returns layer's spatial reference system. More...
 
QVariant customProperty (const QString &value, const QVariant &defaultValue=QVariant()) const
 Read a custom property from layer. More...
 
const QString & dataUrl () const
 
const QString & dataUrlFormat () const
 
virtual bool draw (QgsRenderContext &rendererContext)
 This is the method that does the actual work of drawing the layer onto a paint device. More...
 
virtual void drawLabels (QgsRenderContext &rendererContext)
 Draw labels. More...
 
virtual QgsError error () const
 Get current status error. More...
 
virtual void exportNamedStyle (QDomDocument &doc, QString &errorMsg)
 Export the properties of this layer as named style in a QDomDocument. More...
 
virtual void exportSldStyle (QDomDocument &doc, QString &errorMsg)
 Export the properties of this layer as SLD style in a QDomDocument. More...
 
virtual QgsRectangle extent ()
 Return the extent of the layer. More...
 
bool hasScaleBasedVisibility () const
 Returns whether scale based visibility is enabled for the layer. More...
 
QString id () const
 Get this layer's unique ID, this ID is used to access this layer from map layer registry. More...
 
virtual bool importNamedStyle (QDomDocument &doc, QString &errorMsg)
 Import the properties of this layer from a QDomDocument. More...
 
virtual bool isEditable () const
 True if the layer can be edited. More...
 
bool isValid ()
 
const QString & keywordList () const
 
virtual Q_DECL_DEPRECATED QString lastError ()
 
virtual Q_DECL_DEPRECATED QString lastErrorTitle ()
 
QgsMapLayerLegendlegend () const
 Can be null. More...
 
const QString & legendUrl () const
 
const QString & legendUrlFormat () const
 
virtual QString loadDefaultStyle (bool &theResultFlag)
 Retrieve the default style for this layer if one exists (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More...
 
virtual QString loadNamedStyle (const QString &theURI, bool &theResultFlag)
 Retrieve a named style for this layer if one exists (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More...
 
virtual bool loadNamedStyleFromDb (const QString &db, const QString &theURI, QString &qml)
 
virtual QString loadSldStyle (const QString &theURI, bool &theResultFlag)
 
float maximumScale () const
 Returns the maximum scale denominator at which the layer is visible. More...
 
const QString & metadataUrl () const
 
const QString & metadataUrlFormat () const
 
const QString & metadataUrlType () const
 
float minimumScale () const
 Returns the minimum scale denominator at which the layer is visible. More...
 
const QString & name () const
 Get the display name of the layer. More...
 
virtual Q_DECL_DEPRECATED void onCacheImageDelete ()
 
const QString & originalName () const
 Get the original name of the layer. More...
 
QString publicSource () const
 
bool readLayerXML (const QDomElement &layerElement)
 sets state from Dom document More...
 
virtual bool readSld (const QDomNode &node, QString &errorMessage)
 
virtual bool readSymbology (const QDomNode &node, QString &errorMessage)=0
 Read the symbology for the current layer from the Dom node supplied. More...
 
virtual void reload ()
 Synchronises with changes in the datasource. More...
 
void removeCustomProperty (const QString &key)
 Remove a custom property from layer. More...
 
virtual QString saveDefaultStyle (bool &theResultFlag)
 Save the properties of this layer as the default style (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More...
 
virtual QString saveNamedStyle (const QString &theURI, bool &theResultFlag)
 Save the properties of this layer as a named style (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More...
 
virtual QString saveSldStyle (const QString &theURI, bool &theResultFlag)
 
void setAbstract (const QString &abstract)
 
void setAttribution (const QString &attrib)
 
void setAttributionUrl (const QString &attribUrl)
 
void setBlendMode (const QPainter::CompositionMode &blendMode)
 Set the blending mode used for rendering a layer. More...
 
Q_DECL_DEPRECATED void setCacheImage (QImage *)
 
void setCrs (const QgsCoordinateReferenceSystem &srs, bool emitSignal=true)
 Sets layer's spatial reference system. More...
 
void setCustomProperty (const QString &key, const QVariant &value)
 Set a custom property for layer. More...
 
void setDataUrl (const QString &dataUrl)
 
void setDataUrlFormat (const QString &dataUrlFormat)
 
void setKeywordList (const QString &keywords)
 
void setLayerName (const QString &name)
 Set the display name of the layer. More...
 
virtual void setLayerOrder (const QStringList &layers)
 Reorders the previously selected sublayers of this layer from bottom to top (Useful for providers that manage their own layers, such as WMS) More...
 
void setLegend (QgsMapLayerLegend *legend)
 Assign a legend controller to the map layer. More...
 
void setLegendUrl (const QString &legendUrl)
 
void setLegendUrlFormat (const QString &legendUrlFormat)
 
void setMetadataUrl (const QString &metaUrl)
 
void setMetadataUrlFormat (const QString &metaUrlFormat)
 
void setMetadataUrlType (const QString &metaUrlType)
 
virtual void setSubLayerVisibility (QString name, bool vis)
 Set the visibility of the given sublayer name. More...
 
void setTitle (const QString &title)
 
const QString & source () const
 Returns the source for the layer. More...
 
QgsMapLayerStyleManagerstyleManager () const
 Get access to the layer's style manager. More...
 
virtual QString styleURI ()
 Retrieve the style URI for this layer (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More...
 
virtual QStringList subLayers () const
 Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS) More...
 
const QString & title () const
 
QgsMapLayer::LayerType type () const
 Get the type of the layer. More...
 
QUndoStack * undoStack ()
 Return pointer to layer's undo stack. More...
 
bool writeLayerXML (QDomElement &layerElement, QDomDocument &document, QString relativeBasePath=QString::null)
 stores state in Dom node More...
 
virtual bool writeSymbology (QDomNode &node, QDomDocument &doc, QString &errorMessage) const =0
 Write the symbology for the layer into the docment provided. More...
 

Static Public Member Functions

static QDomDocument asLayerDefinition (QList< QgsMapLayer * > layers, QString relativeBasePath=QString::null)
 Returns the given layer as a layer definition document Layer definitions store the data source as well as styling and custom properties. More...
 
static QString capitaliseLayerName (const QString &name)
 A convenience function to (un)capitalise the layer name. More...
 
static QList< QgsMapLayer * > fromLayerDefinition (QDomDocument &document)
 Creates a new layer from a layer defininition document. More...
 
static QList< QgsMapLayer * > fromLayerDefinitionFile (const QString &qlrfile)
 

Protected Member Functions

void appendError (const QgsErrorMessage &theMessage)
 Add error message. More...
 
void readCustomProperties (const QDomNode &layerNode, const QString &keyStartsWith="")
 Read custom properties from project file. More...
 
void readStyleManager (const QDomNode &layerNode)
 Read style manager's configuration (if any). More...
 
virtual bool readXml (const QDomNode &layer_node)
 called by readLayerXML(), used by children to read state specific to them from project files. More...
 
void setError (const QgsError &theError)
 Set error message. More...
 
virtual void setExtent (const QgsRectangle &rect)
 Set the extent. More...
 
void setValid (bool valid)
 set whether layer is valid or not - should be used in constructor. More...
 
void writeCustomProperties (QDomNode &layerNode, QDomDocument &doc) const
 Write custom properties to project file. More...
 
void writeStyleManager (QDomNode &layerNode, QDomDocument &doc) const
 Write style manager's configuration (if exists). More...
 
virtual bool writeXml (QDomNode &layer_node, QDomDocument &document)
 called by writeLayerXML(), used by children to write state specific to them to project files. More...
 

Protected Attributes

QString mAbstract
 Description of the layer. More...
 
QString mAttribution
 Attribution of the layer. More...
 
QString mAttributionUrl
 
QString mDataSource
 data source description string, varies by layer type More...
 
QString mDataUrl
 DataUrl of the layer. More...
 
QString mDataUrlFormat
 
QgsError mError
 Error. More...
 
QgsRectangle mExtent
 Extent of the layer. More...
 
QString mKeywordList
 
QString mLayerName
 Name of the layer - used for display. More...
 
QString mLayerOrigName
 Original name of the layer. More...
 
QString mLegendUrl
 WMS legend. More...
 
QString mLegendUrlFormat
 
QString mMetadataUrl
 MetadataUrl of the layer. More...
 
QString mMetadataUrlFormat
 
QString mMetadataUrlType
 
QString mTitle
 
bool mValid
 Indicates if the layer is valid and can be drawn. More...
 

Detailed Description

Base class for all map layer types.

This is the base class for all map layer types (vector, raster).

Definition at line 49 of file qgsmaplayer.h.

Constructor & Destructor Documentation

QgsMapLayer::QgsMapLayer ( QgsMapLayer::LayerType  type = VectorLayer,
QString  lyrname = QString::null,
QString  source = QString::null 
)

Constructor.

Parameters
typeType of layer as defined in QgsMapLayer::LayerType enum
lyrnameDisplay Name of the layer
sourcedatasource of layer

Definition at line 50 of file qgsmaplayer.cpp.

QgsMapLayer::~QgsMapLayer ( )
virtual

Destructor.

Definition at line 86 of file qgsmaplayer.cpp.

Member Function Documentation

const QString& QgsMapLayer::abstract ( ) const
inline

Definition at line 97 of file qgsmaplayer.h.

void QgsMapLayer::appendError ( const QgsErrorMessage theMessage)
inlineprotected

Add error message.

Definition at line 564 of file qgsmaplayer.h.

QDomDocument QgsMapLayer::asLayerDefinition ( QList< QgsMapLayer * >  layers,
QString  relativeBasePath = QString::null 
)
static

Returns the given layer as a layer definition document Layer definitions store the data source as well as styling and custom properties.

Layer definitions can be used to load a layer and styling all from a single file.

Definition at line 743 of file qgsmaplayer.cpp.

const QString& QgsMapLayer::attribution ( ) const
inline

Definition at line 110 of file qgsmaplayer.h.

const QString& QgsMapLayer::attributionUrl ( ) const
inline

Definition at line 112 of file qgsmaplayer.h.

QPainter::CompositionMode QgsMapLayer::blendMode ( ) const

Returns the current blending mode for a layer.

Read blend mode for layer.

Definition at line 149 of file qgsmaplayer.cpp.

void QgsMapLayer::blendModeChanged ( const QPainter::CompositionMode &  blendMode)
signal

Signal emitted when the blend mode is changed, through QgsMapLayer::setBlendMode()

Q_DECL_DEPRECATED QImage* QgsMapLayer::cacheImage ( )
inline
Deprecated:
since 2.4 - returns NULL

Definition at line 383 of file qgsmaplayer.h.

QString QgsMapLayer::capitaliseLayerName ( const QString &  name)
static

A convenience function to (un)capitalise the layer name.

Definition at line 965 of file qgsmaplayer.cpp.

void QgsMapLayer::clearCacheImage ( )
slot

Clear cached image.

Deprecated:
in 2.4 - use triggerRepaint() - caches automatically listen to repaintRequested() signal to invalidate the cached image

Definition at line 1587 of file qgsmaplayer.cpp.

virtual QgsMapLayerRenderer* QgsMapLayer::createMapRenderer ( QgsRenderContext rendererContext)
inlinevirtual

Return new instance of QgsMapLayerRenderer that will be used for rendering of given context.

Note
added in 2.4

Reimplemented in QgsVectorLayer, QgsRasterLayer, and QgsPluginLayer.

Definition at line 134 of file qgsmaplayer.h.

const QgsCoordinateReferenceSystem & QgsMapLayer::crs ( ) const

Returns layer's spatial reference system.

Note
This was introduced in QGIS 1.4

Definition at line 946 of file qgsmaplayer.cpp.

QVariant QgsMapLayer::customProperty ( const QString &  value,
const QVariant &  defaultValue = QVariant() 
) const

Read a custom property from layer.

Properties are stored in a map and saved in project file.

Definition at line 1536 of file qgsmaplayer.cpp.

void QgsMapLayer::dataChanged ( )
signal

data of layer changed

const QString& QgsMapLayer::dataUrl ( ) const
inline

Definition at line 104 of file qgsmaplayer.h.

const QString& QgsMapLayer::dataUrlFormat ( ) const
inline

Definition at line 106 of file qgsmaplayer.h.

bool QgsMapLayer::draw ( QgsRenderContext rendererContext)
virtual

This is the method that does the actual work of drawing the layer onto a paint device.

Parameters
rendererContextdescribes the extents, resolumon etc. that should be used when rendering the layer.

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 154 of file qgsmaplayer.cpp.

void QgsMapLayer::drawingProgress ( int  theProgress,
int  theTotalSteps 
)
signal
Deprecated:
in 2.4 - not emitted anymore
void QgsMapLayer::drawLabels ( QgsRenderContext rendererContext)
virtual

Draw labels.

Todo:
to be removed: used only in vector layers

Reimplemented in QgsVectorLayer.

Definition at line 160 of file qgsmaplayer.cpp.

virtual QgsError QgsMapLayer::error ( ) const
inlinevirtual

Get current status error.

This error describes some principal problem for which layer cannot work and thus is not valid. It is not last error after accessing data by draw() etc.

Definition at line 250 of file qgsmaplayer.h.

void QgsMapLayer::exportNamedStyle ( QDomDocument &  doc,
QString &  errorMsg 
)
virtual

Export the properties of this layer as named style in a QDomDocument.

Parameters
docthe target QDomDocument
errorMsgthis QString will be initialized on error during the execution of writeSymbology

Definition at line 1186 of file qgsmaplayer.cpp.

void QgsMapLayer::exportSldStyle ( QDomDocument &  doc,
QString &  errorMsg 
)
virtual

Export the properties of this layer as SLD style in a QDomDocument.

Parameters
docthe target QDomDocument
errorMsgthis QString will be initialized on error during the execution of writeSymbology

Definition at line 1363 of file qgsmaplayer.cpp.

QgsRectangle QgsMapLayer::extent ( )
virtual

Return the extent of the layer.

Reimplemented in QgsVectorLayer.

Definition at line 136 of file qgsmaplayer.cpp.

QList< QgsMapLayer * > QgsMapLayer::fromLayerDefinition ( QDomDocument &  document)
static

Creates a new layer from a layer defininition document.

Definition at line 759 of file qgsmaplayer.cpp.

QList< QgsMapLayer * > QgsMapLayer::fromLayerDefinitionFile ( const QString &  qlrfile)
static

Definition at line 796 of file qgsmaplayer.cpp.

bool QgsMapLayer::hasScaleBasedVisibility ( ) const

Returns whether scale based visibility is enabled for the layer.

Returns
true if scale based visibility is enabled
See also
minimumScale
maximumScale
setScaleBasedVisibility

Definition at line 897 of file qgsmaplayer.cpp.

QString QgsMapLayer::id ( ) const

Get this layer's unique ID, this ID is used to access this layer from map layer registry.

Get this layer's unique ID.

Definition at line 99 of file qgsmaplayer.cpp.

bool QgsMapLayer::importNamedStyle ( QDomDocument &  doc,
QString &  errorMsg 
)
virtual

Import the properties of this layer from a QDomDocument.

Parameters
docsource QDomDocument
errorMsgthis QString will be initialized on error during the execution of readSymbology
Returns
true on success
Note
added in 2.8

Definition at line 1138 of file qgsmaplayer.cpp.

void QgsMapLayer::invalidTransformInput ( )
virtualslot

Event handler for when a coordinate transform fails due to bad vertex error.

Definition at line 866 of file qgsmaplayer.cpp.

bool QgsMapLayer::isEditable ( ) const
virtual

True if the layer can be edited.

Reimplemented in QgsVectorLayer.

Definition at line 1548 of file qgsmaplayer.cpp.

bool QgsMapLayer::isValid ( )

Return the status of the layer. An invalid layer is one which has a bad datasource or other problem. Child classes set this flag when intialized

Returns
True if the layer is valid and can be accessed

Definition at line 860 of file qgsmaplayer.cpp.

const QString& QgsMapLayer::keywordList ( ) const
inline

Definition at line 100 of file qgsmaplayer.h.

QString QgsMapLayer::lastError ( )
virtual
Deprecated:
since 2.4 - returns empty string

Definition at line 878 of file qgsmaplayer.cpp.

QString QgsMapLayer::lastErrorTitle ( )
virtual
Deprecated:
since 2.4 - returns empty string

Definition at line 873 of file qgsmaplayer.cpp.

void QgsMapLayer::layerCrsChanged ( )
signal

Emit a signal that layer's CRS has been reset.

void QgsMapLayer::layerNameChanged ( )
signal

Emit a signal that the layer name has been changed.

QgsMapLayerLegend * QgsMapLayer::legend ( ) const

Can be null.

Note
added in 2.6

Definition at line 1577 of file qgsmaplayer.cpp.

void QgsMapLayer::legendChanged ( )
signal

Signal emitted when legend of the layer has changed.

Note
added in 2.6
const QString& QgsMapLayer::legendUrl ( ) const
inline

Definition at line 378 of file qgsmaplayer.h.

const QString& QgsMapLayer::legendUrlFormat ( ) const
inline

Definition at line 380 of file qgsmaplayer.h.

QString QgsMapLayer::loadDefaultStyle ( bool &  theResultFlag)
virtual

Retrieve the default style for this layer if one exists (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)

Parameters
theResultFlaga reference to a flag that will be set to false if we did not manage to load the default style.
Returns
a QString with any status messages
See also
also loadNamedStyle ();

Definition at line 1032 of file qgsmaplayer.cpp.

QString QgsMapLayer::loadNamedStyle ( const QString &  theURI,
bool &  theResultFlag 
)
virtual

Retrieve a named style for this layer if one exists (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)

Parameters
theURI- the file name or other URI for the style file. First an attempt will be made to see if this is a file and load that, if that fails the qgis.db styles table will be consulted to see if there is a style who's key matches the URI.
theResultFlaga reference to a flag that will be set to false if we did not manage to load the default style.
Returns
a QString with any status messages
See also
also loadDefaultStyle ();

Reimplemented in QgsVectorLayer.

Definition at line 1082 of file qgsmaplayer.cpp.

bool QgsMapLayer::loadNamedStyleFromDb ( const QString &  db,
const QString &  theURI,
QString &  qml 
)
virtual

Definition at line 1037 of file qgsmaplayer.cpp.

QString QgsMapLayer::loadSldStyle ( const QString &  theURI,
bool &  theResultFlag 
)
virtual

Definition at line 1463 of file qgsmaplayer.cpp.

float QgsMapLayer::maximumScale ( ) const

Returns the maximum scale denominator at which the layer is visible.

Scale based visibility is only used if hasScaleBasedVisibility is true.

Returns
minimum scale denominator at which the layer will render
See also
setMaximumScale
minimumScale
hasScaleBasedVisibility

Definition at line 923 of file qgsmaplayer.cpp.

QString QgsMapLayer::metadata ( )
virtualslot

Obtain Metadata for this layer.

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 1597 of file qgsmaplayer.cpp.

const QString& QgsMapLayer::metadataUrl ( ) const
inline

Definition at line 116 of file qgsmaplayer.h.

const QString& QgsMapLayer::metadataUrlFormat ( ) const
inline

Definition at line 120 of file qgsmaplayer.h.

const QString& QgsMapLayer::metadataUrlType ( ) const
inline

Definition at line 118 of file qgsmaplayer.h.

float QgsMapLayer::minimumScale ( ) const

Returns the minimum scale denominator at which the layer is visible.

Scale based visibility is only used if hasScaleBasedVisibility is true.

Returns
minimum scale denominator at which the layer will render
See also
setMinimumScale
maximumScale
hasScaleBasedVisibility

Definition at line 907 of file qgsmaplayer.cpp.

QString const & QgsMapLayer::name ( ) const

Get the display name of the layer.

Read property of QString layerName.

Returns
the layer name

Definition at line 117 of file qgsmaplayer.cpp.

virtual Q_DECL_DEPRECATED void QgsMapLayer::onCacheImageDelete ( )
inlinevirtual
Deprecated:
since 2.4 - does nothing

Definition at line 387 of file qgsmaplayer.h.

const QString& QgsMapLayer::originalName ( ) const
inline

Get the original name of the layer.

Definition at line 91 of file qgsmaplayer.h.

QString QgsMapLayer::publicSource ( ) const

Gets a version of the internal layer definition that has sensitive bits removed (for example, the password). This function should be used when displaying the source name for general viewing.

Definition at line 123 of file qgsmaplayer.cpp.

void QgsMapLayer::readCustomProperties ( const QDomNode &  layerNode,
const QString &  keyStartsWith = "" 
)
protected

Read custom properties from project file.

Parameters
layerNodenote to read from
keyStartsWithreads only properties starting with the specified string (or all if the string is empty)

Definition at line 828 of file qgsmaplayer.cpp.

bool QgsMapLayer::readLayerXML ( const QDomElement &  layerElement)

sets state from Dom document

Parameters
layerElementThe Dom element corresponding to ``maplayer'' tag
Note

The Dom node corresponds to a Dom document project file XML element read by QgsProject.

This, in turn, calls readXml(), which is over-rideable by sub-classes so that they can read their own specific state from the given Dom node.

Invoked by QgsProject::read().

Returns
true if successful

Definition at line 165 of file qgsmaplayer.cpp.

virtual bool QgsMapLayer::readSld ( const QDomNode &  node,
QString &  errorMessage 
)
inlinevirtual

Reimplemented in QgsVectorLayer.

Definition at line 353 of file qgsmaplayer.h.

void QgsMapLayer::readStyleManager ( const QDomNode &  layerNode)
protected

Read style manager's configuration (if any).

To be called by subclasses.

Definition at line 838 of file qgsmaplayer.cpp.

virtual bool QgsMapLayer::readSymbology ( const QDomNode &  node,
QString &  errorMessage 
)
pure virtual

Read the symbology for the current layer from the Dom node supplied.

Parameters
nodenode that will contain the symbology definition for this layer.
errorMessagereference to string that will be updated with any error messages
Returns
true in case of success.

Implemented in QgsVectorLayer, and QgsRasterLayer.

bool QgsMapLayer::readXml ( const QDomNode &  layer_node)
protectedvirtual

called by readLayerXML(), used by children to read state specific to them from project files.

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 495 of file qgsmaplayer.cpp.

void QgsMapLayer::recalculateExtents ( )
signal

This is used to send a request that any mapcanvas using this layer update its extents.

virtual void QgsMapLayer::reload ( )
inlinevirtual

Synchronises with changes in the datasource.

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 129 of file qgsmaplayer.h.

void QgsMapLayer::removeCustomProperty ( const QString &  key)

Remove a custom property from layer.

Properties are stored in a map and saved in project file.

Definition at line 1541 of file qgsmaplayer.cpp.

void QgsMapLayer::rendererChanged ( )
signal

Signal emitted when renderer is changed.

void QgsMapLayer::repaintRequested ( )
signal

By emitting this signal the layer tells that either appearance or content have been changed and any view showing the rendered layer should refresh itself.

QString QgsMapLayer::saveDefaultStyle ( bool &  theResultFlag)
virtual

Save the properties of this layer as the default style (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)

Parameters
theResultFlaga reference to a flag that will be set to false if we did not manage to save the default style.
Returns
a QString with any status messages
See also
loadNamedStyle() and
saveNamedStyle()

Definition at line 1216 of file qgsmaplayer.cpp.

QString QgsMapLayer::saveNamedStyle ( const QString &  theURI,
bool &  theResultFlag 
)
virtual

Save the properties of this layer as a named style (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)

Parameters
theURIthe file name or other URI for the style file. First an attempt will be made to see if this is a file and save to that, if that fails the qgis.db styles table will be used to create a style entry who's key matches the URI.
theResultFlaga reference to a flag that will be set to false if we did not manage to save the default style.
Returns
a QString with any status messages
See also
saveDefaultStyle()

Definition at line 1221 of file qgsmaplayer.cpp.

QString QgsMapLayer::saveSldStyle ( const QString &  theURI,
bool &  theResultFlag 
)
virtual

Definition at line 1401 of file qgsmaplayer.cpp.

void QgsMapLayer::screenUpdateRequested ( )
signal
Note
Deprecated in 2.4 and not emitted anymore
void QgsMapLayer::setAbstract ( const QString &  abstract)
inline

Definition at line 96 of file qgsmaplayer.h.

void QgsMapLayer::setAttribution ( const QString &  attrib)
inline

Definition at line 109 of file qgsmaplayer.h.

void QgsMapLayer::setAttributionUrl ( const QString &  attribUrl)
inline

Definition at line 111 of file qgsmaplayer.h.

void QgsMapLayer::setBlendMode ( const QPainter::CompositionMode &  blendMode)

Set the blending mode used for rendering a layer.

Write blend mode for layer.

Definition at line 142 of file qgsmaplayer.cpp.

void QgsMapLayer::setCacheImage ( QImage *  )
Deprecated:
since 2.4 - caches listen to repaintRequested() signal to invalidate the cached image

Definition at line 1558 of file qgsmaplayer.cpp.

void QgsMapLayer::setCrs ( const QgsCoordinateReferenceSystem srs,
bool  emitSignal = true 
)

Sets layer's spatial reference system.

Definition at line 951 of file qgsmaplayer.cpp.

void QgsMapLayer::setCustomProperty ( const QString &  key,
const QVariant &  value 
)

Set a custom property for layer.

Properties are stored in a map and saved in project file.

Definition at line 1531 of file qgsmaplayer.cpp.

void QgsMapLayer::setDataUrl ( const QString &  dataUrl)
inline

Definition at line 103 of file qgsmaplayer.h.

void QgsMapLayer::setDataUrlFormat ( const QString &  dataUrlFormat)
inline

Definition at line 105 of file qgsmaplayer.h.

void QgsMapLayer::setError ( const QgsError theError)
inlineprotected

Set error message.

Definition at line 566 of file qgsmaplayer.h.

void QgsMapLayer::setExtent ( const QgsRectangle rect)
protectedvirtual

Set the extent.

Reimplemented in QgsVectorLayer, and QgsPluginLayer.

Definition at line 1602 of file qgsmaplayer.cpp.

void QgsMapLayer::setKeywordList ( const QString &  keywords)
inline

Definition at line 99 of file qgsmaplayer.h.

void QgsMapLayer::setLayerName ( const QString &  name)

Set the display name of the layer.

Write property of QString layerName.

Parameters
nameNew name for the layer

Definition at line 105 of file qgsmaplayer.cpp.

void QgsMapLayer::setLayerOrder ( const QStringList &  layers)
virtual

Reorders the previously selected sublayers of this layer from bottom to top (Useful for providers that manage their own layers, such as WMS)

Reimplemented in QgsRasterLayer.

Definition at line 933 of file qgsmaplayer.cpp.

void QgsMapLayer::setLegend ( QgsMapLayerLegend legend)

Assign a legend controller to the map layer.

The object will be responsible for providing legend items.

Parameters
legendTakes ownership of the object. Can be null pointer
Note
added in 2.6

Definition at line 1563 of file qgsmaplayer.cpp.

void QgsMapLayer::setLegendUrl ( const QString &  legendUrl)
inline

Definition at line 377 of file qgsmaplayer.h.

void QgsMapLayer::setLegendUrlFormat ( const QString &  legendUrlFormat)
inline

Definition at line 379 of file qgsmaplayer.h.

void QgsMapLayer::setMaximumScale ( const float  theMaxScale)
slot

Sets the maximum scale denominator at which the layer will be visible.

Scale based visibility is only used if setScaleBasedVisibility is set to true.

Parameters
theMaxScalemaximum scale denominator at which the layer should render
See also
maximumScale
setMinimumScale
setScaleBasedVisibility

Definition at line 913 of file qgsmaplayer.cpp.

void QgsMapLayer::setMetadataUrl ( const QString &  metaUrl)
inline

Definition at line 115 of file qgsmaplayer.h.

void QgsMapLayer::setMetadataUrlFormat ( const QString &  metaUrlFormat)
inline

Definition at line 119 of file qgsmaplayer.h.

void QgsMapLayer::setMetadataUrlType ( const QString &  metaUrlType)
inline

Definition at line 117 of file qgsmaplayer.h.

void QgsMapLayer::setMinimumScale ( const float  theMinScale)
slot

Sets the minimum scale denominator at which the layer will be visible.

Scale based visibility is only used if setScaleBasedVisibility is set to true.

Parameters
theMinScaleminimum scale denominator at which the layer should render
See also
minimumScale
setMaximumScale
setScaleBasedVisibility

Definition at line 902 of file qgsmaplayer.cpp.

void QgsMapLayer::setScaleBasedVisibility ( const bool  enabled)
slot

Sets whether scale based visibility is enabled for the layer.

Parameters
enabledset to true to enable scale based visibility
See also
setMinimumScale
setMaximumScale
scaleBasedVisibility

Definition at line 918 of file qgsmaplayer.cpp.

void QgsMapLayer::setSubLayerVisibility ( QString  name,
bool  vis 
)
virtual

Set the visibility of the given sublayer name.

Reimplemented in QgsRasterLayer.

Definition at line 939 of file qgsmaplayer.cpp.

void QgsMapLayer::setTitle ( const QString &  title)
inline

Definition at line 93 of file qgsmaplayer.h.

void QgsMapLayer::setValid ( bool  valid)
protected

set whether layer is valid or not - should be used in constructor.

Definition at line 1553 of file qgsmaplayer.cpp.

QString const & QgsMapLayer::source ( ) const

Returns the source for the layer.

Definition at line 131 of file qgsmaplayer.cpp.

void QgsMapLayer::statusChanged ( QString  theStatus)
signal

Emit a signal with status (e.g.

to be caught by QgisApp and display a msg on status bar)

QgsMapLayerStyleManager * QgsMapLayer::styleManager ( ) const

Get access to the layer's style manager.

Style manager allows switching between multiple styles.

Note
added in 2.8

Definition at line 1582 of file qgsmaplayer.cpp.

QString QgsMapLayer::styleURI ( )
virtual

Retrieve the style URI for this layer (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)

Returns
a QString with the style file name
See also
also loadNamedStyle () and saveNamedStyle ();

Definition at line 980 of file qgsmaplayer.cpp.

QStringList QgsMapLayer::subLayers ( ) const
virtual

Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS)

Reimplemented in QgsRasterLayer.

Definition at line 928 of file qgsmaplayer.cpp.

virtual QDateTime QgsMapLayer::timestamp ( ) const
inlinevirtualslot

Time stamp of data source in the moment when data/metadata were loaded by provider.

Reimplemented in QgsRasterLayer.

Definition at line 485 of file qgsmaplayer.h.

const QString& QgsMapLayer::title ( ) const
inline

Definition at line 94 of file qgsmaplayer.h.

void QgsMapLayer::toggleScaleBasedVisibility ( bool  theVisibilityFlag)
slot

Accessor for the scale based visilibility flag.

Deprecated:
use setScaleBasedVisibility instead

Definition at line 892 of file qgsmaplayer.cpp.

void QgsMapLayer::triggerRepaint ( )
slot

Will advice the map canvas (and any other interested party) that this layer requires to be repainted.

Will emit a repaintRequested() signal.

Note
in 2.6 function moved from vector/raster subclasses to QgsMapLayer

Definition at line 1592 of file qgsmaplayer.cpp.

QgsMapLayer::LayerType QgsMapLayer::type ( ) const

Get the type of the layer.

Returns
Integer matching a value in the QgsMapLayer::LayerType enum

Definition at line 93 of file qgsmaplayer.cpp.

QUndoStack * QgsMapLayer::undoStack ( )

Return pointer to layer's undo stack.

Definition at line 1525 of file qgsmaplayer.cpp.

void QgsMapLayer::writeCustomProperties ( QDomNode &  layerNode,
QDomDocument &  doc 
) const
protected

Write custom properties to project file.

Definition at line 833 of file qgsmaplayer.cpp.

bool QgsMapLayer::writeLayerXML ( QDomElement &  layerElement,
QDomDocument &  document,
QString  relativeBasePath = QString::null 
)

stores state in Dom node

Parameters
layerElementis a Dom element corresponding to ``maplayer'' tag
documentis a the dom document being written
relativeBasePathbase path for relative paths
Note

The Dom node corresponds to a Dom document project file XML element to be written by QgsProject.

This, in turn, calls writeXml(), which is over-rideable by sub-classes so that they can write their own specific state to the given Dom node.

Invoked by QgsProject::write().

Returns
true if successful

Definition at line 505 of file qgsmaplayer.cpp.

void QgsMapLayer::writeStyleManager ( QDomNode &  layerNode,
QDomDocument &  doc 
) const
protected

Write style manager's configuration (if exists).

To be called by subclasses.

Definition at line 847 of file qgsmaplayer.cpp.

virtual bool QgsMapLayer::writeSymbology ( QDomNode &  node,
QDomDocument &  doc,
QString &  errorMessage 
) const
pure virtual

Write the symbology for the layer into the docment provided.

Parameters
nodethe node that will have the style element added to it.
docthe document that will have the QDomNode added.
errorMessagereference to string that will be updated with any error messages
Returns
true in case of success.

Implemented in QgsVectorLayer, and QgsRasterLayer.

bool QgsMapLayer::writeXml ( QDomNode &  layer_node,
QDomDocument &  document 
)
protectedvirtual

called by writeLayerXML(), used by children to write state specific to them to project files.

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 818 of file qgsmaplayer.cpp.

Member Data Documentation

QString QgsMapLayer::mAbstract
protected

Description of the layer.

Definition at line 587 of file qgsmaplayer.h.

QString QgsMapLayer::mAttribution
protected

Attribution of the layer.

Definition at line 595 of file qgsmaplayer.h.

QString QgsMapLayer::mAttributionUrl
protected

Definition at line 596 of file qgsmaplayer.h.

QString QgsMapLayer::mDataSource
protected

data source description string, varies by layer type

Definition at line 575 of file qgsmaplayer.h.

QString QgsMapLayer::mDataUrl
protected

DataUrl of the layer.

Definition at line 591 of file qgsmaplayer.h.

QString QgsMapLayer::mDataUrlFormat
protected

Definition at line 592 of file qgsmaplayer.h.

QgsError QgsMapLayer::mError
protected

Error.

Definition at line 608 of file qgsmaplayer.h.

QgsRectangle QgsMapLayer::mExtent
protected

Extent of the layer.

Definition at line 569 of file qgsmaplayer.h.

QString QgsMapLayer::mKeywordList
protected

Definition at line 588 of file qgsmaplayer.h.

QString QgsMapLayer::mLayerName
protected

Name of the layer - used for display.

Definition at line 578 of file qgsmaplayer.h.

QString QgsMapLayer::mLayerOrigName
protected

Original name of the layer.

Definition at line 582 of file qgsmaplayer.h.

QString QgsMapLayer::mLegendUrl
protected

WMS legend.

Definition at line 604 of file qgsmaplayer.h.

QString QgsMapLayer::mLegendUrlFormat
protected

Definition at line 605 of file qgsmaplayer.h.

QString QgsMapLayer::mMetadataUrl
protected

MetadataUrl of the layer.

Definition at line 599 of file qgsmaplayer.h.

QString QgsMapLayer::mMetadataUrlFormat
protected

Definition at line 601 of file qgsmaplayer.h.

QString QgsMapLayer::mMetadataUrlType
protected

Definition at line 600 of file qgsmaplayer.h.

QString QgsMapLayer::mTitle
protected

Definition at line 584 of file qgsmaplayer.h.

bool QgsMapLayer::mValid
protected

Indicates if the layer is valid and can be drawn.

Definition at line 572 of file qgsmaplayer.h.


The documentation for this class was generated from the following files: