Quantum GIS API Documentation  1.7.4
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
QgsMapLayer Class Reference

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]

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

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

Signals

void drawingProgress (int theProgress, int theTotalSteps)
 Emit a signal to notify of a progress event.
void statusChanged (QString theStatus)
 Emit a signal with status (e.g.
void layerNameChanged ()
 Emit a signal that the layer name has been changed.
void layerCrsChanged ()
 Emit a signal that layer's CRS has been reset added in 1.4.
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 recalculateExtents ()
 This is used to send a request that any mapcanvas using this layer update its extents.
void dataChanged ()
 data of layer changed added in 1.5

Public Member Functions

 QgsMapLayer (QgsMapLayer::LayerType type=VectorLayer, QString lyrname=QString::null, QString source=QString::null)
 Constructor.
virtual ~QgsMapLayer ()
 Destructor.
QgsMapLayer::LayerType type () const
 Get the type of the layer.
QString id () const
 Get this layer's unique ID, this ID is used to access this layer from map layer registry.
Q_DECL_DEPRECATED QString getLayerID () const
 Get this layer's unique ID, this ID is used to access this layer from map layer registry.
void setLayerName (const QString &name)
 Set the display name of the layer.
QString const & name () const
 Get the display name of the layer.
virtual void reload ()
 Synchronises with changes in the datasource.
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.
QgsRectangle extent () const
 Return the extent of the layer as a QRect.
bool isValid ()
QString publicSource () const
QString const & source () const
 Returns the source for the layer.
virtual QStringList subLayers ()
 Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS)
