Quantum GIS API Documentation  master-693a1fe
QgsMapLayer Class Reference

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

#include <qgsmaplayer.h>

+ Inheritance diagram for QgsMapLayer:
+ Collaboration diagram for QgsMapLayer:

List of all members.

Public Types

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

Public Slots

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

Signals

void dataChanged ()
 data of layer changed added in 1.5
void drawingProgress (int theProgress, int theTotalSteps)
 Emit a signal to notify of a progress event.
void layerCrsChanged ()
 Emit a signal that layer's CRS has been reset added in 1.4.
void layerNameChanged ()
 Emit a signal that the layer name has been changed.
void recalculateExtents ()
 This is used to send a request that any mapcanvas using this layer update its extents.
void repaintRequested ()
 This signal should be connected with the slot QgsMapCanvas::refresh()
void screenUpdateRequested ()
 The layer emits this signal when a screen update is requested.
void statusChanged (QString theStatus)
 Emit a signal with status (e.g.

Public Member Functions

 QgsMapLayer (QgsMapLayer::LayerType type=VectorLayer, QString lyrname=QString::null, QString source=QString::null)
 Constructor.
virtual ~QgsMapLayer ()
 Destructor.
const QString & abstract () const
QPainter::CompositionMode blendMode () const
 Read blend mode for layer.
QImage * cacheImage ()
 Get the QImage used for caching render operations.
const
QgsCoordinateReferenceSystem
crs () const
 Returns layer's spatial reference system.
QVariant customProperty (const QString &value, const QVariant &defaultValue=QVariant()) const
 Read a custom property from layer.
virtual bool draw (QgsRenderContext &rendererContext)
 This is the method that does the actual work of drawing the layer onto a paint device.
virtual void drawLabels (QgsRenderContext &rendererContext)
 Draw labels.
virtual QgsError error () const
 Get current status error.
virtual void exportNamedStyle (QDomDocument &doc, QString &errorMsg)
 Export the properties of this layer as named style in a QDomDocument.
virtual void exportSldStyle (QDomDocument &doc, QString &errorMsg)
 Export the properties of this layer as SLD style in a QDomDocument.
virtual QgsRectangle extent ()
 Return the extent of the layer.
QString id () const
 Get this layer's unique ID, this ID is used to access this layer from map layer registry.
virtual bool isEditable () const
 True if the layer can be edited.
bool isValid ()
virtual QString lastError ()
 If an operation returns 0 (e.g.
virtual QString lastErrorTitle ()
 If an operation returns 0 (e.g.
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)
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)
virtual bool loadNamedStyleFromDb (const QString db, const QString theURI, QString &qml)
virtual QString loadSldStyle (const QString theURI, bool &theResultFlag)
const QString & name () const
 Get the display name of the layer.
virtual void onCacheImageDelete ()
 Is called when the cache image is being deleted.
const QString & originalName () const
 Get the original name of the layer.
QString publicSource () const
bool readLayerXML (const QDomElement &layerElement)
 sets state from Dom document
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.
virtual void reload ()
 Synchronises with changes in the datasource.
void removeCustomProperty (const QString &key)
 Remove a custom property from layer.
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)
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)
virtual QString saveSldStyle (const QString theURI, bool &theResultFlag)
void setAbstract (const QString &abstract)
void setBlendMode (const QPainter::CompositionMode blendMode)
 Write blend mode for layer.
void setCacheImage (QImage *thepImage)
 Set the QImage used for caching render operations.
void setCrs (const QgsCoordinateReferenceSystem &srs, bool emitSignal=true)
 Sets layer's spatial reference system.
void setCustomProperty (const QString &key, const QVariant &value)
 Set a custom property for layer.
void setLayerName (const QString &name)
 Set the display name of the layer.
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)
virtual void setSubLayerVisibility (QString name, bool vis)
 Set the visibility of the given sublayer name.
void setTitle (const QString &title)
const QString & source () const
 Returns the source for the layer.
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)
virtual QStringList subLayers () const
 Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS)
const QString & title () const
QgsMapLayer::LayerType type () const
 Get the type of the layer.
QUndoStack * undoStack ()
 Return pointer to layer's undo stack.
bool writeLayerXML (QDomElement &layerElement, QDomDocument &document)
 stores state in Dom node
virtual bool writeSymbology (QDomNode &node, QDomDocument &doc, QString &errorMessage) const =0
 Write the symbology for the layer into the docment provided.

Static Public Member Functions

static QString capitaliseLayerName (const QString &name)
 A convenience function to (un)capitalise the layer name.

Protected Member Functions

void appendError (const QgsErrorMessage &theMessage)
 Add error message.
void connectNotify (const char *signal)
 debugging member - invoked when a connect() is made to this object
void readCustomProperties (const QDomNode &layerNode, const QString &keyStartsWith="")
 Read custom properties from project file.
virtual bool readXml (const QDomNode &layer_node)
 called by readLayerXML(), used by children to read state specific to them from project files.
void setError (const QgsError &theError)
 Set error message.
virtual void setExtent (const QgsRectangle &rect)
 Set the extent.
void setValid (bool valid)
 set whether layer is valid or not - should be used in constructor.
void writeCustomProperties (QDomNode &layerNode, QDomDocument &doc) const
 Write custom properties to project file.
virtual bool writeXml (QDomNode &layer_node, QDomDocument &document)
 called by writeLayerXML(), used by children to write state specific to them to project files.

Protected Attributes

QString mAbstract
 Description of the layer.
QString mDataSource
 data source description string, varies by layer type
QgsError mError
 Error.
QgsRectangle mExtent
 Extent of the layer.
QString mLayerName
 Name of the layer - used for display.
QString mLayerOrigName
 Original name of the layer.
QString mTitle
unsigned int mTransparencyLevel
 Transparency level for this layer should be 0-255 (255 being opaque)
bool mValid
 Indicates if the layer is valid and can be drawn.

Private Member Functions

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

Private Attributes

QPainter::CompositionMode mBlendMode
 Blend mode for the layer.
QgsCoordinateReferenceSystemmCRS
 layer's spatial reference system.
QMap< QString, QVariant > mCustomProperties
QString mID
 Unique ID of this layer - used to refer to this layer in map layer registry.
QgsMapLayer::LayerType mLayerType
 Type of the layer (eg.
float mMaxScale
 Maximum scale denominator at which this layer should be displayed.
float mMinScale
 Minimum scale denominator at which this layer should be displayed.
QImage * mpCacheImage
 QImage for caching of rendering operations.
bool mScaleBasedVisibility
 A flag that tells us whether to use the above vars to restrict layer visibility.
QString mTag
 Tag for embedding additional information.
QUndoStack mUndoStack
 Collection of undoable operations for this layer.

Detailed Description

Base class for all map layer types.

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

Definition at line 45 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 

Reimplemented in QgsRasterLayer.

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

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

Destructor.

Definition at line 80 of file qgsmaplayer.cpp.

References mCRS, and mpCacheImage.

QgsMapLayer::QgsMapLayer ( QgsMapLayer const &  ) [private]

private copy constructor - QgsMapLayer not copyable


Member Function Documentation

const QString& QgsMapLayer::abstract ( ) const [inline]

Definition at line 97 of file qgsmaplayer.h.

void QgsMapLayer::appendError ( const QgsErrorMessage theMessage) [inline, protected]

Add error message.

Definition at line 450 of file qgsmaplayer.h.

Referenced by QgsRasterLayer::setDataProvider().

QImage* QgsMapLayer::cacheImage ( ) [inline]

Get the QImage used for caching render operations.

Note:
This method was added in QGIS 1.4

Definition at line 349 of file qgsmaplayer.h.

Referenced by QgsMapRenderer::render().

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

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

Definition at line 622 of file qgsmaplayer.cpp.

Referenced by QgsMapLayer(), and setLayerName().

Clear cached image added in 1.5.

Definition at line 1288 of file qgsmaplayer.cpp.

References setCacheImage().

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

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

Definition at line 533 of file qgsmaplayer.cpp.

References QgsDebugMsgLevel.

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

data of layer changed added in 1.5

Reimplemented in QgsRasterLayer.

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

Referenced by QgsMapRenderer::render().

void QgsMapLayer::drawingProgress ( int  theProgress,
int  theTotalSteps 
) [signal]

Emit a signal to notify of a progress event.

Referenced by QgsRasterLayer::updateProgress().

void QgsMapLayer::drawLabels ( QgsRenderContext rendererContext) [virtual]

Draw labels.

Todo:
to be removed: used only in vector layers

Reimplemented in QgsVectorLayer.

Definition at line 155 of file qgsmaplayer.cpp.

Referenced by QgsMapRenderer::render().

virtual QgsError QgsMapLayer::error ( ) const [inline, virtual]

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 229 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 843 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 1015 of file qgsmaplayer.cpp.

References tr, and QgsVectorLayer::writeSld().

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

void QgsMapLayer::invalidTransformInput ( ) [virtual, slot]

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

Definition at line 516 of file qgsmaplayer.cpp.

References QgsDebugMsg.

bool QgsMapLayer::isEditable ( ) const [virtual]

True if the layer can be edited.

Reimplemented in QgsVectorLayer.

Definition at line 1278 of file qgsmaplayer.cpp.

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

References mValid.

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

QString QgsMapLayer::lastError ( ) [virtual]

If an operation returns 0 (e.g.

draw()), this function returns the text of the error associated with the failure. Interactive users of this provider can then, for example, call a QMessageBox to display the contents.

Reimplemented in QgsRasterLayer.

Definition at line 528 of file qgsmaplayer.cpp.

Referenced by QgsMapCanvas::showError().

QString QgsMapLayer::lastErrorTitle ( ) [virtual]

If an operation returns 0 (e.g.

draw()), this function returns the text of the error associated with the failure. Interactive users of this provider can then, for example, call a QMessageBox to display the contents.

Reimplemented in QgsRasterLayer.

Definition at line 523 of file qgsmaplayer.cpp.

Referenced by QgsMapCanvas::showError().

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().

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 691 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 740 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().

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

Definition at line 696 of file qgsmaplayer.cpp.

References QgsDebugMsg.

Referenced by loadNamedStyle().

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

Definition at line 1110 of file qgsmaplayer.cpp.

References QgsDebugMsg, readSld(), and tr.

QString QgsMapLayer::metadata ( ) [virtual, slot]

Obtain Metadata for this layer.

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 1293 of file qgsmaplayer.cpp.

virtual void QgsMapLayer::onCacheImageDelete ( ) [inline, virtual]

Is called when the cache image is being deleted.

Overwrite and use to clean up.

Note:
added in 2.0

Reimplemented in QgsVectorLayer.

Definition at line 358 of file qgsmaplayer.h.

Referenced by setCacheImage().

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 91 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 119 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 1193 of file qgsmaplayer.cpp.

References mCustomProperties.

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

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

References QgsCoordinateReferenceSystem::customSrsValidation(), QgsDataSourceURI::database(), QgsDataSourceURI::encodedUri(), file, QgsProject::instance(), mAbstract, mCRS, mDataSource, mID, mTitle, QgsDebugMsg, readCustomProperties(), QgsProject::readPath(), QgsCoordinateReferenceSystem::readXML(), readXml(), QgsCoordinateReferenceSystem::setCustomSrsValidation(), QgsDataSourceURI::setDatabase(), setLayerName(), setMaximumScale(), setMinimumScale(), QgsDataSourceURI::setParam(), QgsCoordinateReferenceSystem::setValidationHint(), toggleScaleBasedVisibility(), tr, QgsDataSourceURI::uri(), and QgsCoordinateReferenceSystem::validate().

Referenced by QgsProject::addLayer(), and QgsProjectFileTransform::transform1800to1900().

virtual bool QgsMapLayer::readSld ( const QDomNode &  node,
QString &  errorMessage 
) [inline, virtual]

Reimplemented in QgsVectorLayer.

Definition at line 325 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) [protected, virtual]

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

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 380 of file qgsmaplayer.cpp.

