QGIS API Documentation  2.4.0-Chugiak
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private 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]
Collaboration diagram for QgsMapLayer:
Collaboration 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

virtual void invalidTransformInput ()
 Event handler for when a coordinate transform fails due to bad vertex error. More...
 
void setMinimumScale (float theMinScale)
 Accessor and mutator for the minimum scale denominator member. More...
 
float minimumScale () const
 
void setMaximumScale (float theMaxScale)
 Accessor and mutator for the maximum scale denominator member. More...
 
float maximumScale () const
 
void toggleScaleBasedVisibility (bool theVisibilityFlag)
 Accessor and mutator for the scale based visilibility flag. More...
 
bool hasScaleBasedVisibility () const
 
Q_DECL_DEPRECATED void clearCacheImage ()
 Clear cached image. More...
 
virtual QString metadata ()
 Obtain Metadata for this layer. More...
 
virtual QDateTime timestamp () const
 Time stamp of data source in the moment when data/metadata were loaded by provider. More...
 

Signals

void drawingProgress (int theProgress, int theTotalSteps)
 
void statusChanged (QString theStatus)
 Emit a signal with status (e.g. More...
 
void layerNameChanged ()
 Emit a signal that the layer name has been changed. More...
 
void layerCrsChanged ()
 Emit a signal that layer's CRS has been reset added in 1.4. 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 recalculateExtents ()
 This is used to send a request that any mapcanvas using this layer update its extents. More...
 
void dataChanged ()
 data of layer changed added in 1.5 More...
 
void blendModeChanged (const QPainter::CompositionMode &blendMode)
 Signal emitted when the blend mode is changed, through QgsMapLayer::setBlendMode() More...
 
void rendererChanged ()
 Signal emitted when renderer is changed. More...
 

Public Member Functions

 QgsMapLayer (QgsMapLayer::LayerType type=VectorLayer, QString lyrname=QString::null, QString source=QString::null)
 Constructor. More...
 
virtual ~QgsMapLayer ()
 Destructor. More...
 
QgsMapLayer::LayerType type () const
 Get the type of 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...
 
void setLayerName (const QString &name)
 Set the display name of the layer. More...
 
const QString & name () const
 Get the display name of the layer. More...
 
const QString & originalName () const
 Get the original name of the layer. More...
 
void setTitle (const QString &title)
 
const QString & title () const
 
void setAbstract (const QString &abstract)
 
const QString & abstract () const
 
void setKeywordList (const QString &keywords)
 
const QString & keywordList () const
 
void setDataUrl (const QString &dataUrl)
 
const QString & dataUrl () const
 
void setDataUrlFormat (const QString &dataUrlFormat)
 
const QString & dataUrlFormat () const
 
void setAttribution (const QString &attrib)
 
const QString & attribution () const
 
void setAttributionUrl (const QString &attribUrl)
 
const QString & attributionUrl () const
 
void setMetadataUrl (const QString &metaUrl)
 
const QString & metadataUrl () const
 
void setMetadataUrlType (const QString &metaUrlType)
 
const QString & metadataUrlType () const
 
void setMetadataUrlFormat (const QString &metaUrlFormat)
 
const QString & metadataUrlFormat () const
 
void setBlendMode (const QPainter::CompositionMode &blendMode)
 Write blend mode for layer. More...
 
QPainter::CompositionMode blendMode () const
 Read blend mode for layer. More...
 
virtual void reload ()
 Synchronises with changes in the datasource. More...
 
virtual QgsMapLayerRenderercreateMapRenderer (QgsRenderContext &rendererContext)
 Return new instance of QgsMapLayerRenderer that will be used for rendering of given context. More...
 
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 QgsRectangle extent ()
 Return the extent of the layer. More...
 
bool isValid ()
 
QString publicSource () const
 
const QString & source () const
 Returns the source for the layer. More...
 
virtual QStringList subLayers () const
 Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS) 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...
 
virtual void setSubLayerVisibility (QString name, bool vis)
 Set the visibility of the given sublayer name. More...
 
virtual bool isEditable () const
 True if the layer can be edited. More...
 
bool readLayerXML (const QDomElement &layerElement)
 sets state from Dom document More...
 
