QGIS API Documentation 3.99.0-Master (a8882ad4560)
Loading...
Searching...
No Matches
QgsMapToolSelectAnnotation Class Reference

A map tool for selecting, moving, and rotating annotations in a QgsAnnotationLayer. More...

#include <qgsmaptoolselectannotation.h>

Inheritance diagram for QgsMapToolSelectAnnotation:

Signals

void multipleItemsSelected ()
 Emitted when the selected items list has changed and multiple items are selected.
void selectedItemsChanged ()
 Emitted when the selected items list has changed.
void selectionCleared ()
 Emitted when the selected items list is cleared.
void singleItemSelected (QgsAnnotationLayer *layer, const QString &itemId)
 Emitted when the selected items list has changed and a single item is selected.
Signals inherited from QgsMapToolAdvancedDigitizing
void transientGeometryChanged (const QgsReferencedGeometry &geometry)
 Emitted whenever the geometry associated with the tool is changed, including transient (i.e.
Signals inherited from QgsMapTool
void activated ()
 Emitted when the map tool is activated.
void deactivated ()
 Emitted when the map tool is deactivated.
void messageDiscarded ()
 Emitted when the previous message from the tool should be cleared from the application message bar.
void messageEmitted (const QString &message, Qgis::MessageLevel level=Qgis::MessageLevel::Info)
 Emitted when a message should be shown to the user in the application message bar.
void reactivated ()
 Emitted when the map tool is activated, while it is already active.

Public Member Functions

 QgsMapToolSelectAnnotation (QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget)
 Constructor for QgsMapToolSelectAnnotation.
 ~QgsMapToolSelectAnnotation () override
void activate () override
 Registers this maptool with the cad dock widget.
void attemptMoveBy (QgsAnnotationItemRubberBand *annotationItemRubberBand, double deltaX, double deltaY)
 Attempts to move an annotation item.
void attemptRotateBy (QgsAnnotationItemRubberBand *annotationItemRubberBand, double deltaDegree)
 Attempts to rotate am annotation item.
void attemptSetSceneRect (QgsAnnotationItemRubberBand *annotationItemRubberBand, const QRectF &rect)
 Attempts to move and resize an annotation item.
void cadCanvasMoveEvent (QgsMapMouseEvent *event) override
 Override this method when subclassing this class.
void cadCanvasPressEvent (QgsMapMouseEvent *event) override
 Override this method when subclassing this class.
void cadCanvasReleaseEvent (QgsMapMouseEvent *event) override
 Override this method when subclassing this class.
void deactivate () override
 Unregisters this maptool from the cad dock widget.
void keyPressEvent (QKeyEvent *event) override
 Key event for overriding. Default implementation does nothing.
QList< QgsAnnotationItemRubberBand * > selectedItems () const
 Returns the current list of selected annotation item rubberband items.
Public Member Functions inherited from QgsAnnotationMapTool
 QgsAnnotationMapTool (QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget)
 Constructor for QgsAnnotationMapTool.
 ~QgsAnnotationMapTool () override=default
QgsAnnotationItemannotationItemFromId (const QString &layerId, const QString &itemId)
 Returns the annotation item matching a given pair of layer and item IDs.
QgsAnnotationLayerannotationLayerFromId (const QString &layerId)
 Returns the annotation layer matching a given ID.
const QgsRenderedAnnotationItemDetailsfindClosestItemToPoint (const QgsPointXY &mapPoint, const QList< const QgsRenderedAnnotationItemDetails * > &items, QgsRectangle &bounds)
 Returns the closest item from a list of annotation items to a given map point.
Public Member Functions inherited from QgsMapToolAdvancedDigitizing
 QgsMapToolAdvancedDigitizing (QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget)
 Creates an advanced digitizing maptool.
 ~QgsMapToolAdvancedDigitizing () override
QgsAdvancedDigitizingDockWidgetcadDockWidget () const
void canvasMoveEvent (QgsMapMouseEvent *e) override
 Catch the mouse move event, filters it, transforms it to map coordinates and send it to virtual method.
void canvasPressEvent (QgsMapMouseEvent *e) override
 Catch the mouse press event, filters it, transforms it to map coordinates and send it to virtual method.
void canvasReleaseEvent (QgsMapMouseEvent *e) override
 Catch the mouse release event, filters it, transforms it to map coordinates and send it to virtual method.
bool isAdvancedDigitizingAllowed () const
 Returns whether functionality of advanced digitizing dock widget is currently allowed.
bool isAutoSnapEnabled () const
 Returns whether mouse events (press/move/release) should automatically try to snap mouse position (according to the snapping configuration of map canvas) before passing the mouse coordinates to the tool.
virtual QgsMapLayerlayer () const
 Returns the layer associated with the map tool.
void setSnapToLayerGridEnabled (bool snapToLayerGridEnabled)
 Enables or disables snap to grid of mouse events.
bool snapToLayerGridEnabled () const
 Enables or disables snap to grid of mouse events.
bool useSnappingIndicator () const
 Returns whether the snapping indicator should automatically be used.
Public Member Functions inherited from QgsMapToolEdit
 QgsMapToolEdit (QgsMapCanvas *canvas)
QgsGeometryRubberBandcreateGeometryRubberBand (Qgis::GeometryType geometryType=Qgis::GeometryType::Line, bool alternativeBand=false) const
 Creates a geometry rubber band with the color/line width from the QGIS settings.
Flags flags () const override
 Returns the flags for the map tool.
Public Member Functions inherited from QgsMapTool
 ~QgsMapTool () override
QAction * action ()
 Returns associated action with map tool or nullptr if no action is associated.
QAbstractButton * button ()
 Returns associated button with map tool or nullptr if no button is associated.
QgsMapCanvascanvas () const
 returns pointer to the tool's map canvas
virtual void canvasDoubleClickEvent (QgsMapMouseEvent *e)
 Mouse double-click event for overriding. Default implementation does nothing.
virtual bool canvasToolTipEvent (QHelpEvent *e)
 Tooltip event for overriding.
virtual void clean ()
 convenient method to clean members
virtual bool gestureEvent (QGestureEvent *e)
 gesture event for overriding. Default implementation does nothing.
bool isActive () const
 Returns if the current map tool active on the map canvas.
virtual void keyReleaseEvent (QKeyEvent *e)
 Key event for overriding. Default implementation does nothing.
virtual void populateContextMenu (QMenu *menu)
 Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click.
virtual bool populateContextMenuWithEvent (QMenu *menu, QgsMapMouseEvent *event)
 Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click.
virtual void reactivate ()
 Called when the map tool is being activated while it is already active.
void setAction (QAction *action)
 Use this to associate a QAction to this maptool.
void setButton (QAbstractButton *button)
 Use this to associate a button to this maptool.
virtual void setCursor (const QCursor &cursor)
 Sets a user defined cursor.
QgsPointXY toMapCoordinates (QPoint point)
 Transforms a point from screen coordinates to map coordinates.
QString toolName ()
 Emit map tool changed with the old tool.
virtual void wheelEvent (QWheelEvent *e)
 Mouse wheel event for overriding. Default implementation does nothing.

Additional Inherited Members

Public Types inherited from QgsMapTool
enum  Flag { Transient = 1 << 1 , EditTool = 1 << 2 , AllowZoomRect = 1 << 3 , ShowContextMenu = 1 << 4 }
 Enumeration of flags that adjust the way the map tool operates. More...
typedef QFlags< FlagFlags
Static Public Member Functions inherited from QgsMapToolEdit
static double defaultMValue ()
 Returns default M value.
static double defaultZValue ()
 Returns default Z value.
Static Public Member Functions inherited from QgsMapTool
static double searchRadiusMM ()
 Gets search radius in mm.
static double searchRadiusMU (const QgsRenderContext &context)
 Gets search radius in map units for given context.
static double searchRadiusMU (QgsMapCanvas *canvas)
 Gets search radius in map units for given canvas.
Protected Types inherited from QgsMapToolEdit
enum  TopologicalResult { Success = 0 , InvalidCanvas = 1 , InvalidLayer = 2 }
 Result of addTopologicalPoints. More...
Protected Member Functions inherited from QgsMapToolAdvancedDigitizing
void setAdvancedDigitizingAllowed (bool allowed)
 Sets whether functionality of advanced digitizing dock widget is currently allowed.
void setAutoSnapEnabled (bool enabled)
 Sets whether mouse events (press/move/release) should automatically try to snap mouse position This method is protected because it should be a decision of the map tool and not from elsewhere.
void setUseSnappingIndicator (bool enabled)
 Sets whether a snapping indicator should automatically be used.
Protected Member Functions inherited from QgsMapToolEdit
TopologicalResult addTopologicalPoints (const QVector< QgsPoint > &vertices)
 Adds a list of vertices to other features to keep topology up to date, e.g.
Q_DECL_DEPRECATED TopologicalResult addTopologicalPoints (const QVector< QgsPointXY > &vertices)
 Adds a list of vertices to other features to keep topology up to date, e.g.
QgsRubberBandcreateRubberBand (Qgis::GeometryType geometryType=Qgis::GeometryType::Line, bool alternativeBand=false)
 Creates a rubber band with the color/line width from the QGIS settings.
QgsVectorLayercurrentVectorLayer ()
 Returns the current vector layer of the map canvas or 0.
void notifyNotEditableLayer ()
 Display a timed message bar noting the active vector layer is not editable.
void notifyNotVectorLayer ()
 Display a timed message bar noting the active layer is not vector.
Protected Member Functions inherited from QgsMapTool
 QgsMapTool (QgsMapCanvas *canvas)
 Constructor takes a map canvas as a parameter.
QgsMapLayerlayer (const QString &id)
 Returns the map layer with the matching ID, or nullptr if no layers could be found.
void setToolName (const QString &name)
 Sets the tool's name.
QPoint toCanvasCoordinates (const QgsPointXY &point) const
 Transforms a point from map coordinates to screen coordinates.
QgsPoint toLayerCoordinates (const QgsMapLayer *layer, const QgsPoint &point)
 Transforms a point from map coordinates to layer coordinates.
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 Transforms a point from map coordinates to layer coordinates.
QgsRectangle toLayerCoordinates (const QgsMapLayer *layer, const QgsRectangle &rect)
 Transforms a rect from map coordinates to layer coordinates.
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, QPoint point)
 Transforms a point from screen coordinates to layer coordinates.
