QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgscreateannotationitemmaptool.h
Go to the documentation of this file.
1/***************************************************************************
2 qgscreateannotationitemmaptool.h
3 ------------------------
4 Date : September 2021
5 Copyright : (C) 2021 Nyall Dawson
6 Email : nyall dot dawson 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#ifndef QGSCREATEANNOTATIONITEMMAPTOOL_H
16#define QGSCREATEANNOTATIONITEMMAPTOOL_H
17
18#include "qgis_gui.h"
19#include "qgis_sip.h"
21
24
40class GUI_EXPORT QgsCreateAnnotationItemMapToolHandler : public QObject
41{
42 Q_OBJECT
43
44 public:
45
49 QgsCreateAnnotationItemMapToolHandler( QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget, QObject *parent = nullptr );
50
52
56 QgsAnnotationItem *takeCreatedItem() SIP_TRANSFERBACK;
57
61 QgsAnnotationLayer *targetLayer();
62
71 void pushCreatedItem( QgsAnnotationItem *item SIP_TRANSFER );
72
73 signals:
74
80 void itemCreated();
81
82 private:
83
84 QgsMapCanvas *mMapCanvas = nullptr;
85 QgsAdvancedDigitizingDockWidget *mCadDockWidget = nullptr;
86 std::unique_ptr< QgsAnnotationItem > mCreatedItem;
87
88};
89
103{
104 public:
105
107
112
116 virtual QgsMapTool *mapTool() = 0;
117};
118
119#endif // QGSCREATEANNOTATIONITEMMAPTOOL_H
The QgsAdvancedDigitizingDockWidget class is a dockable widget used to handle the CAD tools on top of...
Abstract base class for annotation items which are drawn with QgsAnnotationLayers.
Represents a map layer containing a set of georeferenced annotations, e.g.
A handler object for map tools which create annotation items.
An interface for map tools which create annotation items.
virtual ~QgsCreateAnnotationItemMapToolInterface()=default
virtual QgsCreateAnnotationItemMapToolHandler * handler()=0
Returns the handler object for the map tool.
virtual QgsMapTool * mapTool()=0
Returns a reference to the associated map tool.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:93
Abstract base class for all map tools.
Definition: qgsmaptool.h:71
std::unique_ptr< GEOSGeometry, GeosDeleter > unique_ptr
Scoped GEOS pointer.
Definition: qgsgeos.h:73
#define SIP_TRANSFER
Definition: qgis_sip.h:36
#define SIP_TRANSFERBACK
Definition: qgis_sip.h:48