bool writeLayerXML (QDomElement &layerElement, QDomDocument &document)
 stores state in Dom node More...
 
void setCustomProperty (const QString &key, const QVariant &value)
 Set a custom property for layer. More...
 
QVariant customProperty (const QString &value, const QVariant &defaultValue=QVariant()) const
 Read a custom property from layer. More...
 
void removeCustomProperty (const QString &key)
 Remove a custom property from layer. More...
 
virtual Q_DECL_DEPRECATED QString lastErrorTitle ()
 
virtual Q_DECL_DEPRECATED QString lastError ()
 
virtual QgsError error () const
 Get current status error. More...
 
const
QgsCoordinateReferenceSystem
crs () const
 Returns layer's spatial reference system. More...
 
void setCrs (const QgsCoordinateReferenceSystem &srs, bool emitSignal=true)
 Sets layer's spatial reference system. 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 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 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 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)
 
virtual QString loadSldStyle (const QString &theURI, bool &theResultFlag)
 
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 bool writeSymbology (QDomNode &node, QDomDocument &doc, QString &errorMessage) const =0
 Write the symbology for the layer into the docment provided. More...
 
QUndoStack * undoStack ()
 Return pointer to layer's undo stack. More...
 
void setLegendUrl (const QString &legendUrl)
 
const QString & legendUrl () const
 
void setLegendUrlFormat (const QString &legendUrlFormat)
 
const QString & legendUrlFormat () const
 
Q_DECL_DEPRECATED QImage * cacheImage ()
 
Q_DECL_DEPRECATED void setCacheImage (QImage *)
 
virtual Q_DECL_DEPRECATED void onCacheImageDelete ()
 

Static Public Member Functions

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

Protected Member Functions

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...
 
virtual bool readXml (const QDomNode &layer_node)
 called by readLayerXML(), used by children to read state specific to them from project files. 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...
 
void readCustomProperties (const QDomNode &layerNode, const QString &keyStartsWith="")
 Read custom properties from project file. More...
 
void writeCustomProperties (QDomNode &layerNode, QDomDocument &doc) const
 Write custom properties to project file. More...
 
void connectNotify (const char *signal)
 debugging member - invoked when a connect() is made to this object More...
 
void appendError (const QgsErrorMessage &theMessage)
 Add error message. More...
 
void setError (const QgsError &theError)
 Set error message. More...
 

Protected Attributes

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

Private Member Functions

 QgsMapLayer (QgsMapLayer const &)
 private copy constructor - QgsMapLayer not copyable More...
 
QgsMapLayeroperator= (QgsMapLayer const &)
 private assign operator - QgsMapLayer not copyable More...
 

Private Attributes

QgsCoordinateReferenceSystemmCRS
 layer's spatial reference system. More...
 
QString mID
 Unique ID of this layer - used to refer to this layer in map layer registry. More...
 
