QGIS API Documentation  3.20.0-Odense (decaadbb31)
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
QgsIdentifyMenu Class Reference

The QgsIdentifyMenu class builds a menu to be used with identify results (. More...

#include <qgsidentifymenu.h>

Inheritance diagram for QgsIdentifyMenu:
Inheritance graph
[legend]

Classes

struct  ActionData
 

Public Types

enum  MenuLevel { LayerLevel , FeatureLevel }
 

Public Member Functions

 QgsIdentifyMenu (QgsMapCanvas *canvas)
 QgsIdentifyMenu is a menu to be used to choose within a list of QgsMapTool::IdentifyReults. More...
 
 ~QgsIdentifyMenu () override
 
void addCustomAction (QgsMapLayerAction *action)
 adds a new custom action to the menu More...
 
bool allowMultipleReturn ()
 
QList< QgsMapToolIdentify::IdentifyResultexec (const QList< QgsMapToolIdentify::IdentifyResult > &idResults, QPoint pos)
 exec More...
 
bool execWithSingleResult ()
 
QgsExpressionContextScope expressionContextScope () const
 Returns an expression context scope used to resolve underlying actions. More...
 
int maxFeatureDisplay ()
 
int maxLayerDisplay ()
 
void removeCustomActions ()
 remove all custom actions from the menu to be built More...
 
bool resultsIfExternalAction ()
 
void setAllowMultipleReturn (bool multipleReturn)
 define if the menu executed can return multiple results (e.g. all results or all identified features of a vector layer) More...
 
void setExecWithSingleResult (bool execWithSingleResult)
 define if the menu will be shown with a single identify result More...
 
void setExpressionContextScope (const QgsExpressionContextScope &scope)
 Sets an expression context scope used to resolve underlying actions. More...
 
void setMaxFeatureDisplay (int maxFeatureDisplay)
 Defines the maximum number of features displayed in the menu for vector layers (default is 10). More...
 
void setMaxLayerDisplay (int maxLayerDisplay)
 Defines the maximum number of layers displayed in the menu (default is 10). More...
 
void setResultsIfExternalAction (bool resultsIfExternalAction)
 setResultsIfExternalAction if set to false (default) the menu will not return any results if an external action has been triggered More...
 
void setShowFeatureActions (bool showFeatureActions)
 define if attribute actions(1) and map layer actions(2) can be listed and run from the menu More...
 
bool showFeatureActions ()
 

Static Public Member Functions

static void styleHighlight (QgsHighlight *highlight)
 Applies style from the settings to the highlight. More...
 

Protected Member Functions

void closeEvent (QCloseEvent *e) override
 

Detailed Description

The QgsIdentifyMenu class builds a menu to be used with identify results (.

See also
QgsMapToolIdentify). It is customizable and can display attribute actions (
QgsAction) as well as map layer actions (
QgsMapLayerAction). It can also embed custom map layer actions, defined for this menu exclusively. If used in a QgsMapToolIdentify, it is accessible via QgsMapToolIdentify::identifyMenu() and can be customized in the map tool sub-class.

Definition at line 49 of file qgsidentifymenu.h.

Member Enumeration Documentation

◆ MenuLevel

Enumerator
LayerLevel 
FeatureLevel 

Definition at line 55 of file qgsidentifymenu.h.

Constructor & Destructor Documentation

◆ QgsIdentifyMenu()

QgsIdentifyMenu::QgsIdentifyMenu ( QgsMapCanvas canvas)
explicit

QgsIdentifyMenu is a menu to be used to choose within a list of QgsMapTool::IdentifyReults.

Definition at line 32 of file qgsidentifymenu.cpp.

◆ ~QgsIdentifyMenu()

QgsIdentifyMenu::~QgsIdentifyMenu ( )
override

Definition at line 45 of file qgsidentifymenu.cpp.

Member Function Documentation

◆ addCustomAction()

void QgsIdentifyMenu::addCustomAction ( QgsMapLayerAction action)
inline

adds a new custom action to the menu

Definition at line 152 of file qgsidentifymenu.h.

◆ allowMultipleReturn()

bool QgsIdentifyMenu::allowMultipleReturn ( )
inline

Definition at line 101 of file qgsidentifymenu.h.

◆ closeEvent()

void QgsIdentifyMenu::closeEvent ( QCloseEvent *  e)
overrideprotected

Definition at line 172 of file qgsidentifymenu.cpp.

◆ exec()

QList< QgsMapToolIdentify::IdentifyResult > QgsIdentifyMenu::exec ( const QList< QgsMapToolIdentify::IdentifyResult > &  idResults,
QPoint  pos 
)

exec

Parameters
idResultsthe list of identify results to choose within
posthe position where the menu will be executed

Definition at line 71 of file qgsidentifymenu.cpp.

◆ execWithSingleResult()

bool QgsIdentifyMenu::execWithSingleResult ( )
inline

Definition at line 105 of file qgsidentifymenu.h.

◆ expressionContextScope()

QgsExpressionContextScope QgsIdentifyMenu::expressionContextScope ( ) const

Returns an expression context scope used to resolve underlying actions.

Since
QGIS 3.0

Definition at line 676 of file qgsidentifymenu.cpp.

◆ maxFeatureDisplay()

int QgsIdentifyMenu::maxFeatureDisplay ( )
inline

Definition at line 149 of file qgsidentifymenu.h.

◆ maxLayerDisplay()

int QgsIdentifyMenu::maxLayerDisplay ( )
inline

Definition at line 142 of file qgsidentifymenu.h.

◆ removeCustomActions()

void QgsIdentifyMenu::removeCustomActions ( )

remove all custom actions from the menu to be built

Definition at line 665 of file qgsidentifymenu.cpp.

◆ resultsIfExternalAction()

bool QgsIdentifyMenu::resultsIfExternalAction ( )
inline

Definition at line 135 of file qgsidentifymenu.h.

◆ setAllowMultipleReturn()

void QgsIdentifyMenu::setAllowMultipleReturn ( bool  multipleReturn)
inline

define if the menu executed can return multiple results (e.g. all results or all identified features of a vector layer)

Definition at line 100 of file qgsidentifymenu.h.

◆ setExecWithSingleResult()

void QgsIdentifyMenu::setExecWithSingleResult ( bool  execWithSingleResult)
inline

define if the menu will be shown with a single identify result

Definition at line 104 of file qgsidentifymenu.h.

◆ setExpressionContextScope()

void QgsIdentifyMenu::setExpressionContextScope ( const QgsExpressionContextScope scope)

Sets an expression context scope used to resolve underlying actions.

Since
QGIS 3.0

Definition at line 671 of file qgsidentifymenu.cpp.

◆ setMaxFeatureDisplay()

void QgsIdentifyMenu::setMaxFeatureDisplay ( int  maxFeatureDisplay)

Defines the maximum number of features displayed in the menu for vector layers (default is 10).

Note
0 is unlimited.

Definition at line 61 of file qgsidentifymenu.cpp.

◆ setMaxLayerDisplay()

void QgsIdentifyMenu::setMaxLayerDisplay ( int  maxLayerDisplay)

Defines the maximum number of layers displayed in the menu (default is 10).

Note
0 is unlimited.

Definition at line 51 of file qgsidentifymenu.cpp.

◆ setResultsIfExternalAction()

void QgsIdentifyMenu::setResultsIfExternalAction ( bool  resultsIfExternalAction)
inline

setResultsIfExternalAction if set to false (default) the menu will not return any results if an external action has been triggered

Note
external action can be either custom actions or feature / map layer actions (
See also
setShowFeatureActions)

Definition at line 134 of file qgsidentifymenu.h.

◆ setShowFeatureActions()

void QgsIdentifyMenu::setShowFeatureActions ( bool  showFeatureActions)
inline

define if attribute actions(1) and map layer actions(2) can be listed and run from the menu

Note
custom actions will be shown in any case if they exist.
(1) attribute actions are defined by the user in the layer properties
See also
QgsAction
Note
(2) map layer actions are built-in c++ actions or actions which are defined by a Python plugin
See also
QgsMapLayerActionRegistry

Definition at line 127 of file qgsidentifymenu.h.

◆ showFeatureActions()

bool QgsIdentifyMenu::showFeatureActions ( )
inline

Definition at line 128 of file qgsidentifymenu.h.

◆ styleHighlight()

void QgsIdentifyMenu::styleHighlight ( QgsHighlight highlight)
static

Applies style from the settings to the highlight.

Since
QGIS 3.8

Definition at line 625 of file qgsidentifymenu.cpp.


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