QgsPoint toMapCoordinates (const QgsMapLayer *layer, const QgsPoint &point)
 Transforms a point from layer coordinates to map coordinates (which is different in case reprojection is used).
QgsPointXY toMapCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 Transforms a point from layer coordinates to map coordinates (which is different in case reprojection is used).
Static Protected Member Functions inherited from QgsMapToolEdit
static QColor digitizingFillColor ()
 Returns fill color for rubber bands (from global settings).
static QColor digitizingStrokeColor ()
 Returns stroke color for rubber bands (from global settings).
static int digitizingStrokeWidth ()
 Returns stroke width for rubber bands (from global settings).
Protected Attributes inherited from QgsMapToolAdvancedDigitizing
QgsAdvancedDigitizingDockWidgetmCadDockWidget = nullptr
Protected Attributes inherited from QgsMapTool
QAction * mAction = nullptr
 Optional pointer to an action that will be checked on map tool activation and unchecked on map tool deactivation.
QAbstractButton * mButton = nullptr
 Optional pointer to a button that will be checked on map tool activation and unchecked on map tool deactivation.
QPointer< QgsMapCanvasmCanvas
 The pointer to the map canvas.
QCursor mCursor
 The cursor used in the map tool.
QString mToolName
 The translated name of the map tool.

Detailed Description