QgsMapLayer::LayerType mLayerType
 Type of the layer (eg. More...
 
QPainter::CompositionMode mBlendMode
 Blend mode for the layer. More...
 
QString mTag
 Tag for embedding additional information. More...
 
float mMinScale
 Minimum scale denominator at which this layer should be displayed. More...
 
float mMaxScale
 Maximum scale denominator at which this layer should be displayed. More...
 
bool mScaleBasedVisibility
 A flag that tells us whether to use the above vars to restrict layer visibility. More...
 
QUndoStack mUndoStack
 Collection of undoable operations for this layer. More...
 
QgsObjectCustomProperties mCustomProperties
 Layer's persistent storage of additional properties (may be used by plugins) 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 47 of file qgsmaplayer.h.

Member Enumeration Documentation

Layers enum defining the types of layers that can be added to a map.

Enumerator
VectorLayer 
RasterLayer 
PluginLayer 

Definition at line 53 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 47 of file qgsmaplayer.cpp.

References capitaliseLayerName(), mCRS, mID, mLayerName, mLayerOrigName, mMaxScale, mMinScale, mScaleBasedVisibility, and QgsDebugMsg.

QgsMapLayer::~QgsMapLayer ( )
virtual

Destructor.

Definition at line 81 of file qgsmaplayer.cpp.

References mCRS.

QgsMapLayer::QgsMapLayer ( QgsMapLayer const &  )
private

private copy constructor - QgsMapLayer not copyable

Member Function Documentation

const QString& QgsMapLayer::abstract ( ) const
inline

Definition at line 99 of file qgsmaplayer.h.

void QgsMapLayer::appendError ( const QgsErrorMessage theMessage)
inlineprotected

Add error message.

Definition at line 480 of file qgsmaplayer.h.

Referenced by QgsRasterLayer::setDataProvider().

QDomDocument QgsMapLayer::asLayerDefinition ( QList< QgsMapLayer * >  layers)
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 599 of file qgsmaplayer.cpp.

References writeLayerXML().

const QString& QgsMapLayer::attribution ( ) const
inline

Definition at line 112 of file qgsmaplayer.h.

Referenced by writeLayerXML().

const QString& QgsMapLayer::attributionUrl ( ) const
inline

Definition at line 114 of file qgsmaplayer.h.

Referenced by writeLayerXML().

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

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

Referenced by setBlendMode().

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

Definition at line 379 of file qgsmaplayer.h.

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

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

Definition at line 791 of file qgsmaplayer.cpp.

Referenced by QgsMapLayer(), and setLayerName().

void QgsMapLayer::clearCacheImage ( )
slot

Clear cached image.

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

Definition at line 1379 of file qgsmaplayer.cpp.

References repaintRequested().

void QgsMapLayer::connectNotify ( const char *  signal)
protected

debugging member - invoked when a connect() is made to this object

Definition at line 714 of file qgsmaplayer.cpp.

References QgsDebugMsgLevel.

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 136 of file qgsmaplayer.h.

Referenced by QgsMapRendererJob::prepareJobs().

const QgsCoordinateReferenceSystem & QgsMapLayer::crs ( ) const

Returns layer's spatial reference system.

Note
This was introduced in QGIS 1.4

Definition at line 772 of file qgsmaplayer.cpp.

References mCRS.

Referenced by QgsPalLabeling::addDiagramLayer(), QgsVectorLayerEditUtils::addTopologicalPoints(), QgsAttributeEditorContext::adjustForLayer(), QgsGeometryAnalyzer::buffer(), QgsGeometryAnalyzer::centroids(), QgsAtlasComposition::computeExtent(), QgsGeometryAnalyzer::convexHull(), QgsOfflineEditing::copyVectorLayer(), QgsPointSample::createRandomPoints(), QgsTransectSample::createSample(), QgsVectorFileWriter::createSymbolLayerTable(), QgsGeometryAnalyzer::dissolve(), QgsMapRendererJob::drawOldLabeling(), QgsGeometryAnalyzer::eventLayer(), QgsVectorFileWriter::exportFeaturesSymbolLevels(), QgsGeometryAnalyzer::extent(), QgsMapToolIdentify::featureDerivedAttributes(), QgsComposerAttributeTable::getFeatureAttributes(), QgsVectorLayerImport::importLayer(), QgsOverlayAnalyzer::intersection(), QgsRasterLayer::metadata(), QgsVectorLayer::metadata(), QgsMapRendererJob::prepareJobs(), QgsPalLabeling::prepareLayer(), QgsRasterCalculator::processCalculation(), QgsRasterLayerRenderer::QgsRasterLayerRenderer(), QgsRasterLayer::readXml(), QgsRasterLayer::setDataProvider(), QgsGeometryAnalyzer::simplify(), QgsVectorLayer::snapToGeometry(), QgsVectorLayerEditUtils::splitFeatures(), QgsMapRenderer::splitLayersExtent(), QgsVectorLayerEditUtils::splitParts(), QgsDatumTransformStore::transformation(), QgsMapRenderer::transformation(), QgsMapCanvas::updateDatumTransformEntries(), QgsVectorFileWriter::writeAsVectorFormat(), and QgsGridFileWriter::writeFile().

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

data of layer changed added in 1.5

const QString& QgsMapLayer::dataUrl ( ) const
inline

Definition at line 106 of file qgsmaplayer.h.

Referenced by writeLayerXML().

const QString& QgsMapLayer::dataUrlFormat ( ) const
inline

Definition at line 108 of file qgsmaplayer.h.

Referenced by writeLayerXML().

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 147 of file qgsmaplayer.cpp.

Referenced by QgsPluginLayerRenderer::render(), and QgsMapRenderer::render().

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 153 of file qgsmaplayer.cpp.

Referenced by QgsMapRendererJob::drawOldLabeling(), and QgsMapRenderer::render().

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 254 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 1012 of file qgsmaplayer.cpp.

References hasScaleBasedVisibility(), maximumScale(), minimumScale(), QGis::QGIS_VERSION, tr, and writeSymbology().

Referenced by saveNamedStyle(), and QgsVectorLayer::saveStyleToDatabase().

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 1184 of file qgsmaplayer.cpp.

References tr, and QgsVectorLayer::writeSld().

Referenced by saveSldStyle(), and QgsVectorLayer::saveStyleToDatabase().

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

Creates a new layer from a layer defininition document.

Definition at line 614 of file qgsmaplayer.cpp.

References QgsPluginLayerRegistry::createLayer(), QgsPluginLayerRegistry::instance(), QgsDebugMsg, readLayerXML(), and type().

Referenced by fromLayerDefinitionFile().

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

Definition at line 648 of file qgsmaplayer.cpp.

References file, fromLayerDefinition(), and QgsDebugMsg.

bool QgsMapLayer::hasScaleBasedVisibility ( ) const
slot
QString QgsMapLayer::id ( ) const
void QgsMapLayer::invalidTransformInput ( )
virtualslot

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

Definition at line 697 of file qgsmaplayer.cpp.

References QgsDebugMsg.

bool QgsMapLayer::isEditable ( ) const
virtual

True if the layer can be edited.

Reimplemented in QgsVectorLayer.

Definition at line 1364 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 691 of file qgsmaplayer.cpp.

References mValid.

Referenced by QgsProject::addLayer(), QgsMapLayerRegistry::addMapLayers(), QgsOfflineEditing::copyVectorLayer(), QgsTransectSample::createSample(), QgsGeometryAnalyzer::eventLayer(), QgsOfflineEditing::synchronize(), and QgsProjectFileTransform::transform0110to1000().

const QString& QgsMapLayer::keywordList ( ) const
inline

Definition at line 102 of file qgsmaplayer.h.

Referenced by writeLayerXML().

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

Definition at line 709 of file qgsmaplayer.cpp.

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

Definition at line 704 of file qgsmaplayer.cpp.

void QgsMapLayer::layerCrsChanged ( )
signal

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

Referenced by setCrs().

void QgsMapLayer::layerNameChanged ( )
signal

Emit a signal that the layer name has been changed.

Referenced by setLayerName().

const QString& QgsMapLayer::legendUrl ( ) const
inline

Definition at line 374 of file qgsmaplayer.h.

Referenced by writeLayerXML().

const QString& QgsMapLayer::legendUrlFormat ( ) const
inline

Definition at line 376 of file qgsmaplayer.h.

Referenced by writeLayerXML().

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 860 of file qgsmaplayer.cpp.

References loadNamedStyle(), and styleURI().

Referenced by QgsRasterLayer::QgsRasterLayer(), and QgsVectorLayer::QgsVectorLayer().

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 909 of file qgsmaplayer.cpp.

References QgsProject::instance(), loadNamedStyleFromDb(), QgsApplication::pkgDataPath(), publicSource(), QGis::QGIS_VERSION, QgsApplication::qgisSettingsDirPath(), QgsDebugMsg, readSymbology(), setMaximumScale(), setMinimumScale(), toggleScaleBasedVisibility(), tr, and QgsLogger::warning().

Referenced by loadDefaultStyle(), and QgsVectorLayer::loadNamedStyle().

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

Definition at line 865 of file qgsmaplayer.cpp.

References QgsDebugMsg.

Referenced by loadNamedStyle().

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

Definition at line 1279 of file qgsmaplayer.cpp.

References QgsDebugMsg, readSld(), and tr.

float QgsMapLayer::maximumScale ( ) const
slot
QString QgsMapLayer::metadata ( )
virtualslot

Obtain Metadata for this layer.

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 1384 of file qgsmaplayer.cpp.

const QString& QgsMapLayer::metadataUrl ( ) const
inline

Definition at line 118 of file qgsmaplayer.h.

Referenced by writeLayerXML().

const QString& QgsMapLayer::metadataUrlFormat ( ) const
inline

Definition at line 122 of file qgsmaplayer.h.

Referenced by writeLayerXML().

const QString& QgsMapLayer::metadataUrlType ( ) const
inline

Definition at line 120 of file qgsmaplayer.h.

Referenced by writeLayerXML().

float QgsMapLayer::minimumScale ( ) const
slot
QString const & QgsMapLayer::name ( ) const

Get the display name of the layer.

Read property of QString layerName.

Returns
the layer name

Definition at line 110 of file qgsmaplayer.cpp.

References mLayerName, and QgsDebugMsgLevel.

Referenced by QgsVectorLayer::addAttributeAlias(), QgsLegendModel::addLayer(), QgsRelationAddDlg::addLayers(), QgsRelationManagerDialog::addRelation(), QgsVectorLayer::attributeAlias(), QgsVectorLayer::attributeEditorElementFromDomElement(), QgsOfflineEditing::copyVectorLayer(), QgsVectorLayer::countSymbolFeatures(), QgsMapLayerModel::data(), QgsVectorLayer::editorWidgetV2(), QgsVectorLayer::editorWidgetV2Config(), QgsVectorLayer::editType(), QgsVectorLayer::fieldEditable(), QgsAttributeTypeLoadDialog::fillLayerList(), QgsMapSettings::fullExtent(), QgsMapCanvas::getDatumTransformInfo(), QgsMapToolIdentify::identify(), QgsMapToolIdentify::identifyRasterLayer(), QgsMapLayerRegistry::mapLayersByName(), QgsMapRendererJob::prepareJobs(), QgsExpressionSelectionDialog::QgsExpressionSelectionDialog(), QgsQueryBuilder::QgsQueryBuilder(), QgsSearchQueryBuilder::QgsSearchQueryBuilder(), QgsVectorLayer::readSymbology(), QgsMapRenderer::render(), setCrs(), QgsRasterLayer::setDataProvider(), QgsVectorLayer::setDataProvider(), QgsVectorLayer::setEditType(), QgsVectorLayer::setFieldEditable(), QgsVectorLayer::setLabelOnTop(), setLayerName(), QgsOfflineEditing::synchronize(), QgsVectorLayerJoinBuffer::updateFields(), QgsMapRenderer::updateFullExtent(), QgsLegendModel::updateLayerItemText(), QgsLegendModel::updateSymbolV2ItemText(), QgsFeatureRendererV2::writeSld(), and QgsVectorLayer::writeSld().

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

Definition at line 383 of file qgsmaplayer.h.

QgsMapLayer& QgsMapLayer::operator= ( QgsMapLayer const &  )
private

private assign operator - QgsMapLayer not copyable

const QString& QgsMapLayer::originalName ( ) const
inline

Get the original name of the layer.

Note
added in 1.9

Definition at line 93 of file qgsmaplayer.h.

Referenced by writeLayerXML().

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 116 of file qgsmaplayer.cpp.

References mDataSource, and QgsDataSourceURI::removePassword().

Referenced by loadNamedStyle(), QgsVectorLayer::metadata(), and styleURI().

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

Read custom properties from project file.

Added in v1.4

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

Definition at line 678 of file qgsmaplayer.cpp.

References mCustomProperties, and QgsObjectCustomProperties::readXml().

Referenced by readLayerXML(), and QgsVectorLayer::readSymbology().

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

Reimplemented in QgsVectorLayer.

Definition at line 350 of file qgsmaplayer.h.

Referenced by loadSldStyle().

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.

Referenced by loadNamedStyle().

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 422 of file qgsmaplayer.cpp.

Referenced by readLayerXML().

void QgsMapLayer::recalculateExtents ( )
signal

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

Referenced by QgsVectorLayer::extent().

virtual void QgsMapLayer::reload ( )
inlinevirtual

Synchronises with changes in the datasource.

Note
added in version 1.6

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 131 of file qgsmaplayer.h.

Referenced by QgsMapLayerRegistry::reloadAllLayers().

void QgsMapLayer::removeCustomProperty ( const QString &  key)

Remove a custom property from layer.

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

Note
Added in v1.4

Definition at line 1357 of file qgsmaplayer.cpp.

References mCustomProperties, and QgsObjectCustomProperties::remove().

Referenced by QgsPalLayerSettings::readDataDefinedProperty(), and QgsPalLayerSettings::writeDataDefinedPropertyMap().

void QgsMapLayer::rendererChanged ( )
signal

Signal emitted when renderer is changed.

Referenced by QgsRasterLayer::setRenderer(), and QgsVectorLayer::setRendererV2().

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.

Referenced by clearCacheImage(), QgsVectorLayer::commitChanges(), QgsVectorLayer::QgsVectorLayer(), QgsVectorLayer::rollBack(), setCacheImage(), QgsRasterLayer::setContrastEnhancement(), QgsVectorLayer::setSubsetString(), QgsRasterLayer::triggerRepaint(), and QgsVectorLayer::triggerRepaint().

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 1042 of file qgsmaplayer.cpp.

References saveNamedStyle(), and styleURI().

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 1047 of file qgsmaplayer.cpp.

References exportNamedStyle(), QgsVectorLayer::providerType(), QgsApplication::qgisSettingsDirPath(), and tr.

Referenced by saveDefaultStyle().

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

Definition at line 1222 of file qgsmaplayer.cpp.

References exportSldStyle(), QgsVectorLayer::providerType(), and tr.

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

Definition at line 98 of file qgsmaplayer.h.

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

Definition at line 111 of file qgsmaplayer.h.

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

Definition at line 113 of file qgsmaplayer.h.

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

Write blend mode for layer.

Definition at line 135 of file qgsmaplayer.cpp.

References blendMode(), blendModeChanged(), and mBlendMode.

Referenced by QgsRasterLayer::readSymbology(), and QgsVectorLayer::readSymbology().

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

Definition at line 1374 of file qgsmaplayer.cpp.

References repaintRequested().

void QgsMapLayer::setCrs ( const QgsCoordinateReferenceSystem srs,
bool  emitSignal = true 
)
void QgsMapLayer::setCustomProperty ( const QString &  key,
const QVariant &  value 
)
void QgsMapLayer::setDataUrl ( const QString &  dataUrl)
inline

Definition at line 105 of file qgsmaplayer.h.

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

Definition at line 107 of file qgsmaplayer.h.

void QgsMapLayer::setError ( const QgsError theError)
inlineprotected

Set error message.

Definition at line 482 of file qgsmaplayer.h.

Referenced by QgsRasterLayer::setDataProvider().

void QgsMapLayer::setExtent ( const QgsRectangle rect)
protectedvirtual

Set the extent.

Reimplemented in QgsVectorLayer, and QgsPluginLayer.

Definition at line 1389 of file qgsmaplayer.cpp.

References mExtent.

Referenced by QgsRasterLayer::setDataProvider(), and QgsVectorLayer::setExtent().

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

Definition at line 101 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 98 of file qgsmaplayer.cpp.

References capitaliseLayerName(), layerNameChanged(), mLayerName, mLayerOrigName, name(), and QgsDebugMsg.

Referenced by readLayerXML(), QgsRasterLayer::setDataProvider(), and QgsVectorLayer::setDataProvider().

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 759 of file qgsmaplayer.cpp.

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

Definition at line 373 of file qgsmaplayer.h.

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

Definition at line 375 of file qgsmaplayer.h.

void QgsMapLayer::setMaximumScale ( float  theMaxScale)
slot

Accessor and mutator for the maximum scale denominator member.

Definition at line 743 of file qgsmaplayer.cpp.

References mMaxScale.

Referenced by QgsVectorLayer::applyNamedStyle(), loadNamedStyle(), and readLayerXML().

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

Definition at line 117 of file qgsmaplayer.h.

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

Definition at line 121 of file qgsmaplayer.h.

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

Definition at line 119 of file qgsmaplayer.h.

void QgsMapLayer::setMinimumScale ( float  theMinScale)
slot

Accessor and mutator for the minimum scale denominator member.

Definition at line 732 of file qgsmaplayer.cpp.

References mMinScale.

Referenced by QgsVectorLayer::applyNamedStyle(), loadNamedStyle(), and readLayerXML().

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

Set the visibility of the given sublayer name.

Reimplemented in QgsRasterLayer.

Definition at line 765 of file qgsmaplayer.cpp.

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

Definition at line 95 of file qgsmaplayer.h.

void QgsMapLayer::setValid ( bool  valid)
protected

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

Note
added in v1.5

Definition at line 1369 of file qgsmaplayer.cpp.

References mValid.

QString const & QgsMapLayer::source ( ) const

Returns the source for the layer.

Definition at line 124 of file qgsmaplayer.cpp.

References mDataSource.

Referenced by QgsOfflineEditing::committedFeaturesAdded(), QgsOfflineEditing::copyVectorLayer(), and writeLayerXML().

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)

Referenced by QgsRasterLayer::QgsRasterLayer(), QgsRasterLayer::setDataProvider(), and QgsRasterLayer::showStatusMessage().

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 ();
Note
This method was added in QGIS 1.8

Definition at line 806 of file qgsmaplayer.cpp.

References publicSource().

Referenced by loadDefaultStyle(), and saveDefaultStyle().

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 754 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 410 of file qgsmaplayer.h.

Referenced by writeLayerXML().

const QString& QgsMapLayer::title ( ) const
inline
void QgsMapLayer::toggleScaleBasedVisibility ( bool  theVisibilityFlag)
slot

Accessor and mutator for the scale based visilibility flag.

Definition at line 722 of file qgsmaplayer.cpp.

References mScaleBasedVisibility.

Referenced by QgsVectorLayer::applyNamedStyle(), loadNamedStyle(), and readLayerXML().

QgsMapLayer::LayerType QgsMapLayer::type ( ) const
QUndoStack * QgsMapLayer::undoStack ( )
void QgsMapLayer::writeCustomProperties ( QDomNode &  layerNode,
QDomDocument &  doc 
) const
protected

Write custom properties to project file.

Added in v1.4

Definition at line 683 of file qgsmaplayer.cpp.

References mCustomProperties, and QgsObjectCustomProperties::writeXml().

