diff --git a/src/qgsmapcanvas.cpp b/src/qgsmapcanvas.cpp index 79a6c9ed80f..786331b0384 100644 --- a/src/qgsmapcanvas.cpp +++ b/src/qgsmapcanvas.cpp @@ -33,6 +33,7 @@ #include "qgspolygonsymbol.h" #include "qgslinesymbol.h" #include "qgsmapcanvas.h" +#include "qgsmaplayerinterface.h" QgsMapCanvas::QgsMapCanvas(QWidget * parent, const char *name) :QWidget(parent, name) @@ -61,6 +62,10 @@ void QgsMapCanvas::setLegend(QgsLegend * legend) void QgsMapCanvas::setDirty(bool _dirty){ dirty = _dirty; } +void QgsMapCanvas::addLayer(QgsMapLayerInterface * lyr){ + // add a maplayer interface to a layer type defined in a plugin + +} void QgsMapCanvas::addLayer(QgsMapLayer * lyr) { // give the layer a default symbol diff --git a/src/qgsmapcanvas.h b/src/qgsmapcanvas.h index 29bf868b6fc..3017647cb30 100644 --- a/src/qgsmapcanvas.h +++ b/src/qgsmapcanvas.h @@ -28,6 +28,7 @@ class QRect; class QgsCoordinateTransform; class QgsMapLayer; +class QgsMapLayerInterface; class QMouseEvent; class QgsLegend; class QColor; @@ -50,6 +51,7 @@ public: * @param lyr Pointer to a layer derived from QgsMapLayer */ void addLayer(QgsMapLayer *lyr); + void addLayer(QgsMapLayerInterface *lyr); /*! Draw the map using the symbology set for each layer */ void render(); diff --git a/src/qgsmaplayerinterface.h b/src/qgsmaplayerinterface.h index 945f086ffba..518465ea938 100644 --- a/src/qgsmaplayerinterface.h +++ b/src/qgsmaplayerinterface.h @@ -28,7 +28,10 @@ virtual void setQgisMainWindow(QMainWindow *qgis) = 0; virtual int getInt()=0; // setup the plugin's GUI virtual void initGui()=0; +// unload the plugin virtual void unload()=0; +// draw function +virtual void draw() = 0; }; #endif // QGSMAPLAYERINTERFACE_H