A map tool for selecting, moving, and rotating annotations in a QgsAnnotationLayer.

Note
Not available in Python bindings
Since
QGIS 4.0

Definition at line 111 of file qgsmaptoolselectannotation.h.

Constructor & Destructor Documentation

◆ QgsMapToolSelectAnnotation()

QgsMapToolSelectAnnotation::QgsMapToolSelectAnnotation ( QgsMapCanvas * canvas,
QgsAdvancedDigitizingDockWidget * cadDockWidget )
explicit

Constructor for QgsMapToolSelectAnnotation.

Definition at line 92 of file qgsmaptoolselectannotation.cpp.

◆ ~QgsMapToolSelectAnnotation()

QgsMapToolSelectAnnotation::~QgsMapToolSelectAnnotation ( )
override

Definition at line 100 of file qgsmaptoolselectannotation.cpp.

Member Function Documentation

◆ activate()

void QgsMapToolSelectAnnotation::activate ( )
overridevirtual

Registers this maptool with the cad dock widget.

Reimplemented from QgsMapToolAdvancedDigitizing.

Definition at line 106 of file qgsmaptoolselectannotation.cpp.

◆ attemptMoveBy()

void QgsMapToolSelectAnnotation::attemptMoveBy ( QgsAnnotationItemRubberBand * annotationItemRubberBand,
double deltaX,
double deltaY )

