QGIS API Documentation  3.4.15-Madeira (e83d02e274)
Public Types | Signals | Public Member Functions | List of all members
QgsMapLayerAction Class Reference

An action which can run on map layers. More...

#include <qgsmaplayeractionregistry.h>

Inheritance diagram for QgsMapLayerAction:
Inheritance graph
[legend]

Public Types

enum  Flag { EnabledOnlyWhenEditable = 1 << 1 }
 Flags which control action behavior /since QGIS 3.0. More...
 
enum  Target { Layer = 1, SingleFeature = 2, MultipleFeatures = 4, AllActions = Layer | SingleFeature | MultipleFeatures }
 

Signals

void triggeredForFeature (QgsMapLayer *layer, const QgsFeature &feature)
 Triggered when action has been run for a specific feature. More...
 
void triggeredForFeatures (QgsMapLayer *layer, const QList< QgsFeature > &featureList)
 Triggered when action has been run for a specific list of features. More...
 
void triggeredForLayer (QgsMapLayer *layer)
 Triggered when action has been run for a specific layer. More...
 

Public Member Functions

 QgsMapLayerAction (const QString &name, QObject *parent, Targets targets=AllActions, const QIcon &icon=QIcon(), QgsMapLayerAction::Flags flags=nullptr)
 Action behavior flags. More...
 
 QgsMapLayerAction (const QString &name, QObject *parent, QgsMapLayer *layer, Targets targets=AllActions, const QIcon &icon=QIcon(), QgsMapLayerAction::Flags flags=nullptr)
 Creates a map layer action which can run only on a specific layer. More...
 
 QgsMapLayerAction (const QString &name, QObject *parent, QgsMapLayer::LayerType layerType, Targets targets=AllActions, const QIcon &icon=QIcon(), QgsMapLayerAction::Flags flags=nullptr)
 Creates a map layer action which can run on a specific type of layer. More...
 
 ~QgsMapLayerAction () override
 
bool canRunUsingLayer (QgsMapLayer *layer) const
 True if action can run using the specified layer. More...
 
QgsMapLayerAction::Flags flags () const
 Layer behavior flags. More...
 
bool isEnabledOnlyWhenEditable () const
 Returns true if the action is only enabled for layers in editable mode. More...
 
void setTargets (Targets targets)
 Define the targets of the action. More...
 
const Targets & targets () const
 Returns availibity of action. More...
 
void triggerForFeature (QgsMapLayer *layer, const QgsFeature *feature)
 Triggers the action with the specified layer and feature. More...
 
void triggerForFeatures (QgsMapLayer *layer, const QList< QgsFeature > &featureList)
 Triggers the action with the specified layer and list of feature. More...
 
void triggerForLayer (QgsMapLayer *layer)
 Triggers the action with the specified layer. More...
 

Detailed Description

An action which can run on map layers.

Definition at line 34 of file qgsmaplayeractionregistry.h.

Member Enumeration Documentation

Flags which control action behavior /since QGIS 3.0.

Enumerator
EnabledOnlyWhenEditable 

Action should be shown only for editable layers.

Definition at line 53 of file qgsmaplayeractionregistry.h.

Enumerator
Layer 
SingleFeature 
MultipleFeatures 
AllActions 

Definition at line 39 of file qgsmaplayeractionregistry.h.

Constructor & Destructor Documentation

QgsMapLayerAction::QgsMapLayerAction ( const QString &  name,
QObject *  parent,
Targets  targets = AllActions,
const QIcon &  icon = QIcon(),
QgsMapLayerAction::Flags  flags = nullptr 
)

Action behavior flags.

Since
QGIS 3.0 Creates a map layer action which can run on any layer
Note
using AllActions as a target probably does not make a lot of sense. This default action was settled for API compatibility reasons.

Definition at line 20 of file qgsmaplayeractionregistry.cpp.

QgsMapLayerAction::QgsMapLayerAction ( const QString &  name,
QObject *  parent,
QgsMapLayer layer,
Targets  targets = AllActions,
const QIcon &  icon = QIcon(),
QgsMapLayerAction::Flags  flags = nullptr 
)

Creates a map layer action which can run only on a specific layer.

Definition at line 27 of file qgsmaplayeractionregistry.cpp.

QgsMapLayerAction::QgsMapLayerAction ( const QString &  name,
QObject *  parent,
QgsMapLayer::LayerType  layerType,
Targets  targets = AllActions,
const QIcon &  icon = QIcon(),
QgsMapLayerAction::Flags  flags = nullptr 
)

Creates a map layer action which can run on a specific type of layer.

Definition at line 36 of file qgsmaplayeractionregistry.cpp.

QgsMapLayerAction::~QgsMapLayerAction ( )
override

Definition at line 45 of file qgsmaplayeractionregistry.cpp.

Member Function Documentation

bool QgsMapLayerAction::canRunUsingLayer ( QgsMapLayer layer) const

True if action can run using the specified layer.

Definition at line 56 of file qgsmaplayeractionregistry.cpp.

QgsMapLayerAction::Flags QgsMapLayerAction::flags ( ) const

Layer behavior flags.

Since
QGIS 3.0

Definition at line 51 of file qgsmaplayeractionregistry.cpp.

bool QgsMapLayerAction::isEnabledOnlyWhenEditable ( ) const

Returns true if the action is only enabled for layers in editable mode.

Since
QGIS 3.0

Definition at line 105 of file qgsmaplayeractionregistry.cpp.

void QgsMapLayerAction::setTargets ( Targets  targets)
inline

Define the targets of the action.

Definition at line 98 of file qgsmaplayeractionregistry.h.

const Targets& QgsMapLayerAction::targets ( ) const
inline

Returns availibity of action.

Definition at line 100 of file qgsmaplayeractionregistry.h.

void QgsMapLayerAction::triggeredForFeature ( QgsMapLayer layer,
const QgsFeature feature 
)
signal

Triggered when action has been run for a specific feature.

void QgsMapLayerAction::triggeredForFeatures ( QgsMapLayer layer,
const QList< QgsFeature > &  featureList 
)
signal

Triggered when action has been run for a specific list of features.

void QgsMapLayerAction::triggeredForLayer ( QgsMapLayer layer)
signal

Triggered when action has been run for a specific layer.

void QgsMapLayerAction::triggerForFeature ( QgsMapLayer layer,
const QgsFeature feature 
)

Triggers the action with the specified layer and feature.

Definition at line 95 of file qgsmaplayeractionregistry.cpp.

void QgsMapLayerAction::triggerForFeatures ( QgsMapLayer layer,
const QList< QgsFeature > &  featureList 
)

Triggers the action with the specified layer and list of feature.

Definition at line 90 of file qgsmaplayeractionregistry.cpp.

void QgsMapLayerAction::triggerForLayer ( QgsMapLayer layer)

Triggers the action with the specified layer.

Definition at line 100 of file qgsmaplayeractionregistry.cpp.


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