Quantum GIS API Documentation
1.8
|
Base class for all map layer types. More...
#include <qgsmaplayer.h>
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 QString | metadata () |
Obtain Metadata for this layer. | |
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. | |
void | setTitle (const QString &title) |
const QString & | title () const |
void | setAbstract (const QString &abstract) |
const QString & | abstract () const |
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 () const |
Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS) | |
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. | |
virtual bool | isEditable () const |
True if the layer can be edited. | |
bool | readXML (const 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 () const |
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 | 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 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 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. | |
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 (const 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. | |
QString | mTitle |
QString | mAbstract |
Description of the layer. | |
Private Member Functions | |
QgsMapLayer (QgsMapLayer const &) | |
private copy constructor - QgsMapLayer not copyable | |
QgsMapLayer & | operator= (QgsMapLayer const &) |
private assign operator - QgsMapLayer not copyable | |
Private Attributes | |
QgsCoordinateReferenceSystem * | mCRS |
layer's spatial reference system. | |
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. |
Base class for all map layer types.
This is the base class for all map layer types (vector, raster).
Definition at line 42 of file qgsmaplayer.h.
Layers enum defining the types of layers that can be added to a map.
Reimplemented in QgsRasterLayer.
Definition at line 48 of file qgsmaplayer.h.
QgsMapLayer::QgsMapLayer | ( | QgsMapLayer::LayerType | type = VectorLayer , |
QString | lyrname = QString::null , |
||
QString | source = QString::null |
||
) |
Constructor.
type | Type of layer as defined in QgsMapLayer::LayerType enum |
lyrname | Display Name of the layer |
source | datasource of layer |
Definition at line 43 of file qgsmaplayer.cpp.
References capitaliseLayerName(), mCRS, mID, mLayerName, mMaxScale, mMinScale, mpCacheImage, mScaleBasedVisibility, and QgsDebugMsg.
QgsMapLayer::~QgsMapLayer | ( | ) | [virtual] |
QgsMapLayer::QgsMapLayer | ( | QgsMapLayer const & | ) | [private] |
private copy constructor - QgsMapLayer not copyable
const QString& QgsMapLayer::abstract | ( | ) | const [inline] |
Definition at line 94 of file qgsmaplayer.h.
QImage* QgsMapLayer::cacheImage | ( | ) | [inline] |
Get the QImage used for caching render operations.
Definition at line 328 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 537 of file qgsmaplayer.cpp.
Referenced by QgsMapLayer(), and setLayerName().
void QgsMapLayer::clearCacheImage | ( | ) | [slot] |
Clear cached image added in 1.5.
Definition at line 1152 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 443 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.
const QgsCoordinateReferenceSystem & QgsMapLayer::crs | ( | ) | const |
Returns layer's spatial reference system.
Definition at line 501 of file qgsmaplayer.cpp.
References mCRS.
Referenced by QgsPalLabeling::addDiagramLayer(), QgsVectorLayer::addTopologicalPoints(), QgsGeometryAnalyzer::buffer(), QgsGeometryAnalyzer::centroids(), QgsGeometryAnalyzer::convexHull(), QgsGeometryAnalyzer::dissolve(), QgsRasterLayer::draw(), QgsGeometryAnalyzer::eventLayer(), QgsGeometryAnalyzer::extent(), QgsVectorLayerImport::importLayer(), QgsOverlayAnalyzer::intersection(), QgsLineVectorLayerDirector::makeGraph(), QgsRasterLayer::metadata(), QgsVectorLayer::metadata(), QgsPalLabeling::prepareLayer(), QgsRasterCalculator::processCalculation(), QgsRasterLayer::QgsRasterLayer(), QgsRasterLayer::readXml(), QgsMapRenderer::render(), QgsRasterLayer::setDataProvider(), QgsGeometryAnalyzer::simplify(), QgsVectorLayer::snapToGeometry(), QgsMapRenderer::tr(), and QgsVectorFileWriter::writeAsVectorFormat().
QVariant QgsMapLayer::customProperty | ( | const QString & | value, |
const QVariant & | defaultValue = QVariant() |
||
) | const |
Read a custom property from layer.
Properties are stored in a map and saved in project file.
Definition at line 1048 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.
rendererContext | describes the extents, resolumon etc. that should be used when rendering the layer. |
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
Definition at line 134 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.
Reimplemented in QgsVectorLayer.
Definition at line 140 of file qgsmaplayer.cpp.
Referenced by QgsMapRenderer::render().
QgsRectangle QgsMapLayer::extent | ( | ) | const |
Return the extent of the layer as a QRect.
Definition at line 129 of file qgsmaplayer.cpp.
References mLayerExtent.
Referenced by QgsGeometryAnalyzer::extent(), QgsVectorLayer::metadata(), 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.
Definition at line 78 of file qgsmaplayer.h.
unsigned int QgsMapLayer::getTransparency | ( | ) |
Accessor for transparency level.
Definition at line 527 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.
bool QgsMapLayer::hasScaleBasedVisibility | ( | ) | [slot] |
Definition at line 456 of file qgsmaplayer.cpp.
References mScaleBasedVisibility.
Referenced by QgsMapRenderer::render(), saveNamedStyle(), and writeXML().
QString QgsMapLayer::id | ( | ) | const |
Get this layer's unique ID, this ID is used to access this layer from map layer registry.
Get this layer's unique ID.
Definition at line 96 of file qgsmaplayer.cpp.
References mID.
Referenced by QgsPalLabeling::addDiagramLayer(), QgsLegendModel::addLayer(), QgsMapLayerRegistry::addMapLayers(), QgsLegendModel::addRasterLayerItems(), QgsLegendModel::addVectorLayerItems(), QgsPalLabeling::prepareLayer(), QgsComposerAttributeTable::removeLayer(), QgsPluginLayerRegistry::removePluginLayerType(), QgsMapCanvas::setLayerSet(), QgsProject::write(), QgsFormAnnotationItem::writeXML(), and QgsComposerAttributeTable::writeXML().
void QgsMapLayer::invalidTransformInput | ( | ) | [virtual, slot] |
Event handler for when a coordinate transform fails due to bad vertex error.
Definition at line 426 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 1142 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
Definition at line 420 of file qgsmaplayer.cpp.
References mValid.
Referenced by QgsProject::addLayer(), QgsMapLayerRegistry::addMapLayers(), QgsGeometryAnalyzer::eventLayer(), 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 438 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 433 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)
theResultFlag | a reference to a flag that will be set to false if we did not manage to load the default style. |
Definition at line 595 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)
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. |
theResultFlag | a reference to a flag that will be set to false if we did not manage to load the default style. |
Definition at line 644 of file qgsmaplayer.cpp.
References QgsProject::instance(), loadNamedStyleFromDb(), QgsApplication::pkgDataPath(), publicSource(), 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 600 of file qgsmaplayer.cpp.
References QgsDebugMsg.
Referenced by loadNamedStyle().
QString QgsMapLayer::loadSldStyle | ( | const QString | theURI, |
bool & | theResultFlag | ||
) | [virtual] |
Definition at line 975 of file qgsmaplayer.cpp.
References QgsDebugMsg, and readSld().
float QgsMapLayer::maximumScale | ( | ) | [slot] |
Definition at line 477 of file qgsmaplayer.cpp.
References mMaxScale.
Referenced by QgsMapRenderer::render(), saveNamedStyle(), and writeXML().
QString QgsMapLayer::metadata | ( | ) | [virtual, slot] |
Obtain Metadata for this layer.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
Definition at line 1157 of file qgsmaplayer.cpp.
float QgsMapLayer::minimumScale | ( | ) | [slot] |
Definition at line 466 of file qgsmaplayer.cpp.
References mMinScale.
Referenced by QgsMapRenderer::render(), saveNamedStyle(), and writeXML().
QString const & QgsMapLayer::name | ( | ) | const |
Get the display name of the layer.
Read property of QString layerName.
Definition at line 110 of file qgsmaplayer.cpp.
References mLayerName, and QgsDebugMsgLevel.
Referenced by QgsVectorLayer::addAttributeAlias(), QgsLegendModel::addLayer(), QgsVectorLayer::attributeAlias(), QgsRasterLayer::bandStatistics(), QgsVectorLayer::checkedState(), QgsVectorLayer::commitChanges(), QgsVectorLayer::editType(), QgsVectorLayer::hasCompatibleSymbology(), QgsRasterLayer::legendAsPixmap(), QgsQuickPrint::printMap(), QgsQueryBuilder::QgsQueryBuilder(), QgsSearchQueryBuilder::QgsSearchQueryBuilder(), QgsRasterLayer::readData(), QgsVectorLayer::readSymbology(), QgsMapRenderer::render(), QgsVectorLayer::setCheckedState(), setCrs(), QgsRasterLayer::setDataProvider(), QgsVectorLayer::setDataProvider(), QgsVectorLayer::setEditType(), QgsMapCanvas::showError(), QgsMapRenderer::updateFullExtent(), QgsLegendModel::updateLayer(), QgsFeatureRendererV2::writeSld(), QgsVectorLayer::writeSld(), QgsVectorLayer::writeSymbology(), and writeXML().
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 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
layerNode | note to read from |
keyStartsWith | reads only properties starting with the specified string (or all if the string is empty) |
Definition at line 1058 of file qgsmaplayer.cpp.
References mCustomProperties.
Referenced by QgsVectorLayer::readSymbology(), and readXML().
virtual bool QgsMapLayer::readSld | ( | const QDomNode & | node, |
QString & | errorMessage | ||
) | [inline, virtual] |
Reimplemented in QgsVectorLayer.
Definition at line 304 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.
node | node that will contain the symbology definition for this layer. |
errorMessage | reference to string that will be updated with any error messages |
Implemented in QgsRasterLayer, and QgsVectorLayer.
Referenced by loadNamedStyle().
bool QgsMapLayer::readXML | ( | const QDomNode & | layer_node | ) |
sets state from Dom document
layer_node | is Dom node corresponding to ``maplayer'' tag |
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().
Definition at line 146 of file qgsmaplayer.cpp.
References QgsCoordinateReferenceSystem::customSrsValidation(), QgsDataSourceURI::database(), file, QgsProject::instance(), mAbstract, mCRS, mDataSource, mID, mTitle, 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::addLayer().
bool QgsMapLayer::readXml | ( | const 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 288 of file qgsmaplayer.cpp.
Referenced by readXML().
void QgsMapLayer::recalculateExtents | ( | ) | [signal] |
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.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
Definition at line 98 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.
Definition at line 1053 of file qgsmaplayer.cpp.
References mCustomProperties.
void QgsMapLayer::repaintRequested | ( | ) | [signal] |
This signal should be connected with the slot QgsMapCanvas::refresh()
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)
theResultFlag | a reference to a flag that will be set to false if we did not manage to save the default style. |
Definition at line 728 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)
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 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. |
theResultFlag | a reference to a flag that will be set to false if we did not manage to save the default style. |
Definition at line 733 of file qgsmaplayer.cpp.
References getTransparency(), hasScaleBasedVisibility(), maximumScale(), minimumScale(), QgsVectorLayer::providerType(), QGis::QGIS_VERSION, QgsApplication::qgisSettingsDirPath(), and writeSymbology().
Referenced by saveDefaultStyle().
QString QgsMapLayer::saveSldStyle | ( | const QString | theURI, |
bool & | theResultFlag | ||
) | [virtual] |
Definition at line 895 of file qgsmaplayer.cpp.
References QgsVectorLayer::providerType(), and QgsVectorLayer::writeSld().
void QgsMapLayer::screenUpdateRequested | ( | ) | [signal] |
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::setAbstract | ( | const QString & | abstract | ) | [inline] |
Definition at line 93 of file qgsmaplayer.h.
void QgsMapLayer::setCacheImage | ( | QImage * | thepImage | ) |
Set the QImage used for caching render operations.
Definition at line 1129 of file qgsmaplayer.cpp.
References mpCacheImage, and QgsDebugMsg.
Referenced by QgsVectorLayer::addFeatures(), clearCacheImage(), QgsVectorLayer::commitChanges(), QgsVectorLayer::deleteSelectedFeatures(), QgsVectorLayer::deselect(), QgsVectorLayer::invertSelection(), QgsVectorLayer::invertSelectionInRectangle(), QgsVectorLayer::removeSelection(), QgsMapRenderer::render(), QgsVectorLayer::rollBack(), QgsVectorLayer::select(), QgsVectorLayer::setSelectedFeatures(), and QgsVectorLayer::setSubsetString().
void QgsMapLayer::setCrs | ( | const QgsCoordinateReferenceSystem & | srs, |
bool | emitSignal = true |
||
) |
Sets layer's spatial reference system.
Definition at line 513 of file qgsmaplayer.cpp.
References QgsCoordinateReferenceSystem::isValid(), layerCrsChanged(), mCRS, name(), QgsCoordinateReferenceSystem::setValidationHint(), srs(), and QgsCoordinateReferenceSystem::validate().
Referenced by QgsVectorLayer::setCoordinateSystem(), and QgsRasterLayer::setDataProvider().
void QgsMapLayer::setCustomProperty | ( | const QString & | key, |
const QVariant & | value | ||
) |
Set a custom property for layer.
Properties are stored in a map and saved in project file.
Definition at line 1043 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.
name | New name for the layer |
Definition at line 102 of file qgsmaplayer.cpp.
References capitaliseLayerName(), layerNameChanged(), mLayerName, and QgsDebugMsg.
Referenced by readXML(), 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 488 of file qgsmaplayer.cpp.
void QgsMapLayer::setMaximumScale | ( | float | theMaxScale | ) | [slot] |
Accessor and mutator for the maximum scale member.
Definition at line 472 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 461 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.
Reimplemented in QgsRasterLayer.
Definition at line 494 of file qgsmaplayer.cpp.
void QgsMapLayer::setTitle | ( | const QString & | title | ) | [inline] |
Definition at line 90 of file qgsmaplayer.h.
void QgsMapLayer::setTransparency | ( | unsigned int | theInt | ) |
Mutator for transparency level.
Should be between 0 and 255
Definition at line 532 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.
Definition at line 1147 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 writeXML().
const QgsCoordinateReferenceSystem & QgsMapLayer::srs | ( | ) |
Returns layer's spatial reference system.
Definition at line 506 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().
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)
Definition at line 552 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 483 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 358 of file qgsmaplayer.h.
Referenced by writeXML().
const QString& QgsMapLayer::title | ( | ) | const [inline] |
Definition at line 91 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 451 of file qgsmaplayer.cpp.
References mScaleBasedVisibility.
Referenced by loadNamedStyle(), and readXML().
QgsMapLayer::LayerType QgsMapLayer::type | ( | ) | const |
Get the type of the layer.
Definition at line 90 of file qgsmaplayer.cpp.
References mLayerType.
Referenced by QgsVectorLayer::addAttribute(), QgsLegendModel::addLayer(), QgsRasterLayer::copySymbologySettings(), QgsVectorLayer::geometryType(), QgsVectorLayer::hasCompatibleSymbology(), QgsRasterLayer::hasCompatibleSymbology(), QgsVectorLayer::metadata(), QgsPluginLayerRegistry::removePluginLayerType(), QgsMapRenderer::render(), and QgsVectorLayer::setEditType().
QUndoStack * QgsMapLayer::undoStack | ( | ) |
Return pointer to layer's undo stack.
Definition at line 1037 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 1107 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.
node | the node that will have the style element added to it. |
doc | the document that will have the QDomNode added. |
errorMessage | reference to string that will be updated with any error messages |
Implemented in QgsRasterLayer, and QgsVectorLayer.
Referenced by saveNamedStyle().
bool QgsMapLayer::writeXML | ( | QDomNode & | layer_node, |
QDomDocument & | document | ||
) |
stores state in Dom node
layer_node | is Dom node corresponding to ``projectlayers'' tag |
document | is Dom document |
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().
Definition at line 298 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(), title(), 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 408 of file qgsmaplayer.cpp.
Referenced by writeXML().
QString QgsMapLayer::mAbstract [protected] |
QgsCoordinateReferenceSystem* QgsMapLayer::mCRS [private] |
layer's spatial reference system.
private to make sure setCrs must be used and layerCrsChanged() is emitted
Definition at line 443 of file qgsmaplayer.h.
Referenced by crs(), QgsMapLayer(), readXML(), setCrs(), srs(), writeXML(), and ~QgsMapLayer().
QMap<QString, QVariant> QgsMapLayer::mCustomProperties [private] |
Definition at line 470 of file qgsmaplayer.h.
Referenced by customProperty(), readCustomProperties(), removeCustomProperty(), setCustomProperty(), and writeCustomProperties().
QString QgsMapLayer::mDataSource [protected] |
data source description string, varies by layer type
Definition at line 430 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 452 of file qgsmaplayer.h.
Referenced by id(), QgsMapLayer(), and readXML().
QgsRectangle QgsMapLayer::mLayerExtent [protected] |
Extent of the layer.
Definition at line 424 of file qgsmaplayer.h.
Referenced by QgsRasterLayer::draw(), extent(), QgsRasterLayer::setDataProvider(), QgsVectorLayer::setDataProvider(), QgsPluginLayer::setExtent(), and QgsVectorLayer::updateExtents().
QString QgsMapLayer::mLayerName [protected] |
Name of the layer - used for display.
Definition at line 433 of file qgsmaplayer.h.
Referenced by name(), QgsMapLayer(), QgsRasterLayer::setDataProvider(), and setLayerName().
Type of the layer (eg.
vector, raster)
Definition at line 455 of file qgsmaplayer.h.
Referenced by type().
float QgsMapLayer::mMaxScale [private] |
Maximum scale at which this layer should be displayed.
Definition at line 463 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 461 of file qgsmaplayer.h.
Referenced by minimumScale(), QgsMapLayer(), and setMinimumScale().
QImage* QgsMapLayer::mpCacheImage [private] |
QImage for caching of rendering operations.
Definition at line 474 of file qgsmaplayer.h.
Referenced by QgsMapLayer(), setCacheImage(), and ~QgsMapLayer().
bool QgsMapLayer::mScaleBasedVisibility [private] |
A flag that tells us whether to use the above vars to restrict layer visibility.
Definition at line 465 of file qgsmaplayer.h.
Referenced by hasScaleBasedVisibility(), QgsMapLayer(), and toggleScaleBasedVisibility().
QString QgsMapLayer::mTag [private] |
Tag for embedding additional information.
Definition at line 458 of file qgsmaplayer.h.
QString QgsMapLayer::mTitle [protected] |
Definition at line 435 of file qgsmaplayer.h.
Referenced by readXML().
unsigned int QgsMapLayer::mTransparencyLevel [protected] |
Transparency level for this layer should be 0-255 (255 being opaque)
Definition at line 421 of file qgsmaplayer.h.
Referenced by QgsRasterLayer::draw(), QgsVectorLayer::draw(), QgsVectorLayer::drawLineString(), QgsRasterLayer::drawMultiBandColor(), QgsRasterLayer::drawPalettedSingleBandColor(), QgsRasterLayer::drawPalettedSingleBandGray(), QgsRasterLayer::drawPalettedSingleBandPseudoColor(), QgsVectorLayer::drawPolygon(), QgsRasterLayer::drawSingleBandColorData(), QgsRasterLayer::drawSingleBandGray(), QgsRasterLayer::drawSingleBandPseudoColor(), getTransparency(), and setTransparency().
QUndoStack QgsMapLayer::mUndoStack [private] |
Collection of undoable operations for this layer.
Definition at line 468 of file qgsmaplayer.h.
Referenced by undoStack().
bool QgsMapLayer::mValid [protected] |
Indicates if the layer is valid and can be drawn.
Definition at line 427 of file qgsmaplayer.h.
Referenced by QgsRasterLayer::closeDataProvider(), isValid(), QgsRasterLayer::QgsRasterLayer(), QgsVectorLayer::QgsVectorLayer(), QgsRasterLayer::readFile(), QgsVectorLayer::readXml(), QgsRasterLayer::setDataProvider(), QgsVectorLayer::setDataProvider(), setValid(), QgsRasterLayer::update(), QgsRasterLayer::~QgsRasterLayer(), and QgsVectorLayer::~QgsVectorLayer().