QGIS API Documentation  2.7.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
qgspluginlayer.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgspluginlayer.cpp
3  ---------------------
4  begin : January 2010
5  copyright : (C) 2010 by Martin Dobias
6  email : wonder dot sk at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 #include "qgspluginlayer.h"
16 
17 #include "qgsmaplayerlegend.h"
18 #include "qgsmaplayerrenderer.h"
19 
20 QgsPluginLayer::QgsPluginLayer( QString layerType, QString layerName )
21  : QgsMapLayer( PluginLayer, layerName ), mPluginLayerType( layerType )
22 {
24 }
25 
27 {
28  return mPluginLayerType;
29 }
30 
32 {
33  mExtent = extent;
34 }
35 
37 {
38  Q_UNUSED( iconSize );
39  return QgsLegendSymbologyList();
40 }
41 
47 {
48  public:
50  : QgsMapLayerRenderer( layer->id() )
51  , mLayer( layer )
52  , mRendererContext( rendererContext )
53  {}
54 
55  virtual bool render()
56  {
57  return mLayer->draw( mRendererContext );
58  }
59 
60  protected:
63 };
64 
66 {
67  return new QgsPluginLayerRenderer( this, rendererContext );
68 }
A rectangle specified with double values.
Definition: qgsrectangle.h:35
Base class for all map layer types.
Definition: qgsmaplayer.h:48
static QgsMapLayerLegend * defaultPluginLegend(QgsPluginLayer *pl)
Create new legend implementation for raster layer.
virtual QgsLegendSymbologyList legendSymbologyItems(const QSize &iconSize)
return a list of symbology items for the legend (defult implementation returns nothing) ...
QgsPluginLayer(QString layerType, QString layerName=QString())
Base class for plugin layers.
QgsPluginLayerRenderer(QgsPluginLayer *layer, QgsRenderContext &rendererContext)
virtual bool draw(QgsRenderContext &rendererContext)
This is the method that does the actual work of drawing the layer onto a paint device.
QgsRectangle mExtent
Extent of the layer.
Definition: qgsmaplayer.h:545
QString pluginLayerType()
return plugin layer type (the same as used in QgsPluginLayerRegistry)
QgsRenderContext & mRendererContext
virtual QgsMapLayerRenderer * createMapRenderer(QgsRenderContext &rendererContext)
Return new instance of QgsMapLayerRenderer that will be used for rendering of given context...
QList< QPair< QString, QPixmap > > QgsLegendSymbologyList
Contains information about the context of a rendering operation.
virtual bool render()
Do the rendering (based on data stored in the class)
Fallback layer renderer implementation for layer that do not support map renderer yet...
QString mPluginLayerType
QgsPluginLayer * mLayer
Base class for utility classes that encapsulate information necessary for rendering of map layers...
void setLegend(QgsMapLayerLegend *legend)
Assign a legend controller to the map layer.
virtual QgsRectangle extent()
Return the extent of the layer.
void setExtent(const QgsRectangle &extent)
Set the extent.