Referenced by writeLayerXML(), and QgsVectorLayer::writeSymbology().

bool QgsMapLayer::writeLayerXML ( QDomElement &  layerElement,
QDomDocument &  document 
)

stores state in Dom node

Parameters
layerElementis a Dom element corresponding to ``maplayer'' tag
documentis a the dom document being written
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 432 of file qgsmaplayer.cpp.

References attribution(), attributionUrl(), QgsDataSourceURI::database(), dataUrl(), dataUrlFormat(), hasScaleBasedVisibility(), QgsDataSourceURI::host(), QgsProject::instance(), keywordList(), legendUrl(), legendUrlFormat(), maximumScale(), mCRS, metadataUrl(), metadataUrlFormat(), metadataUrlType(), minimumScale(), originalName(), QgsDataSourceURI::password(), QgsDataSourceURI::port(), QgsVectorLayer::providerType(), QgsDataSourceURI::setConnection(), source(), timestamp(), title(), QgsDataSourceURI::uri(), QgsDataSourceURI::username(), writeCustomProperties(), QgsProject::writePath(), QgsCoordinateReferenceSystem::writeXML(), and writeXml().

Referenced by asLayerDefinition(), and QgsProject::write().

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.

Referenced by exportNamedStyle().

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 668 of file qgsmaplayer.cpp.