Attempts to move an annotation item.

Parameters
annotationItemRubberBandthe annotation item rubber band
deltaXthe X-axis movement in pixel value
deltaYthe Y-axis movement in pixel value

Definition at line 555 of file qgsmaptoolselectannotation.cpp.

◆ attemptRotateBy()

void QgsMapToolSelectAnnotation::attemptRotateBy ( QgsAnnotationItemRubberBand * annotationItemRubberBand,
double deltaDegree )

Attempts to rotate am annotation item.

Parameters
annotationItemRubberBandthe annotation item rubber band
deltaDegreethe rotation value in degree

Definition at line 593 of file qgsmaptoolselectannotation.cpp.

◆ attemptSetSceneRect()

void QgsMapToolSelectAnnotation::attemptSetSceneRect ( QgsAnnotationItemRubberBand * annotationItemRubberBand,
const QRectF & rect )

Attempts to move and resize an annotation item.

Parameters
annotationItemRubberBandthe annotation item rubber band
rectthe rectangular area (in scene units) within which the annotation item will fit in

Definition at line 617 of file qgsmaptoolselectannotation.cpp.

◆ cadCanvasMoveEvent()

void QgsMapToolSelectAnnotation::cadCanvasMoveEvent ( QgsMapMouseEvent * e)
overridevirtual

Override this method when subclassing this class.

This will receive adapted events from the cad system whenever a canvasMoveEvent is triggered and it's not hidden by the cad's construction mode.

Parameters
eMouse events prepared by the cad system

Reimplemented from QgsMapToolAdvancedDigitizing.

Definition at line 126 of file qgsmaptoolselectannotation.cpp.

◆ cadCanvasPressEvent()

void QgsMapToolSelectAnnotation::cadCanvasPressEvent ( QgsMapMouseEvent * e)
overridevirtual

Override this method when subclassing this class.

This will receive adapted events from the cad system whenever a canvasPressEvent is triggered and it's not hidden by the cad's construction mode.

Parameters
eMouse events prepared by the cad system

Reimplemented from QgsMapToolAdvancedDigitizing.

Definition at line 184 of file qgsmaptoolselectannotation.cpp.

◆ cadCanvasReleaseEvent()

void QgsMapToolSelectAnnotation::cadCanvasReleaseEvent ( QgsMapMouseEvent * e)
overridevirtual

Override this method when subclassing this class.

This will receive adapted events from the cad system whenever a canvasReleaseEvent is triggered and it's not hidden by the cad's construction mode.

Parameters
eMouse events prepared by the cad system

Reimplemented from QgsMapToolAdvancedDigitizing.

Definition at line 212 of file qgsmaptoolselectannotation.cpp.

◆ deactivate()

void QgsMapToolSelectAnnotation::deactivate ( )
overridevirtual

Unregisters this maptool from the cad dock widget.

Reimplemented from QgsMapToolAdvancedDigitizing.

Definition at line 113 of file qgsmaptoolselectannotation.cpp.

◆ keyPressEvent()

void QgsMapToolSelectAnnotation::keyPressEvent ( QKeyEvent * e)
overridevirtual

Key event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 259 of file qgsmaptoolselectannotation.cpp.

◆ multipleItemsSelected

void QgsMapToolSelectAnnotation::multipleItemsSelected ( )
signal

Emitted when the selected items list has changed and multiple items are selected.

◆ selectedItems()

QList< QgsAnnotationItemRubberBand * > QgsMapToolSelectAnnotation::selectedItems ( ) const

Returns the current list of selected annotation item rubberband items.

Definition at line 363 of file qgsmaptoolselectannotation.cpp.

◆ selectedItemsChanged

void QgsMapToolSelectAnnotation::selectedItemsChanged ( )
signal

Emitted when the selected items list has changed.

◆ selectionCleared

void QgsMapToolSelectAnnotation::selectionCleared ( )
signal

Emitted when the selected items list is cleared.

◆ singleItemSelected

void QgsMapToolSelectAnnotation::singleItemSelected ( QgsAnnotationLayer * layer,
const QString & itemId )
signal

Emitted when the selected items list has changed and a single item is selected.


The documentation for this class was generated from the following files: