QGIS API Documentation 4.1.0-Master (4aad578bf8d)
Loading...
Searching...
No Matches
QgsMapToolSelect Class Reference

A map tool for selecting features on a map canvas. More...

#include <qgsmaptoolselect.h>

Inheritance diagram for QgsMapToolSelect:

Public Types

enum  Mode {
  GeometryIntersectsSetSelection , GeometryIntersectsAddToSelection , GeometryIntersectsSubtractFromSelection , GeometryIntersectsIntersectWithSelection ,
  GeometryWithinSetSelection , GeometryWithinAddToSelection , GeometryWithinSubtractFromSelection , GeometryWithinIntersectWithSelection
}
 Define selection modes used by the different combinations of modifiers. More...
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
enum class  PropertyStatus { Valid , DoesNotExist , CurrentExpressionInvalid }
 Property status used in method dealing with property. More...

Signals

void modeChanged (QgsMapToolSelect::Mode mode)
 Emitted when the selection mode changes, usually when qt modifiers are changed.
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

 QgsMapToolSelect (QgsMapCanvas *canvas)
 A map tool for selecting features on a map canvas.
void canvasMoveEvent (QgsMapMouseEvent *e) override
 Mouse move event for overriding. Default implementation does nothing.
void canvasPressEvent (QgsMapMouseEvent *e) override
 Mouse press event for overriding. Default implementation does nothing.
void canvasReleaseEvent (QgsMapMouseEvent *e) override
 Mouse release event for overriding. Default implementation does nothing.
void deactivate () override
 called when map tool is being deactivated
Flags flags () const override
 Returns the flags for the map tool.
void keyPressEvent (QKeyEvent *e) override
 Key event for overriding. Default implementation does nothing.
void keyReleaseEvent (QKeyEvent *e) override
 Key event for overriding. Default implementation does nothing.
bool populateContextMenuWithEvent (QMenu *menu, QgsMapMouseEvent *event) override
 Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click.
void setSelectionMode (QgsMapToolSelectionHandler::SelectionMode selectionMode)
 Sets the current selection mode.
Public Member Functions inherited from QgsMapTool
 ~QgsMapTool () override
QAction * action ()
 Returns associated action with map tool or nullptr if no action is associated.
virtual void activate ()
 called when set as currently active map tool
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
int dataDefinedColumnIndex (int propertyKey, const QgsPropertyCollection &properties, const QgsVectorLayer *vlayer) const
 Returns data defined property column index for the propertyKey from properties associated to the layer.
QString dataDefinedColumnName (int propertyKey, const QgsPropertyCollection &properties, const QgsVectorLayer *layer, PropertyStatus &status) const
 Returns data defined property column name for the propertyKey from properties associated to the layer status is updated with current property status.
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 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 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.
virtual bool shortcutEvent (QKeyEvent *e)
 Shortcut events coming from the application for overriding.
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

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.
Static Public Attributes inherited from QgsMapTool
static const QgsSettingsEntryDoublesettingSearchRadiusMM = new QgsSettingsEntryDouble( u"search-radius-mm"_s, QgsSettingsTree::sTreeMap, Qgis::DEFAULT_SEARCH_RADIUS_MM, u"Search/identify radius in millimeters"_s )
 Settings entry for the search/identify radius in mm.
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).
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 features on a map canvas.

See also
QgsMapTool
Since
QGIS 4.2

Definition at line 38 of file qgsmaptoolselect.h.

Member Enumeration Documentation

◆ Mode

Define selection modes used by the different combinations of modifiers.

Enumerator
GeometryIntersectsSetSelection 
GeometryIntersectsAddToSelection 
GeometryIntersectsSubtractFromSelection 
GeometryIntersectsIntersectWithSelection 
GeometryWithinSetSelection 
GeometryWithinAddToSelection 
GeometryWithinSubtractFromSelection 
GeometryWithinIntersectWithSelection 

Definition at line 43 of file qgsmaptoolselect.h.

Member Function Documentation

◆ canvasMoveEvent()

void QgsMapToolSelect::canvasMoveEvent ( QgsMapMouseEvent * e)
overridevirtual

Mouse move event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 63 of file qgsmaptoolselect.cpp.

◆ canvasPressEvent()

void QgsMapToolSelect::canvasPressEvent ( QgsMapMouseEvent * e)
overridevirtual

Mouse press event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 58 of file qgsmaptoolselect.cpp.

◆ canvasReleaseEvent()

void QgsMapToolSelect::canvasReleaseEvent ( QgsMapMouseEvent * e)
overridevirtual

Mouse release event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 68 of file qgsmaptoolselect.cpp.

◆ deactivate()

void QgsMapToolSelect::deactivate ( )
overridevirtual

called when map tool is being deactivated

Reimplemented from QgsMapTool.

Definition at line 127 of file qgsmaptoolselect.cpp.

◆ flags()

QgsMapTool::Flags QgsMapToolSelect::flags ( ) const
overridevirtual

Returns the flags for the map tool.

Reimplemented from QgsMapTool.

Definition at line 133 of file qgsmaptoolselect.cpp.

◆ keyPressEvent()

void QgsMapToolSelect::keyPressEvent ( QKeyEvent * e)
overridevirtual

Key event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 73 of file qgsmaptoolselect.cpp.

◆ keyReleaseEvent()

void QgsMapToolSelect::keyReleaseEvent ( QKeyEvent * e)
overridevirtual

Key event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 99 of file qgsmaptoolselect.cpp.

◆ modeChanged

void QgsMapToolSelect::modeChanged ( QgsMapToolSelect::Mode mode)
signal

Emitted when the selection mode changes, usually when qt modifiers are changed.

◆ populateContextMenuWithEvent()

bool QgsMapToolSelect::populateContextMenuWithEvent ( QMenu * menu,
QgsMapMouseEvent * event )
overridevirtual

Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click.

menu will be initially populated with a set of default, generic actions. Any new actions added to the menu should be correctly parented to menu.

A pointer to the map mouse event can be provided to allow particular behavior depending on the map tool.

This method can return true to inform the caller that the menu was effectively populated.

The default implementation does nothing and returns false.

Note
The context menu is only shown when the ShowContextMenu flag is present in flags().
Since
QGIS 3.18

Reimplemented from QgsMapTool.

Definition at line 150 of file qgsmaptoolselect.cpp.

◆ setSelectionMode()

void QgsMapToolSelect::setSelectionMode ( QgsMapToolSelectionHandler::SelectionMode selectionMode)

Sets the current selection mode.

Definition at line 49 of file qgsmaptoolselect.cpp.


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