Referenced by writeLayerXML().

Member Data Documentation

QString QgsMapLayer::mAbstract
protected

Description of the layer.

Definition at line 504 of file qgsmaplayer.h.

Referenced by readLayerXML().

QString QgsMapLayer::mAttribution
protected

Attribution of the layer.

Definition at line 512 of file qgsmaplayer.h.

Referenced by readLayerXML().

QString QgsMapLayer::mAttributionUrl
protected

Definition at line 513 of file qgsmaplayer.h.

Referenced by readLayerXML().

QPainter::CompositionMode QgsMapLayer::mBlendMode
private

Blend mode for the layer.

Definition at line 545 of file qgsmaplayer.h.

Referenced by blendMode(), and setBlendMode().

QgsCoordinateReferenceSystem* QgsMapLayer::mCRS
private

layer's spatial reference system.

private to make sure setCrs must be used and layerCrsChanged() is emitted

Definition at line 530 of file qgsmaplayer.h.

Referenced by crs(), QgsMapLayer(), readLayerXML(), setCrs(), writeLayerXML(), and ~QgsMapLayer().

QgsObjectCustomProperties QgsMapLayer::mCustomProperties
private

Layer's persistent storage of additional properties (may be used by plugins)

Definition at line 561 of file qgsmaplayer.h.

