QGIS API Documentation  2.99.0-Master (f867b65)
Public Member Functions | List of all members
QgsMapMouseEvent Class Reference

A QgsMapMouseEvent is the result of a user interaction with the mouse on a QgsMapCanvas. More...

#include <qgsmapmouseevent.h>

Inheritance diagram for QgsMapMouseEvent:
Inheritance graph
[legend]

Public Member Functions

 QgsMapMouseEvent (QgsMapCanvas *mapCanvas, QMouseEvent *event)
 Creates a new QgsMapMouseEvent. More...
 
 QgsMapMouseEvent (QgsMapCanvas *mapCanvas, QEvent::Type type, QPoint pos, Qt::MouseButton button=Qt::NoButton, Qt::MouseButtons buttons=Qt::NoButton, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
 Creates a new QgsMapMouseEvent. More...
 
bool isSnapped () const
 Returns true if there is a snapped point cached. More...
 
QgsPointXY mapPoint () const
 mapPoint returns the point in coordinates More...
 
QgsPointLocator::Match mapPointMatch () const
 Returns the matching data from the most recently snapped point. More...
 
QgsPointXY originalMapPoint () const
 Returns the original, unmodified map point of the mouse cursor. More...
 
QPoint originalPixelPoint () const
 The unsnapped, real mouse cursor position in pixel coordinates. More...
 
QPoint pixelPoint () const
 The snapped mouse cursor in pixel coordinates. More...
 
void setMapPoint (const QgsPointXY &point)
 Set the (snapped) point this event points to in map coordinates. More...
 
QgsPointXY snapPoint ()
 snapPoint will snap the points using the map canvas snapping utils configuration More...
 
QList< QgsPointXYsnapSegment (bool *snapped=nullptr, bool allLayers=false) const
 Returns the first snapped segment. More...
 

Detailed Description

A QgsMapMouseEvent is the result of a user interaction with the mouse on a QgsMapCanvas.

It is sent whenever the user moves, clicks, releases or double clicks the mouse. In addition to the coordinates in pixel space it also knows the coordinates in the mapcanvas' CRS as well as it knows the concept of snapping.

Definition at line 34 of file qgsmapmouseevent.h.

Constructor & Destructor Documentation

◆ QgsMapMouseEvent() [1/2]

QgsMapMouseEvent::QgsMapMouseEvent ( QgsMapCanvas mapCanvas,
QMouseEvent *  event 
)

Creates a new QgsMapMouseEvent.

Should only be required to be called from the QgsMapCanvas.

Parameters
mapCanvasThe map canvas on which the event occurred
eventThe original mouse event

Definition at line 30 of file qgsmapmouseevent.cpp.

◆ QgsMapMouseEvent() [2/2]

QgsMapMouseEvent::QgsMapMouseEvent ( QgsMapCanvas mapCanvas,
QEvent::Type  type,
QPoint  pos,
Qt::MouseButton  button = Qt::NoButton,
Qt::MouseButtons  buttons = Qt::NoButton,
Qt::KeyboardModifiers  modifiers = Qt::NoModifier 
)

Creates a new QgsMapMouseEvent.

Should only be required to be called from the QgsMapCanvas.

Parameters
mapCanvasThe map canvas on which the event occurred
typeThe type of the event
posThe pixel position of the mouse
buttonThe pressed button
buttonsFurther buttons that are pressed
modifiersKeyboard modifiers

Definition at line 40 of file qgsmapmouseevent.cpp.

Member Function Documentation

◆ isSnapped()

bool QgsMapMouseEvent::isSnapped ( ) const
inline

Returns true if there is a snapped point cached.

Will only be useful after snapPoint has previously been called.

Returns
True if there is a snapped point cached.

Definition at line 90 of file qgsmapmouseevent.h.

◆ mapPoint()

QgsPointXY QgsMapMouseEvent::mapPoint ( ) const
inline

mapPoint returns the point in coordinates

Returns
the point in map coordinates, after snapping if requested in the event.

Definition at line 96 of file qgsmapmouseevent.h.

◆ mapPointMatch()

QgsPointLocator::Match QgsMapMouseEvent::mapPointMatch ( ) const
inline

Returns the matching data from the most recently snapped point.

Returns
the snapping data structure
Since
QGIS 2.14

Definition at line 103 of file qgsmapmouseevent.h.

◆ originalMapPoint()

QgsPointXY QgsMapMouseEvent::originalMapPoint ( ) const
inline

Returns the original, unmodified map point of the mouse cursor.

Returns
The cursor position in map coordinates.

Definition at line 118 of file qgsmapmouseevent.h.

◆ originalPixelPoint()

QPoint QgsMapMouseEvent::originalPixelPoint ( ) const
inline

The unsnapped, real mouse cursor position in pixel coordinates.

Alias to pos()

Returns
Mouse position in pixel coordinates

Definition at line 133 of file qgsmapmouseevent.h.

◆ pixelPoint()

QPoint QgsMapMouseEvent::pixelPoint ( ) const
inline

The snapped mouse cursor in pixel coordinates.

Returns
The snapped mouse cursor position in pixel coordinates.

Definition at line 125 of file qgsmapmouseevent.h.

◆ setMapPoint()

void QgsMapMouseEvent::setMapPoint ( const QgsPointXY point)

Set the (snapped) point this event points to in map coordinates.

The point in pixel coordinates will be calculated accordingly.

Parameters
pointThe point in map coordinates

Definition at line 126 of file qgsmapmouseevent.cpp.

◆ snapPoint()

QgsPointXY QgsMapMouseEvent::snapPoint ( )

snapPoint will snap the points using the map canvas snapping utils configuration

Note
if snapping did not succeeded, the map point will be reset to its original position

Definition at line 50 of file qgsmapmouseevent.cpp.

◆ snapSegment()

QList< QgsPointXY > QgsMapMouseEvent::snapSegment ( bool *  snapped = nullptr,
bool  allLayers = false 
) const

Returns the first snapped segment.

If the cached snapped match is a segment, it will simply return it. Otherwise it will try to snap a segment according to the event's snapping mode. In this case the cache will not be overwritten.

Parameters
snappedif given, determines if a segment has been snapped
allLayersif true, override snapping mode

Definition at line 75 of file qgsmapmouseevent.cpp.


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