QGIS API Documentation  3.21.0-Master (5b68dc587e)
Signals | Public Member Functions | Protected Member Functions | List of all members
QgsMapToolIdentifyFeature Class Reference

The QgsMapToolIdentifyFeature class is a map tool to identify a feature on a chosen layer. More...

#include <qgsmaptoolidentifyfeature.h>

Inheritance diagram for QgsMapToolIdentifyFeature:
Inheritance graph
[legend]

Signals

void featureIdentified (const QgsFeature &)
 
void featureIdentified (QgsFeatureId)
 
- Signals inherited from QgsMapToolIdentify
void changedRasterResults (QList< QgsMapToolIdentify::IdentifyResult > &)
 
void identifyMessage (const QString &)
 
void identifyProgress (int, int)
 
- Signals inherited from QgsMapTool
void activated ()
 signal emitted once the map tool is activated More...
 
void deactivated ()
 signal emitted once the map tool is deactivated More...
 
void messageDiscarded ()
 emit signal to clear previous message More...
 
void messageEmitted (const QString &message, Qgis::MessageLevel=Qgis::MessageLevel::Info)
 emit a message More...
 

Public Member Functions

 QgsMapToolIdentifyFeature (QgsMapCanvas *canvas, QgsVectorLayer *vl=nullptr)
 QgsMapToolIdentifyFeature is a map tool to identify a feature on a chosen layer. More...
 
void canvasReleaseEvent (QgsMapMouseEvent *e) override
 Mouse release event for overriding. Default implementation does nothing. More...
 
void setLayer (QgsVectorLayer *vl)
 change the layer used by the map tool to identify More...
 
- Public Member Functions inherited from QgsMapToolIdentify
 QgsMapToolIdentify (QgsMapCanvas *canvas)
 constructor More...
 
 ~QgsMapToolIdentify () override
 
void activate () override
 called when set as currently active map tool More...
 
void canvasMoveEvent (QgsMapMouseEvent *e) override
 Mouse move event for overriding. Default implementation does nothing. More...
 
void canvasPressEvent (QgsMapMouseEvent *e) override
 Mouse press event for overriding. Default implementation does nothing. More...
 
void deactivate () override
 called when map tool is being deactivated More...
 
Flags flags () const override
 Returns the flags for the map tool. More...
 
QList< QgsMapToolIdentify::IdentifyResultidentify (const QgsGeometry &geometry, IdentifyMode mode, const QList< QgsMapLayer * > &layerList, LayerType layerType, const QgsIdentifyContext &identifyContext=QgsIdentifyContext())
 Performs identification based on a geometry (in map coordinates) More...
 
QList< QgsMapToolIdentify::IdentifyResultidentify (const QgsGeometry &geometry, IdentifyMode mode, LayerType layerType, const QgsIdentifyContext &identifyContext=QgsIdentifyContext())
 Performs identification based on a geometry (in map coordinates) More...
 
QList< QgsMapToolIdentify::IdentifyResultidentify (int x, int y, const QList< QgsMapLayer * > &layerList=QList< QgsMapLayer * >(), IdentifyMode mode=DefaultQgsSetting, const QgsIdentifyContext &identifyContext=QgsIdentifyContext())
 Performs the identification. More...
 
QList< QgsMapToolIdentify::IdentifyResultidentify (int x, int y, IdentifyMode mode, LayerType layerType=AllLayers, const QgsIdentifyContext &identifyContext=QgsIdentifyContext())
 Performs the identification. More...
 
QgsIdentifyMenuidentifyMenu ()
 Returns a pointer to the identify menu which will be used in layer selection mode this menu can also be customized. More...
 
- Public Member Functions inherited from QgsMapTool
 ~QgsMapTool () override
 
QAction * action ()
 Returns associated action with map tool or nullptr if no action is associated. More...
 
QAbstractButton * button ()
 Returns associated button with map tool or nullptr if no button is associated. More...
 
QgsMapCanvascanvas () const
 returns pointer to the tool's map canvas More...
 
virtual void canvasDoubleClickEvent (QgsMapMouseEvent *e)
 Mouse double-click event for overriding. Default implementation does nothing. More...
 
virtual bool canvasToolTipEvent (QHelpEvent *e)
 Tooltip event for overriding. More...
 
virtual void clean ()
 convenient method to clean members More...
 
virtual bool gestureEvent (QGestureEvent *e)
 gesture event for overriding. Default implementation does nothing. More...
 
bool isActive () const
 Returns if the current map tool active on the map canvas. More...
 
virtual void keyReleaseEvent (QKeyEvent *e)
 Key event for overriding. Default implementation does nothing. More...
 
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. More...
 
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. More...
 
void setAction (QAction *action)
 Use this to associate a QAction to this maptool. More...
 
void setButton (QAbstractButton *button)
 Use this to associate a button to this maptool. More...
 
virtual void setCursor (const QCursor &cursor)
 Sets a user defined cursor. More...
 