Referenced by readLayerXML().

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

Referenced by QgsVectorLayer::extent().

virtual void QgsMapLayer::reload ( ) [inline, virtual]

Synchronises with changes in the datasource.

Note:
added in version 1.6

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

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

References mCustomProperties.

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

void QgsMapLayer::repaintRequested ( ) [signal]

This signal should be connected with the slot QgsMapCanvas::refresh()

Todo:
to be removed - GUI dependency

Referenced by 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 873 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 878 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 1053 of file qgsmaplayer.cpp.

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

The layer emits this signal when a screen update is requested.

This signal should be connected with the slot QgsMapCanvas::updateMap()

Referenced by QgsVectorLayer::drawRendererV2().

void QgsMapLayer::setAbstract ( const QString &  abstract) [inline]

Definition at line 96 of file qgsmaplayer.h.

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

Write blend mode for layer.

Definition at line 138 of file qgsmaplayer.cpp.

References blendMode(), and mBlendMode.

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

void QgsMapLayer::setCrs ( const QgsCoordinateReferenceSystem srs,
bool  emitSignal = true 
)
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.

Note:
Added in v1.4

Definition at line 1178 of file qgsmaplayer.cpp.

References mCustomProperties.

Referenced by _writeColor(), QgsOfflineEditing::copyVectorLayer(), QgsPalLayerSettings::readDataDefinedProperty(), QgsRasterLayer::setDataProvider(), QgsPalLayerSettings::writeDataDefinedPropertyMap(), and QgsPalLayerSettings::writeToLayer().

void QgsMapLayer::setError ( const QgsError theError) [inline, protected]

Set error message.

Definition at line 452 of file qgsmaplayer.h.

