QGIS API Documentation
3.0.2-Girona (307d082)
|
Map tool for identifying features in layers. More...
#include <qgsmaptoolidentify.h>
Classes | |
struct | IdentifyResult |
Public Types | |
enum | IdentifyMode { DefaultQgsSetting = -1, ActiveLayer, TopDownStopAtFirst, TopDownAll, LayerSelection } |
enum | Type { VectorLayer = 1, RasterLayer = 2, AllLayers = VectorLayer | RasterLayer } |
Public Types inherited from QgsMapTool | |
enum | Flag { Transient = 1 << 1, EditTool = 1 << 2, AllowZoomRect = 1 << 3 } |
Enumeration of flags that adjust the way the map tool operates. More... | |
Public Slots | |
void | formatChanged (QgsRasterLayer *layer) |
Signals | |
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::Info) |
emit a message More... | |
Public Member Functions | |
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 | canvasReleaseEvent (QgsMapMouseEvent *e) override |
Mouse release 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::IdentifyResult > | identify (int x, int y, const QList< QgsMapLayer *> &layerList=QList< QgsMapLayer *>(), IdentifyMode mode=DefaultQgsSetting) |
Performs the identification. More... | |
QList< QgsMapToolIdentify::IdentifyResult > | identify (int x, int y, IdentifyMode mode, LayerType layerType=AllLayers) |
Performs the identification. More... | |
QgsIdentifyMenu * | identifyMenu () |
return 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 () |
Return associated action with map tool or NULL if no action is associated. More... | |
QAbstractButton * | button () |
Return associated button with map tool or NULL if no button is associated. More... | |
QgsMapCanvas * | canvas () |
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 void | clean () |
convenient method to clean members More... | |
virtual bool | gestureEvent (QGestureEvent *e) |
gesture event for overriding. Default implementation does nothing. More... | |
virtual void | keyPressEvent (QKeyEvent *e) |
Key event for overriding. Default implementation does nothing. More... | |
virtual void | keyReleaseEvent (QKeyEvent *e) |
Key event for overriding. Default implementation does nothing. 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) |
Set 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 | |
QList< QgsMapToolIdentify::IdentifyResult > | identify (int x, int y, IdentifyMode mode, const QList< QgsMapLayer *> &layerList, LayerType layerType=AllLayers) |
Performs the identification. More... | |
bool | identifyLayer (QList< QgsMapToolIdentify::IdentifyResult > *results, QgsMapLayer *layer, const QgsPointXY &point, const QgsRectangle &viewExtent, double mapUnitsPerPixel, QgsMapToolIdentify::LayerType layerType=AllLayers) |
Call the right method depending on layer type. More... | |
bool | identifyRasterLayer (QList< QgsMapToolIdentify::IdentifyResult > *results, QgsRasterLayer *layer, QgsPointXY point, const QgsRectangle &viewExtent, double mapUnitsPerPixel) |
bool | identifyVectorLayer (QList< QgsMapToolIdentify::IdentifyResult > *results, QgsVectorLayer *layer, const QgsPointXY &point) |
Protected Member Functions inherited from QgsMapTool | |
QgsMapTool (QgsMapCanvas *canvas) | |
constructor takes map canvas as a parameter More... | |
QPoint | toCanvasCoordinates (const QgsPointXY &point) |
transformation from map coordinates to screen coordinates More... | |
QgsPointXY | toLayerCoordinates (const QgsMapLayer *layer, QPoint point) |
transformation from screen coordinates to layer's coordinates More... | |
QgsPointXY | toLayerCoordinates (const QgsMapLayer *layer, const QgsPointXY &point) |
transformation from map coordinates to layer's coordinates More... | |
QgsRectangle | toLayerCoordinates (const QgsMapLayer *layer, const QgsRectangle &rect) |
trnasformation of the rect from map coordinates to layer's coordinates More... | |
QgsPointXY | toMapCoordinates (QPoint point) |
transformation from screen coordinates to map coordinates More... | |
QgsPointXY | toMapCoordinates (const QgsMapLayer *layer, const QgsPointXY &point) |
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More... | |
QgsPoint | toMapCoordinates (const QgsMapLayer *layer, const QgsPoint &point) |
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More... | |
Protected Attributes | |
QgsIdentifyMenu * | mIdentifyMenu = nullptr |
Protected Attributes inherited from QgsMapTool | |
QAction * | mAction = nullptr |
optionally map tool can have pointer to action which will be used to set that action as active More... | |
QAbstractButton * | mButton = nullptr |
optionally map tool can have pointer to a button which will be used to set that action as active More... | |
QgsMapCanvas * | mCanvas = nullptr |
pointer to map canvas More... | |
QCursor | mCursor |
cursor used in map tool More... | |
QString | mToolName |
translated name of the map tool More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from QgsMapTool | |
static double | searchRadiusMM () |
Get search radius in mm. More... | |
static double | searchRadiusMU (const QgsRenderContext &context) |
Get search radius in map units for given context. More... | |
static double | searchRadiusMU (QgsMapCanvas *canvas) |
Get search radius in map units for given canvas. More... | |
Map tool for identifying features in layers.
after selecting a point, performs the identification:
Definition at line 46 of file qgsmaptoolidentify.h.
Enumerator | |
---|---|
DefaultQgsSetting | |
ActiveLayer | |
TopDownStopAtFirst | |
TopDownAll | |
LayerSelection |
Definition at line 52 of file qgsmaptoolidentify.h.
Enumerator | |
---|---|
VectorLayer | |
RasterLayer | |
AllLayers |
Definition at line 62 of file qgsmaptoolidentify.h.
QgsMapToolIdentify::QgsMapToolIdentify | ( | QgsMapCanvas * | canvas | ) |
constructor
Definition at line 52 of file qgsmaptoolidentify.cpp.
|
override |
Definition at line 61 of file qgsmaptoolidentify.cpp.
|
overridevirtual |
called when set as currently active map tool
Reimplemented from QgsMapTool.
Definition at line 171 of file qgsmaptoolidentify.cpp.
|
overridevirtual |
Mouse move event for overriding. Default implementation does nothing.
Reimplemented from QgsMapTool.
Definition at line 66 of file qgsmaptoolidentify.cpp.
|
overridevirtual |
Mouse press event for overriding. Default implementation does nothing.
Reimplemented from QgsMapTool.
Definition at line 71 of file qgsmaptoolidentify.cpp.
|
overridevirtual |
Mouse release event for overriding. Default implementation does nothing.
Reimplemented from QgsMapTool.
Reimplemented in QgsMapToolIdentifyFeature.
Definition at line 76 of file qgsmaptoolidentify.cpp.
|
signal |
|
overridevirtual |
called when map tool is being deactivated
Reimplemented from QgsMapTool.
Definition at line 176 of file qgsmaptoolidentify.cpp.
|
inlineoverridevirtual |
Returns the flags for the map tool.
Reimplemented from QgsMapTool.
Definition at line 99 of file qgsmaptoolidentify.h.
|
slot |
Definition at line 699 of file qgsmaptoolidentify.cpp.
QList< QgsMapToolIdentify::IdentifyResult > QgsMapToolIdentify::identify | ( | int | x, |
int | y, | ||
const QList< QgsMapLayer *> & | layerList = QList<QgsMapLayer *>() , |
||
IdentifyMode | mode = DefaultQgsSetting |
||
) |
Performs the identification.
x | x coordinates of mouseEvent |
y | y coordinates of mouseEvent |
layerList | Performs the identification within the given list of layers. Default value is an empty list, i.e. uses all the layers. |
mode | Identification mode. Can use Qgis default settings or a defined mode. Default mode is DefaultQgsSetting. |
Definition at line 81 of file qgsmaptoolidentify.cpp.
QList< QgsMapToolIdentify::IdentifyResult > QgsMapToolIdentify::identify | ( | int | x, |
int | y, | ||
IdentifyMode | mode, | ||
LayerType | layerType = AllLayers |
||
) |
Performs the identification.
To avoid being forced to specify IdentifyMode with a list of layers this has been made private and two publics methods are offered
x | x coordinates of mouseEvent |
y | y coordinates of mouseEvent |
mode | Identification mode. Can use Qgis default settings or a defined mode. |
layerType | Only performs identification in a certain type of layers (raster, vector). Default value is AllLayers. |
Definition at line 86 of file qgsmaptoolidentify.cpp.
|
protected |
Performs the identification.
To avoid being forced to specify IdentifyMode with a list of layers this has been made private and two publics methods are offered
x | x coordinates of mouseEvent |
y | y coordinates of mouseEvent |
mode | Identification mode. Can use Qgis default settings or a defined mode. |
layerList | Performs the identification within the given list of layers. |
layerType | Only performs identification in a certain type of layers (raster, vector). |
Definition at line 91 of file qgsmaptoolidentify.cpp.
|
protected |
Call the right method depending on layer type.
Definition at line 181 of file qgsmaptoolidentify.cpp.
|
inline |
return a pointer to the identify menu which will be used in layer selection mode this menu can also be customized
Definition at line 130 of file qgsmaptoolidentify.h.
|
signal |
|
signal |
|
protected |
Definition at line 463 of file qgsmaptoolidentify.cpp.
|
protected |
Definition at line 197 of file qgsmaptoolidentify.cpp.
|
protected |
Definition at line 154 of file qgsmaptoolidentify.h.