Referenced by customProperty(), readCustomProperties(), removeCustomProperty(), setCustomProperty(), and writeCustomProperties().

QString QgsMapLayer::mDataSource
protected
QString QgsMapLayer::mDataUrl
protected

DataUrl of the layer.

Definition at line 508 of file qgsmaplayer.h.

Referenced by readLayerXML().

QString QgsMapLayer::mDataUrlFormat
protected

Definition at line 509 of file qgsmaplayer.h.

Referenced by readLayerXML().

QgsError QgsMapLayer::mError
protected

Error.

Definition at line 525 of file qgsmaplayer.h.

QgsRectangle QgsMapLayer::mExtent
protected

Extent of the layer.

Definition at line 485 of file qgsmaplayer.h.

Referenced by extent(), QgsPluginLayer::setExtent(), and setExtent().

QString QgsMapLayer::mID
private

Unique ID of this layer - used to refer to this layer in map layer registry.

Definition at line 539 of file qgsmaplayer.h.

Referenced by id(), QgsMapLayer(), and readLayerXML().

QString QgsMapLayer::mKeywordList
protected

Definition at line 505 of file qgsmaplayer.h.

Referenced by readLayerXML().

QString QgsMapLayer::mLayerName
protected

Name of the layer - used for display.

Definition at line 494 of file qgsmaplayer.h.

