17#ifndef QGSMAPTOOLMODIFYANNOTATION_H
18#define QGSMAPTOOLMODIFYANNOTATION_H
37class QgsAnnotationItemNodesSpatialIndex;
78 void onCanvasRefreshed();
88 void clearHoveredItem();
89 void clearSelectedItem();
90 void createHoverBand();
91 void createHoveredNodeBand();
92 void createSelectedItemBand();
94 void setHoveredItemFromPoint(
const QgsPointXY &mapPoint );
115 static QgsPointXY oppositeVertexMapPoint(
const QList<QgsAnnotationItemNode> &nodes,
int draggedVertex,
bool &found );
124 Action mCurrentAction = Action::NoAction;
126 std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
129 std::vector<QObjectUniquePtr<QgsRubberBand>> mHoveredItemNodeRubberBands;
132 QList<QgsAnnotationItemNode> mHoveredItemNodes;
139 QPoint mLastHoverPoint;
140 QString mHoveredItemId;
141 QString mHoveredItemLayerId;
144 QString mSelectedItemId;
145 QString mSelectedItemLayerId;
148 std::unique_ptr<QgsAnnotationItemNodesSpatialIndex> mHoveredItemNodesSpatialIndex;
154 bool mRefreshSelectedItemAfterRedraw =
false;
Keeps a pointer to a QObject and deletes it whenever this object is deleted.
Contains information about a node used for editing an annotation item.
Abstract base class for annotation items which are drawn with QgsAnnotationLayers.
Represents a map layer containing a set of georeferenced annotations, e.g.
Abstract base class for annotation items which render annotations in a rectangular shape.
Map canvas is a class for displaying all GIS data types on a canvas.
A mouse event which is the result of a user interaction with a QgsMapCanvas.
Perform transforms between map coordinates and device coordinates.
A rectangle specified with double values.
Contains information about a rendered annotation item.
Responsible for drawing transient features (e.g.
Shows a snapping marker on map canvas for the current snapping match.