mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-01 00:05:25 -04:00
This commit implements a new QgsAnnotationManager class, which handles storage, writing and retrieval of annotations. QgsProject has an annotationManager() attached to it. Map canvases sync their visible QgsMapCanvasAnnotationItems to the annotations contained within the project's annotation manager. This moves all management, storage and retrieval of annotations up to core and out of app/canvas.
25 lines
684 B
Plaintext
25 lines
684 B
Plaintext
class QgsAnnotationManager : QObject
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsannotationmanager.h>
|
|
%End
|
|
public:
|
|
|
|
explicit QgsAnnotationManager( QgsProject* project = nullptr );
|
|
~QgsAnnotationManager();
|
|
|
|
bool addAnnotation( QgsAnnotation* annotation /Transfer/ );
|
|
bool removeAnnotation( QgsAnnotation* annotation );
|
|
void clear();
|
|
QList< QgsAnnotation* > annotations() const;
|
|
bool readXml( const QDomElement& element, const QDomDocument& doc );
|
|
QDomElement writeXml( QDomDocument& doc ) const;
|
|
|
|
signals:
|
|
|
|
void annotationAdded( QgsAnnotation* annotation );
|
|
void annotationRemoved();
|
|
void annotationAboutToBeRemoved( QgsAnnotation* annotation );
|
|
|
|
};
|