Referenced by QgsRasterLayer::setDataProvider().

void QgsMapLayer::setExtent ( const QgsRectangle rect) [protected, virtual]

Set the extent.

Reimplemented in QgsVectorLayer, and QgsPluginLayer.

Definition at line 1298 of file qgsmaplayer.cpp.

References mExtent.

Referenced by QgsRasterLayer::setDataProvider().

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

void QgsMapLayer::setMaximumScale ( float  theMaxScale) [slot]

Accessor and mutator for the maximum scale denominator member.

Definition at line 562 of file qgsmaplayer.cpp.

References mMaxScale.

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

void QgsMapLayer::setMinimumScale ( float  theMinScale) [slot]

Accessor and mutator for the minimum scale denominator member.

Definition at line 551 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 584 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.

Note:
added in v1.5

Definition at line 1283 of file qgsmaplayer.cpp.

References mValid.

QString const & QgsMapLayer::source ( ) const

Returns the source for the layer.

Definition at line 127 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 637 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 573 of file qgsmaplayer.cpp.

virtual QDateTime QgsMapLayer::timestamp ( ) const [inline, virtual, slot]

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

Reimplemented in QgsRasterLayer.

Definition at line 385 of file qgsmaplayer.h.

Referenced by writeLayerXML().

const QString& QgsMapLayer::title ( ) const [inline]

Definition at line 94 of file qgsmaplayer.h.

Referenced by writeLayerXML().

void QgsMapLayer::toggleScaleBasedVisibility ( bool  theVisibilityFlag) [slot]

Accessor and mutator for the scale based visilibility flag.

Definition at line 541 of file qgsmaplayer.cpp.

References mScaleBasedVisibility.

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

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

Write custom properties to project file.

Added in v1.4

Definition at line 1242 of file qgsmaplayer.cpp.

References mCustomProperties.

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

References QgsDataSourceURI::database(), hasScaleBasedVisibility(), QgsDataSourceURI::host(), QgsProject::instance(), maximumScale(), mCRS, 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 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 
) [protected, virtual]

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

Reimplemented in QgsVectorLayer, and QgsRasterLayer.

Definition at line 498 of file qgsmaplayer.cpp.

Referenced by writeLayerXML().


Member Data Documentation

QString QgsMapLayer::mAbstract [protected]

Description of the layer.

Definition at line 477 of file qgsmaplayer.h.

Referenced by readLayerXML().

QPainter::CompositionMode QgsMapLayer::mBlendMode [private]

Blend mode for the layer.

Definition at line 500 of file qgsmaplayer.h.

Referenced by blendMode(), and setBlendMode().

layer's spatial reference system.

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

Definition at line 485 of file qgsmaplayer.h.

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

Error.

Reimplemented in QgsRasterLayer.

Definition at line 480 of file qgsmaplayer.h.

Extent of the layer.

Definition at line 458 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 494 of file qgsmaplayer.h.

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

QString QgsMapLayer::mLayerName [protected]

Name of the layer - used for display.

Definition at line 467 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 472 of file qgsmaplayer.h.

Referenced by QgsMapLayer(), and setLayerName().

Type of the layer (eg.

vector, raster)

Definition at line 497 of file qgsmaplayer.h.

Referenced by type().

float QgsMapLayer::mMaxScale [private]

Maximum scale denominator at which this layer should be displayed.

Definition at line 508 of file qgsmaplayer.h.

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

float QgsMapLayer::mMinScale [private]

Minimum scale denominator at which this layer should be displayed.

Definition at line 506 of file qgsmaplayer.h.

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

QImage* QgsMapLayer::mpCacheImage [private]

QImage for caching of rendering operations.

Note:
This property was added in QGIS 1.4

Definition at line 519 of file qgsmaplayer.h.

Referenced by QgsMapLayer(), setCacheImage(), and ~QgsMapLayer().

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

Definition at line 510 of file qgsmaplayer.h.

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

QString QgsMapLayer::mTag [private]

Tag for embedding additional information.

Definition at line 503 of file qgsmaplayer.h.

QString QgsMapLayer::mTitle [protected]

Definition at line 474 of file qgsmaplayer.h.

Referenced by readLayerXML().

unsigned int QgsMapLayer::mTransparencyLevel [protected]

Transparency level for this layer should be 0-255 (255 being opaque)

Definition at line 455 of file qgsmaplayer.h.

Referenced by QgsRasterLayer::draw().

QUndoStack QgsMapLayer::mUndoStack [private]

Collection of undoable operations for this layer.

Definition at line 513 of file qgsmaplayer.h.

Referenced by undoStack().


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