Referenced by name(), QgsMapLayer(), QgsRasterLayer::setDataProvider(), and setLayerName().

QString QgsMapLayer::mLayerOrigName
protected

Original name of the layer.

Note
added in 1.9

Definition at line 499 of file qgsmaplayer.h.

Referenced by QgsMapLayer(), and setLayerName().

QgsMapLayer::LayerType QgsMapLayer::mLayerType
private

Type of the layer (eg.

vector, raster)

Definition at line 542 of file qgsmaplayer.h.

Referenced by type().

QString QgsMapLayer::mLegendUrl
protected

WMS legend.

Definition at line 521 of file qgsmaplayer.h.

Referenced by readLayerXML().

QString QgsMapLayer::mLegendUrlFormat
protected

Definition at line 522 of file qgsmaplayer.h.

Referenced by readLayerXML().

float QgsMapLayer::mMaxScale
private

Maximum scale denominator at which this layer should be displayed.

Definition at line 553 of file qgsmaplayer.h.

Referenced by maximumScale(), QgsMapLayer(), and setMaximumScale().

QString QgsMapLayer::mMetadataUrl
protected

MetadataUrl of the layer.

Definition at line 516 of file qgsmaplayer.h.

Referenced by readLayerXML().

QString QgsMapLayer::mMetadataUrlFormat
protected

Definition at line 518 of file qgsmaplayer.h.

Referenced by readLayerXML().

QString QgsMapLayer::mMetadataUrlType
protected

Definition at line 517 of file qgsmaplayer.h.

Referenced by readLayerXML().

float QgsMapLayer::mMinScale
private

Minimum scale denominator at which this layer should be displayed.

Definition at line 551 of file qgsmaplayer.h.

Referenced by minimumScale(), QgsMapLayer(), and setMinimumScale().

bool QgsMapLayer::mScaleBasedVisibility
private

A flag that tells us whether to use the above vars to restrict layer visibility.

Definition at line 555 of file qgsmaplayer.h.

Referenced by hasScaleBasedVisibility(), QgsMapLayer(), and toggleScaleBasedVisibility().

QString QgsMapLayer::mTag
private

Tag for embedding additional information.

Definition at line 548 of file qgsmaplayer.h.

QString QgsMapLayer::mTitle
protected

Definition at line 501 of file qgsmaplayer.h.

Referenced by readLayerXML().

QUndoStack QgsMapLayer::mUndoStack
private

Collection of undoable operations for this layer.

Definition at line 558 of file qgsmaplayer.h.

Referenced by undoStack().

bool QgsMapLayer::mValid
protected

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