QGIS API Documentation  2.6.0-Brighton
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
QgsPluginLayer Class Reference

Base class for plugin layers. More...

#include <qgspluginlayer.h>

Inheritance diagram for QgsPluginLayer:
Inheritance graph
[legend]

Public Member Functions

 QgsPluginLayer (QString layerType, QString layerName=QString())
QString pluginLayerType ()
 return plugin layer type (the same as used in QgsPluginLayerRegistry)
void setExtent (const QgsRectangle &extent)
 Set the extent.
virtual QgsLegendSymbologyList legendSymbologyItems (const QSize &iconSize)
 return a list of symbology items for the legend (defult implementation returns nothing)
virtual QgsMapLayerRenderercreateMapRenderer (QgsRenderContext &rendererContext)
 Return new instance of QgsMapLayerRenderer that will be used for rendering of given context.
- Public Member Functions inherited from QgsMapLayer
 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.
void setLayerName (const QString &name)
 Set the display name of the layer.
const QString & name () const
 Get the display name of the layer.
const QString & originalName () const
 Get the original name of the layer.
void setTitle (const QString &title)
const QString & title () const
void setAbstract (const QString &abstract)
const QString & abstract () const
void setKeywordList (const QString &keywords)
const QString & keywordList () const
void setDataUrl (const QString &dataUrl)
const QString & dataUrl () const
void setDataUrlFormat (const QString &dataUrlFormat)
const QString & dataUrlFormat () const
void setAttribution (const QString &attrib)
const QString & attribution () const
void setAttributionUrl (const QString &attribUrl)
const QString & attributionUrl () const
void setMetadataUrl (const QString &metaUrl)
const QString & metadataUrl () const
void setMetadataUrlType (const QString &metaUrlType)
const QString & metadataUrlType () const
void setMetadataUrlFormat (const QString &metaUrlFormat)
const QString & metadataUrlFormat () const
void setBlendMode (const QPainter::CompositionMode &blendMode)
 Write blend mode for layer.
QPainter::CompositionMode blendMode () const
 Read blend mode for 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.
virtual QgsRectangle extent ()
 Return the extent of the layer.
bool isValid ()
QString publicSource () const
const QString & 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 readLayerXML (const QDomElement &layerElement)
 sets state from Dom document
bool writeLayerXML (QDomElement &layerElement, QDomDocument &document, QString relativeBasePath=QString::null)
 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 Q_DECL_DEPRECATED QString lastErrorTitle ()
virtual Q_DECL_DEPRECATED QString lastError ()
virtual QgsError error () const
 Get current status error.
const
QgsCoordinateReferenceSystem
crs () const
 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 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 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.
void setLegendUrl (const QString &legendUrl)
const QString & legendUrl () const
void setLegendUrlFormat (const QString &legendUrlFormat)
const QString & legendUrlFormat () const
Q_DECL_DEPRECATED QImage * cacheImage ()
Q_DECL_DEPRECATED void setCacheImage (QImage *)
virtual Q_DECL_DEPRECATED void onCacheImageDelete ()
void setLegend (QgsMapLayerLegend *legend)
 Assign a legend controller to the map layer.
QgsMapLayerLegendlegend () const
 Can be null.

Protected Attributes

QString mPluginLayerType
- Protected Attributes inherited from QgsMapLayer
QgsRectangle mExtent
 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 mLayerOrigName
 Original name of the layer.
QString mTitle
QString mAbstract
 Description of the layer.
QString mKeywordList
QString mDataUrl
 DataUrl of the layer.
QString mDataUrlFormat
QString mAttribution
 Attribution of the layer.
QString mAttributionUrl
QString mMetadataUrl
 MetadataUrl of the layer.
QString mMetadataUrlType
QString mMetadataUrlFormat
QString mLegendUrl
 WMS legend.
QString mLegendUrlFormat
QgsError mError
 Error.

Additional Inherited Members

- Public Types inherited from QgsMapLayer
enum  LayerType { VectorLayer, RasterLayer, PluginLayer }
 Layers enum defining the types of layers that can be added to a map. More...
- Public Slots inherited from QgsMapLayer
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 denominator member.
float minimumScale () const
void setMaximumScale (float theMaxScale)
 Accessor and mutator for the maximum scale denominator member.
float maximumScale () const
void toggleScaleBasedVisibility (bool theVisibilityFlag)
 Accessor and mutator for the scale based visilibility flag.
bool hasScaleBasedVisibility () const
Q_DECL_DEPRECATED void clearCacheImage ()
 Clear cached image.
void triggerRepaint ()
 Will advice the map canvas (and any other interested party) that this layer requires to be repainted.
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 inherited from QgsMapLayer
void drawingProgress (int theProgress, int theTotalSteps)
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.
void repaintRequested ()
 By emitting this signal the layer tells that either appearance or content have been changed and any view showing the rendered layer should refresh itself.
void screenUpdateRequested ()
void recalculateExtents ()
 This is used to send a request that any mapcanvas using this layer update its extents.
void dataChanged ()
 data of layer changed
void blendModeChanged (const QPainter::CompositionMode &blendMode)
 Signal emitted when the blend mode is changed, through QgsMapLayer::setBlendMode()
void rendererChanged ()
 Signal emitted when renderer is changed.
void legendChanged ()
 Signal emitted when legend of the layer has changed.
- Static Public Member Functions inherited from QgsMapLayer
static QDomDocument asLayerDefinition (QList< QgsMapLayer * > layers, QString relativeBasePath=QString::null)
 Returns the given layer as a layer definition document Layer definitions store the data source as well as styling and custom properties.
static QList< QgsMapLayer * > fromLayerDefinition (QDomDocument &document)
 Creates a new layer from a layer defininition document.
static QList< QgsMapLayer * > fromLayerDefinitionFile (const QString qlrfile)
static QString capitaliseLayerName (const QString &name)
 A convenience function to (un)capitalise the layer name.
- Protected Member Functions inherited from QgsMapLayer
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 readLayerXML(), used by children to read state specific to them from project files.
virtual bool writeXml (QDomNode &layer_node, QDomDocument &document)
 called by writeLayerXML(), 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
void appendError (const QgsErrorMessage &theMessage)
 Add error message.
void setError (const QgsError &theError)
 Set error message.

Detailed Description

Base class for plugin layers.

These can be implemented by plugins and registered in QgsPluginLayerRegistry.

In order to be readable from project files, they should set these attributes in layer DOM node: "type" = "plugin" "name" = "your_layer_type"

Constructor & Destructor Documentation

QgsPluginLayer::QgsPluginLayer ( QString  layerType,
QString  layerName = QString() 
)

Member Function Documentation

QgsMapLayerRenderer * QgsPluginLayer::createMapRenderer ( QgsRenderContext rendererContext)
virtual

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

The default implementation returns map layer renderer which just calls draw(). This may work, but it is unsafe for multi-threaded rendering because of the run conditions that may happen (e.g. something is changed in the layer while it is being rendered).

Note
added in 2.4

Reimplemented from QgsMapLayer.

QgsLegendSymbologyList QgsPluginLayer::legendSymbologyItems ( const QSize &  iconSize)
virtual

return a list of symbology items for the legend (defult implementation returns nothing)

Note
Added in v2.1
QString QgsPluginLayer::pluginLayerType ( )

return plugin layer type (the same as used in QgsPluginLayerRegistry)

void QgsPluginLayer::setExtent ( const QgsRectangle rect)
virtual

Set the extent.

Reimplemented from QgsMapLayer.

Member Data Documentation

QString QgsPluginLayer::mPluginLayerType
protected

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