QString toolName ()
 Emit map tool changed with the old tool. More...
 
virtual void wheelEvent (QWheelEvent *e)
 Mouse wheel event for overriding. Default implementation does nothing. More...
 

Protected Member Functions

void keyPressEvent (QKeyEvent *e) override
 Key event for overriding. Default implementation does nothing. More...
 
- 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. More...
 
QList< QgsMapToolIdentify::IdentifyResultidentify (int x, int y, IdentifyMode mode, const QList< QgsMapLayer * > &layerList, LayerType layerType=AllLayers, const QgsIdentifyContext &identifyContext=QgsIdentifyContext())
 Performs the identification. More...
 
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. More...
 
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. More...
 
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. More...
 
bool identifyVectorLayer (QList< QgsMapToolIdentify::IdentifyResult > *results, QgsVectorLayer *layer, const QgsPointXY &point, const QgsIdentifyContext &identifyContext=QgsIdentifyContext())
 Performs the identification against a given vector layer. More...
 
void restoreCanvasPropertiesOverrides ()
 Clears canvas properties overrides previously set with setCanvasPropertiesOverrides() More...
 
void setCanvasPropertiesOverrides (double searchRadiusMapUnits)
 Overrides some map canvas properties inside the map tool for the upcoming identify requests. More...
 
- Protected Member Functions inherited from QgsMapTool
 QgsMapTool (QgsMapCanvas *canvas)
 Constructor takes a map canvas as a parameter. More...
 
void setToolName (const QString &name)
 Sets the tool's name. More...
 
QPoint toCanvasCoordinates (const QgsPointXY &point) const
 Transforms a point from map coordinates to screen coordinates. More...
 
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 Transforms a point from map coordinates to layer coordinates. More...
 
QgsRectangle toLayerCoordinates (const QgsMapLayer *layer, const QgsRectangle &rect)
 Transforms a rect from map coordinates to layer coordinates. More...
 
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, QPoint point)
 Transforms a point from screen coordinates to layer coordinates. More...
 
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). More...
 
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). More...
 
QgsPointXY toMapCoordinates (QPoint point)
 Transforms a point from screen coordinates to map coordinates. More...
 

Additional Inherited Members

- Public Types inherited from QgsMapToolIdentify
enum  IdentifyMode {
  DefaultQgsSetting = -1 , ActiveLayer , TopDownStopAtFirst , TopDownAll ,
  LayerSelection
}
 
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...
 
- 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. More...
 
- Static Public Member Functions inherited from QgsMapTool
static double searchRadiusMM ()
 Gets search radius in mm. More...
 
static double searchRadiusMU (const QgsRenderContext &context)
 Gets search radius in map units for given context. More...
 
static double searchRadiusMU (QgsMapCanvas *canvas)
 Gets search radius in map units for given canvas. More...
 
- Protected Attributes inherited from QgsMapToolIdentify
QgsIdentifyMenumIdentifyMenu = 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. More...
 
QAbstractButton * mButton = nullptr
 Optional pointer to a button that will be checked on map tool activation and unchecked on map tool deactivation. More...
 
QgsMapCanvasmCanvas = nullptr
 The pointer to the map canvas. More...
 
QCursor mCursor
 The cursor used in the map tool. More...
 
QString mToolName
 The translated name of the map tool. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ QgsMapToolIdentifyFeature()

QgsMapToolIdentifyFeature::QgsMapToolIdentifyFeature ( QgsMapCanvas canvas,
QgsVectorLayer vl = nullptr 
)

QgsMapToolIdentifyFeature is a map tool to identify a feature on a chosen layer.

Parameters
canvasthe map canvas
vlthe vector layer. The map tool can be initialized without any layer and can be set afterward.

Definition at line 21 of file qgsmaptoolidentifyfeature.cpp.

Member Function Documentation

◆ canvasReleaseEvent()

void QgsMapToolIdentifyFeature::canvasReleaseEvent ( QgsMapMouseEvent e)
overridevirtual

Mouse release event for overriding. Default implementation does nothing.

Reimplemented from QgsMapToolIdentify.

Definition at line 31 of file qgsmaptoolidentifyfeature.cpp.

◆ featureIdentified [1/2]

void QgsMapToolIdentifyFeature::featureIdentified ( const QgsFeature )
signal

◆ featureIdentified [2/2]

void QgsMapToolIdentifyFeature::featureIdentified ( QgsFeatureId  )
signal

◆ keyPressEvent()

void QgsMapToolIdentifyFeature::keyPressEvent ( QKeyEvent *  e)
overrideprotectedvirtual

Key event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 46 of file qgsmaptoolidentifyfeature.cpp.

◆ setLayer()

void QgsMapToolIdentifyFeature::setLayer ( QgsVectorLayer vl)
inline

change the layer used by the map tool to identify

Definition at line 42 of file qgsmaptoolidentifyfeature.h.


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