[QGIS Commit] r10505 - trunk/qgis/python/core

svn_qgis at osgeo.org svn_qgis at osgeo.org
Wed Apr 8 05:59:34 EDT 2009


Author: mhugent
Date: 2009-04-08 05:59:33 -0400 (Wed, 08 Apr 2009)
New Revision: 10505

Added:
   trunk/qgis/python/core/qgsvectoroverlay.sip
Log:
add sip-file for vector overlay

Added: trunk/qgis/python/core/qgsvectoroverlay.sip
===================================================================
--- trunk/qgis/python/core/qgsvectoroverlay.sip	                        (rev 0)
+++ trunk/qgis/python/core/qgsvectoroverlay.sip	2009-04-08 09:59:33 UTC (rev 10505)
@@ -0,0 +1,56 @@
+class CORE_EXPORT QgsVectorOverlay
+{
+%TypeHeaderCode
+#include "qgsvectoroverlay.h"
+%End
+  public:
+    QgsVectorOverlay( QgsVectorLayer* vl );
+    virtual ~QgsVectorOverlay();
+
+    /**Create the overlay objects contained in a view extent. Subclasses need to implement this method and assign                   width/height information to the overlay ovbjects*/
+
+    virtual void createOverlayObjects( const QgsRenderContext& renderContext ) = 0;
+
+    /**Remove the overlay objects and release their memory*/
+    void removeOverlayObjects();
+
+    /**Draw the overlay objects*/
+    virtual void drawOverlayObjects( QgsRenderContext& context ) const = 0;
+
+    /**Gives direct access to oberlay objects*/
+    QMap<int, QgsOverlayObject*>* overlayObjects() {return &mOverlayObjects;}
+
+    /**Describes the overlay type (e.g. "diagram" or "label")*/
+    virtual QString typeName() const = 0;
+
+    /**Set attribute indices necessary to fetch*/
+    void setAttributes( const QgsAttributeList& list ) {mAttributes = list;}
+
+    bool displayFlag() const {return mDisplayFlag;}
+
+    /**Display yes/no*/
+    void setDisplayFlag( bool flag ) {mDisplayFlag = flag;}
+
+    /**Restore from project file*/
+    virtual bool readXML( const QDomNode& overlayNode ) = 0;
+
+    /**Save to project file*/
+    virtual bool writeXML( QDomNode& layer_node, QDomDocument& doc ) const = 0;
+
+  protected:
+    /**Pointer to the vector layer for this overlay*/
+    QgsVectorLayer* mVectorLayer;
+
+    /**True if overlay should be displayed*/
+    bool mDisplayFlag;
+
+    /**A list with attribute indexes that are needed for overlay rendering*/
+    QgsAttributeList mAttributes;
+
+    /**Key: feature ids, value: the corresponding overlay objects. Normally, they are created for each redraw and deleted before the next redraw*/
+    QMap<int, QgsOverlayObject*> mOverlayObjects;
+
+    /**Position constraints that may be set to be persistent after redraws. Key is the feature id, value the map point
+        where the feature should be placed*/
+    QMap<int, QgsPoint> mPositionConstraints;
+};



More information about the QGIS-commit mailing list