QGIS API Documentation 3.41.0-Master (af5edcb665c)
|
The QgsMapToolIdentifyFeature class is a map tool to identify a feature on a chosen layer. More...
#include <qgsmaptoolidentifyfeature.h>
Signals | |
void | featureIdentified (const QgsFeature &feature) |
Emitted when a feature has been identified. | |
Q_DECL_DEPRECATED void | featureIdentified (QgsFeatureId id) |
Emitted when a feature has been identified by its id. | |
Signals inherited from QgsMapToolIdentify | |
void | changedRasterResults (QList< QgsMapToolIdentify::IdentifyResult > &results) |
Emitted when the format of raster results is changed and need to be updated in user-facing displays. | |
void | identifyMessage (const QString &message) |
Emitted when the identify operation needs to show a user-facing message. | |
void | identifyProgress (int processed, int total) |
Emitted when the identify action progresses. | |
Signals inherited from QgsMapTool | |
void | activated () |
signal emitted once the map tool is activated | |
void | deactivated () |
signal emitted once the map tool is deactivated | |
void | messageDiscarded () |
emit signal to clear previous message | |
void | messageEmitted (const QString &message, Qgis::MessageLevel=Qgis::MessageLevel::Info) |
emit a message | |
void | reactivated () |
Public Member Functions | |
QgsMapToolIdentifyFeature (QgsMapCanvas *canvas, QgsVectorLayer *vl=nullptr) | |
QgsMapToolIdentifyFeature is a map tool to identify a feature on a chosen layer. | |
void | canvasReleaseEvent (QgsMapMouseEvent *e) override |
Mouse release event for overriding. Default implementation does nothing. | |
void | setLayer (QgsVectorLayer *vl) |
change the layer used by the map tool to identify | |
Public Member Functions inherited from QgsMapToolIdentify | |
QgsMapToolIdentify (QgsMapCanvas *canvas) | |
constructor | |
~QgsMapToolIdentify () override | |
void | activate () override |
called when set as currently active map tool | |
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 | deactivate () override |
called when map tool is being deactivated | |
Flags | flags () const override |
Returns the flags for the map tool. | |
void | fromElevationProfileLayerIdentificationToIdentifyResults (QgsMapLayer *layer, const QVector< QVariantMap > &identified, QList< QgsMapToolIdentify::IdentifyResult > &results) |
Converts elevation profile identification results from variant maps to QgsMapToolIdentify::IdentifyResult and apply some formatting. | |
QList< QgsMapToolIdentify::IdentifyResult > | identify (const QgsGeometry &geometry, IdentifyMode mode, const QList< QgsMapLayer * > &layerList, LayerType layerType, const QgsIdentifyContext &identifyContext=QgsIdentifyContext()) |
Performs identification based on a geometry (in map coordinates) | |
QList< QgsMapToolIdentify::IdentifyResult > | identify (const QgsGeometry &geometry, IdentifyMode mode, LayerType layerType, const QgsIdentifyContext &identifyContext=QgsIdentifyContext()) |
Performs identification based on a geometry (in map coordinates) | |
QList< QgsMapToolIdentify::IdentifyResult > | identify (int x, int y, const QList< QgsMapLayer * > &layerList=QList< QgsMapLayer * >(), IdentifyMode mode=DefaultQgsSetting, const QgsIdentifyContext &identifyContext=QgsIdentifyContext()) |
Performs the identification. | |
QList< QgsMapToolIdentify::IdentifyResult > | identify (int x, int y, IdentifyMode mode, LayerType layerType=AllLayers, const QgsIdentifyContext &identifyContext=QgsIdentifyContext()) |
Performs the identification. | |
QgsIdentifyMenu * | identifyMenu () |
Returns a pointer to the identify menu which will be used in layer selection mode this menu can also be customized. | |
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. | |
QgsMapCanvas * | canvas () 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. | |
Protected Member Functions | |
void | keyPressEvent (QKeyEvent *e) override |
Key event for overriding. Default implementation does nothing. | |
Protected Member Functions inherited from QgsMapToolIdentify | |
QMap< QString, QString > | derivedAttributesForPoint (const QgsPoint &point) |
Returns derived attributes map for a clicked point in map coordinates. May be 2D or 3D point. | |
QList< QgsMapToolIdentify::IdentifyResult > | identify (int x, int y, IdentifyMode mode, const QList< QgsMapLayer * > &layerList, LayerType layerType=AllLayers, const QgsIdentifyContext &identifyContext=QgsIdentifyContext()) |
Performs the identification. | |
bool | identifyLayer (QList< QgsMapToolIdentify::IdentifyResult > *results, QgsMapLayer *layer, const QgsPointXY &point, const QgsRectangle &viewExtent, double mapUnitsPerPixel, QgsMapToolIdentify::LayerType layerType=AllLayers, const QgsIdentifyContext &identifyContext=QgsIdentifyContext()) |
Call the right method depending on layer type. | |
bool | identifyMeshLayer (QList< QgsMapToolIdentify::IdentifyResult > *results, QgsMeshLayer *layer, const QgsPointXY &point, const QgsIdentifyContext &identifyContext=QgsIdentifyContext()) |
Identifies data from active scalar and vector dataset from the mesh layer. | |
bool | identifyRasterLayer (QList< QgsMapToolIdentify::IdentifyResult > *results, QgsRasterLayer *layer, QgsPointXY point, const QgsRectangle &viewExtent, double mapUnitsPerPixel, const QgsIdentifyContext &identifyContext=QgsIdentifyContext()) |
Performs the identification against a given raster layer. | |
bool | identifyVectorLayer (QList< QgsMapToolIdentify::IdentifyResult > *results, QgsVectorLayer *layer, const QgsPointXY &point, const QgsIdentifyContext &identifyContext=QgsIdentifyContext()) |
Performs the identification against a given vector layer. | |
void | restoreCanvasPropertiesOverrides () |
Clears canvas properties overrides previously set with setCanvasPropertiesOverrides() | |
void | setCanvasPropertiesOverrides (double searchRadiusMapUnits) |
Overrides some map canvas properties inside the map tool for the upcoming identify requests. | |
Protected Member Functions inherited from QgsMapTool | |
QgsMapTool (QgsMapCanvas *canvas) | |
Constructor takes a map canvas as a parameter. | |
QgsMapLayer * | layer (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). | |
Additional Inherited Members | |
Public Types inherited from QgsMapToolIdentify | |
enum | IdentifyMode { DefaultQgsSetting = -1 , ActiveLayer , TopDownStopAtFirst , TopDownAll , LayerSelection } |
typedef QFlags< Type > | LayerType |
enum | Type { VectorLayer = 1 , RasterLayer = 2 , MeshLayer = 4 , VectorTileLayer = 8 , PointCloudLayer = 16 , AllLayers = VectorLayer | RasterLayer | MeshLayer | VectorTileLayer | PointCloudLayer } |
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< Flag > | Flags |
Public Slots inherited from QgsMapToolIdentify | |
void | formatChanged (QgsRasterLayer *layer) |
Static Public Member Functions inherited from QgsMapToolIdentify | |
static void | fromPointCloudIdentificationToIdentifyResults (QgsPointCloudLayer *layer, const QVector< QVariantMap > &identified, QList< QgsMapToolIdentify::IdentifyResult > &results) |
Converts point cloud identification results from variant maps to QgsMapToolIdentify::IdentifyResult and apply some formatting. | |
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 Attributes inherited from QgsMapToolIdentify | |
QgsIdentifyMenu * | mIdentifyMenu = 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< QgsMapCanvas > | mCanvas |
The pointer to the map canvas. | |
QCursor | mCursor |
The cursor used in the map tool. | |
QString | mToolName |
The translated name of the map tool. | |
The QgsMapToolIdentifyFeature class is a map tool to identify a feature on a chosen layer.
Once the map tool is enable, user can click on the map canvas to identify a feature. A signal will then be emitted.
Definition at line 28 of file qgsmaptoolidentifyfeature.h.
QgsMapToolIdentifyFeature::QgsMapToolIdentifyFeature | ( | QgsMapCanvas * | canvas, |
QgsVectorLayer * | vl = nullptr |
||
) |
QgsMapToolIdentifyFeature is a map tool to identify a feature on a chosen layer.
canvas | the map canvas |
vl | the vector layer. The map tool can be initialized without any layer and can be set afterward. |
Definition at line 22 of file qgsmaptoolidentifyfeature.cpp.
|
overridevirtual |
Mouse release event for overriding. Default implementation does nothing.
Reimplemented from QgsMapToolIdentify.
Definition at line 32 of file qgsmaptoolidentifyfeature.cpp.
|
signal |
Emitted when a feature has been identified.
|
signal |
Emitted when a feature has been identified by its id.
|
overrideprotectedvirtual |
Key event for overriding. Default implementation does nothing.
Reimplemented from QgsMapTool.
Definition at line 48 of file qgsmaptoolidentifyfeature.cpp.
|
inline |
change the layer used by the map tool to identify
Definition at line 41 of file qgsmaptoolidentifyfeature.h.