Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
add sip-file for vector overlay
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@10505 c8812cc2-4d05-0410-92ff-de0c093fc19c
- Loading branch information
@@ -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; | ||
}; |