virtual void setLayerOrder (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.
virtual bool isEditable () const
 True if the layer can be edited.
bool readXML (QDomNode &layer_node)
 sets state from Dom document
bool writeXML (QDomNode &layer_node, QDomDocument &document)
 stores state in Dom node
void setCustomProperty (const QString &key, const QVariant &value)
 Set a custom property for layer.
QVariant customProperty (const QString &value, const QVariant &defaultValue=QVariant()) const
 Read a custom property from layer.
void removeCustomProperty (const QString &key)
 Remove a custom property from layer.
virtual bool copySymbologySettings (const QgsMapLayer &other)=0
 Copies the symbology settings from another layer.
virtual bool hasCompatibleSymbology (const QgsMapLayer &other) const =0
 Returns true if this layer can be in the same symbology group with another layer.
unsigned int getTransparency ()
 Accessor for transparency level.
void setTransparency (unsigned int)
 Mutator for transparency level.
virtual QString lastErrorTitle ()
 If an operation returns 0 (e.g.
virtual QString lastError ()
 If an operation returns 0 (e.g.
const
QgsCoordinateReferenceSystem
crs ()
 Returns layer's spatial reference system.
Q_DECL_DEPRECATED const
QgsCoordinateReferenceSystem
srs ()
 Returns layer's spatial reference system.
void setCrs (const QgsCoordinateReferenceSystem &srs, bool emitSignal=true)
 Sets layer's spatial reference system.
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 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 bool readSymbology (const QDomNode &node, QString &errorMessage)=0
 Read the symbology for the current layer from the Dom node supplied.
virtual bool writeSymbology (QDomNode &node, QDomDocument &doc, QString &errorMessage) const =0
 Write the symbology for the layer into the docment provided.
QUndoStack * undoStack ()
 Return pointer to layer's undo stack.
QImage * cacheImage ()
 Get the QImage used for caching render operations.
void setCacheImage (QImage *thepImage)
 Set the QImage used for caching render operations.

Static Public Member Functions

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

Protected Member Functions

void setValid (bool valid)
 set whether layer is valid or not - should be used in constructor.
virtual bool readXml (QDomNode &layer_node)
 called by readXML(), used by children to read state specific to them from project files.
virtual bool writeXml (QDomNode &layer_node, QDomDocument &document)
 called by writeXML(), used by children to write state specific to them to project files.
void readCustomProperties (const QDomNode &layerNode, const QString &keyStartsWith="")
 Read custom properties from project file.
void writeCustomProperties (QDomNode &layerNode, QDomDocument &doc) const
 Write custom properties to project file.
void connectNotify (const char *signal)
 debugging member - invoked when a connect() is made to this object

Protected Attributes

unsigned int mTransparencyLevel
 Transparency level for this layer should be 0-255 (255 being opaque)
QgsRectangle mLayerExtent
 Extent of the layer.
bool mValid
 Indicates if the layer is valid and can be drawn.
QString mDataSource
 data source description string, varies by layer type
QString mLayerName
 Name of the layer - used for display.
QgsCoordinateReferenceSystemmCRS
 layer's Spatial reference system

Private Member Functions

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

Private Attributes

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.
QString mTag
 Tag for embedding additional information.
float mMinScale
 Minimum scale at which this layer should be displayed.
float mMaxScale
 Maximum scale at which this layer should be displayed.
bool mScaleBasedVisibility
 A flag that tells us whether to use the above vars to restrict layer visibility.
QUndoStack mUndoStack
 Collection of undoable operations for this layer.
QMap< QString, QVariant > mCustomProperties
QImage * mpCacheImage
 QImage for caching of rendering operations.

Detailed Description

Base class for all map layer types.

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

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

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

Destructor.

Definition at line 82 of file qgsmaplayer.cpp.

References mCRS, and mpCacheImage.

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

private copy constructor - QgsMapLayer not copyable


Member Function Documentation

QImage* QgsMapLayer::cacheImage ( ) [inline]

Get the QImage used for caching render operations.

Note:
This method was added in QGIS 1.4

Definition at line 309 of file qgsmaplayer.h.

Referenced by QgsMapRenderer::render().

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

A convenience function to capitalise the layer name.

Definition at line 496 of file qgsmaplayer.cpp.

Referenced by QgsMapLayer(), and setLayerName().

Clear cached image added in 1.5.

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

References QgsDebugMsgLevel.

virtual bool QgsMapLayer::copySymbologySettings ( const QgsMapLayer other) [pure virtual]

Copies the symbology settings from another layer.

Returns true in case of success

Implemented in QgsRasterLayer, and QgsVectorLayer.

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.

Note:
Added in v1.4

Definition at line 833 of file qgsmaplayer.cpp.

References mCustomProperties.

Referenced by _readColor(), _readDataDefinedProperty(), and QgsPalLayerSettings::readFromLayer().

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 QgsRasterLayer, and QgsVectorLayer.

Definition at line 135 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::bandStatistics(), and 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 140 of file qgsmaplayer.cpp.

Referenced by QgsMapRenderer::render().

Return the extent of the layer as a QRect.

Definition at line 130 of file qgsmaplayer.cpp.

References mLayerExtent.

Referenced by QgsGeometryAnalyzer::extent(), QgsMapRenderer::render(), QgsPluginLayer::setExtent(), and QgsMapRenderer::updateFullExtent().

Q_DECL_DEPRECATED QString QgsMapLayer::getLayerID ( ) const [inline]

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

Deprecated:
use id()

Definition at line 79 of file qgsmaplayer.h.

unsigned int QgsMapLayer::getTransparency ( )

Accessor for transparency level.

Definition at line 486 of file qgsmaplayer.cpp.

References mTransparencyLevel.

Referenced by QgsLegendModel::addVectorLayerItems(), QgsComposerLegend::drawLayerItem(), saveNamedStyle(), and writeXML().

virtual bool QgsMapLayer::hasCompatibleSymbology ( const QgsMapLayer other) const [pure virtual]

Returns true if this layer can be in the same symbology group with another layer.

Implemented in QgsRasterLayer, and QgsVectorLayer.

Definition at line 425 of file qgsmaplayer.cpp.

References mScaleBasedVisibility.

Referenced by QgsMapRenderer::render(), saveNamedStyle(), and writeXML().

QString QgsMapLayer::id ( ) const
void QgsMapLayer::invalidTransformInput ( ) [virtual, slot]

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

Definition at line 396 of file qgsmaplayer.cpp.

References QgsDebugMsg.

bool QgsMapLayer::isEditable ( ) const [virtual]

True if the layer can be edited.

Reimplemented in QgsRasterLayer, and QgsVectorLayer.

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

References mValid.

Referenced by QgsProject::_getMapLayers(), QgsMapLayerRegistry::addMapLayer(), 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 408 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 403 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 511 of file qgsmaplayer.cpp.

References loadNamedStyle(), and publicSource().

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

Definition at line 570 of file qgsmaplayer.cpp.

References QgsProject::instance(), loadNamedStyleFromDb(), QgsApplication::pkgDataPath(), QgsApplication::qgisSettingsDirPath(), QgsDebugMsg, readSymbology(), setMaximumScale(), setMinimumScale(), setTransparency(), and toggleScaleBasedVisibility().

Referenced by loadDefaultStyle().

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

Definition at line 528 of file qgsmaplayer.cpp.

References QgsDebugMsg.

Referenced by loadNamedStyle().

float QgsMapLayer::maximumScale ( ) [slot]

Definition at line 446 of file qgsmaplayer.cpp.

References mMaxScale.

Referenced by QgsMapRenderer::render(), saveNamedStyle(), and writeXML().

float QgsMapLayer::minimumScale ( ) [slot]

Definition at line 435 of file qgsmaplayer.cpp.

References mMinScale.

Referenced by QgsMapRenderer::render(), saveNamedStyle(), and writeXML().

QString const & QgsMapLayer::name ( ) const
QgsMapLayer& QgsMapLayer::operator= ( QgsMapLayer const &  ) [private]

private assign operator - QgsMapLayer not copyable

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

References mDataSource, and QgsDataSourceURI::removePassword().

Referenced by loadDefaultStyle(), and saveDefaultStyle().

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

References mCustomProperties.

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

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 QgsRasterLayer, and QgsVectorLayer.

Referenced by loadNamedStyle().

bool QgsMapLayer::readXML ( QDomNode &  layer_node)

sets state from Dom document

Parameters:
layer_nodeis Dom node 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 145 of file qgsmaplayer.cpp.

References QgsCoordinateReferenceSystem::customSrsValidation(), QgsDataSourceURI::database(), QgsProject::instance(), mCRS, mDataSource, mID, readCustomProperties(), QgsProject::readPath(), QgsCoordinateReferenceSystem::readXML(), readXml(), QgsCoordinateReferenceSystem::setCustomSrsValidation(), QgsDataSourceURI::setDatabase(), setLayerName(), setMaximumScale(), setMinimumScale(), setTransparency(), QgsCoordinateReferenceSystem::setValidationHint(), toggleScaleBasedVisibility(), QgsDataSourceURI::uri(), and QgsCoordinateReferenceSystem::validate().

Referenced by QgsProject::_getMapLayers(), and QgsProject::read().

bool QgsMapLayer::readXml ( QDomNode &  layer_node) [protected, virtual]

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

Reimplemented in QgsRasterLayer, and QgsVectorLayer.

Definition at line 273 of file qgsmaplayer.cpp.

Referenced by readXML().

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

Referenced by QgsVectorLayer::updateExtents().

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

Synchronises with changes in the datasource.

Note:
added in version 1.6

Reimplemented in QgsRasterLayer, and QgsVectorLayer.

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

References mCustomProperties.

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

References publicSource(), and saveNamedStyle().

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

References getTransparency(), hasScaleBasedVisibility(), maximumScale(), minimumScale(), QgsVectorLayer::providerType(), QGis::QGIS_VERSION, QgsApplication::qgisSettingsDirPath(), and writeSymbology().

Referenced by saveDefaultStyle().

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

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

Referenced by QgsVectorLayer::draw(), and QgsVectorLayer::drawRendererV2().

void QgsMapLayer::setCacheImage ( QImage *  thepImage)
void QgsMapLayer::setCrs ( const QgsCoordinateReferenceSystem srs,
bool  emitSignal = true 
)

Sets layer's spatial reference system.

Note:
emitSignal added in 1.4

Definition at line 479 of file qgsmaplayer.cpp.

References layerCrsChanged(), mCRS, and srs().

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

References mCustomProperties.

Referenced by _writeColor(), _writeDataDefinedPropertyMap(), and QgsPalLayerSettings::writeToLayer().

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

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

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

void QgsMapLayer::setLayerOrder ( 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)

Definition at line 457 of file qgsmaplayer.cpp.

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

Accessor and mutator for the maximum scale member.

Definition at line 441 of file qgsmaplayer.cpp.

References mMaxScale.

Referenced by loadNamedStyle(), and readXML().

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

Accessor and mutator for the minimum scale member.

Definition at line 430 of file qgsmaplayer.cpp.

References mMinScale.

Referenced by loadNamedStyle(), and readXML().

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

Set the visibility of the given sublayer name.

Definition at line 462 of file qgsmaplayer.cpp.

void QgsMapLayer::setTransparency ( unsigned int  theInt)

Mutator for transparency level.

Should be between 0 and 255

Definition at line 491 of file qgsmaplayer.cpp.

References mTransparencyLevel.

Referenced by loadNamedStyle(), and readXML().

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

References mValid.

QString const & QgsMapLayer::source ( ) const

Returns the source for the layer.

Definition at line 125 of file qgsmaplayer.cpp.

References mDataSource.

Referenced by writeXML().

Returns layer's spatial reference system.

Note:
This method is here for API compatibility and will be deprecated in 2.0
Deprecated:
use crs()

Definition at line 472 of file qgsmaplayer.cpp.

References mCRS.

Referenced by setCrs().

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::bandStatistics(), QgsRasterLayer::QgsRasterLayer(), QgsRasterLayer::setDataProvider(), and QgsRasterLayer::showStatusMessage().

QStringList QgsMapLayer::subLayers ( ) [virtual]

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

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

Referenced by writeXML().

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

Accessor and mutator for the scale based visilibility flag.

Definition at line 420 of file qgsmaplayer.cpp.

References mScaleBasedVisibility.

Referenced by loadNamedStyle(), and readXML().

QUndoStack * QgsMapLayer::undoStack ( )

Return pointer to layer's undo stack.

Definition at line 822 of file qgsmaplayer.cpp.

References mUndoStack.

Referenced by QgsVectorLayer::commitChanges(), QgsVectorLayer::endEditCommand(), and QgsVectorLayer::rollBack().

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

Write custom properties to project file.

Added in v1.4

Definition at line 892 of file qgsmaplayer.cpp.

References mCustomProperties.

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

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 QgsRasterLayer, and QgsVectorLayer.

Referenced by saveNamedStyle().

bool QgsMapLayer::writeXML ( QDomNode &  layer_node,
QDomDocument &  document 
)

stores state in Dom node

Parameters:
layer_nodeis Dom node corresponding to ``projectlayers'' tag
documentis Dom document
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 282 of file qgsmaplayer.cpp.

References QgsDataSourceURI::database(), getTransparency(), hasScaleBasedVisibility(), QgsDataSourceURI::host(), QgsProject::instance(), maximumScale(), mCRS, minimumScale(), name(), QgsDataSourceURI::password(), QgsDataSourceURI::port(), QgsVectorLayer::providerType(), QgsDataSourceURI::setConnection(), source(), timestamp(), QgsDataSourceURI::uri(), QgsDataSourceURI::username(), writeCustomProperties(), QgsProject::writePath(), QgsCoordinateReferenceSystem::writeXML(), and writeXml().

Referenced by QgsProject::write().

bool QgsMapLayer::writeXml ( QDomNode &  layer_node,
QDomDocument &  document 
) [protected, virtual]

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

Reimplemented in QgsRasterLayer, and QgsVectorLayer.

Definition at line 380 of file qgsmaplayer.cpp.

Referenced by writeXML().


Member Data Documentation

QMap<QString, QVariant> QgsMapLayer::mCustomProperties [private]
QString QgsMapLayer::mDataSource [protected]

data source description string, varies by layer type

Definition at line 408 of file qgsmaplayer.h.

Referenced by publicSource(), readXML(), QgsVectorLayer::readXml(), QgsRasterLayer::setDataProvider(), QgsVectorLayer::setDataProvider(), QgsVectorLayer::setSubsetString(), and source().

QString QgsMapLayer::mID [private]

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

Definition at line 425 of file qgsmaplayer.h.

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

QString QgsMapLayer::mLayerName [protected]

Name of the layer - used for display.

Definition at line 411 of file qgsmaplayer.h.

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

Type of the layer (eg.

vector, raster)

Definition at line 428 of file qgsmaplayer.h.

Referenced by type().

float QgsMapLayer::mMaxScale [private]

Maximum scale at which this layer should be displayed.

Definition at line 436 of file qgsmaplayer.h.

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

float QgsMapLayer::mMinScale [private]

Minimum scale at which this layer should be displayed.

Definition at line 434 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 447 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 438 of file qgsmaplayer.h.

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

QString QgsMapLayer::mTag [private]

Tag for embedding additional information.

Definition at line 431 of file qgsmaplayer.h.

unsigned int QgsMapLayer::mTransparencyLevel [protected]
QUndoStack QgsMapLayer::mUndoStack [private]

Collection of undoable operations for this layer.

Definition at line 441 of file qgsmaplayer.h.

Referenced by undoStack().

bool QgsMapLayer::mValid [protected]

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