QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
QgsAttributeAction Class Reference

Storage and management of actions associated with Qgis layer attributes. More...

#include <qgsattributeaction.h>

Collaboration diagram for QgsAttributeAction:
Collaboration graph
[legend]

Public Member Functions

 QgsAttributeAction (QgsVectorLayer *layer)
 Constructor. More...
 
virtual ~QgsAttributeAction ()
 Destructor. More...
 
void addAction (QgsAction::ActionType type, QString name, QString action, bool capture=false)
 Add an action with the given name and action details. More...
 
void removeAction (int index)
 Remove an action at given index. More...
 
void doAction (int index, QgsFeature &feat, int defaultValueIndex=0)
 
void doAction (int index, QgsFeature &feat, const QMap< QString, QVariant > *substitutionMap=0)
 
void clearActions ()
 Removes all actions. More...
 
const QList< QgsAction > & listActions ()
 List all actions. More...
 
QgsVectorLayerlayer ()
 Return the layer. More...
 
QString expandAction (QString action, const QgsAttributeMap &attributes, uint defaultValueIndex)
 
QString expandAction (QString action, QgsFeature &feat, const QMap< QString, QVariant > *substitutionMap=0)
 
bool writeXML (QDomNode &layer_node, QDomDocument &doc) const
 Writes the actions out in XML format. More...
 
bool readXML (const QDomNode &layer_node)
 Reads the actions in in XML format. More...
 
int size () const
 
QgsActionat (int idx)
 
QgsActionoperator[] (int idx)
 
int defaultAction () const
 Whether the action is the default action. More...
 
void setDefaultAction (int actionNumber)
 

Static Public Member Functions

static void setPythonExecute (void(*)(const QString &))
 

Private Member Functions

void runAction (const QgsAction &action, void(*executePython)(const QString &)=0)
 

Private Attributes

QList< QgsActionmActions
 
QgsVectorLayermLayer
 
int mDefaultAction
 

Static Private Attributes

static void(* smPythonExecute )(const QString &)
 

Detailed Description

Storage and management of actions associated with Qgis layer attributes.

Definition at line 96 of file qgsattributeaction.h.

Constructor & Destructor Documentation

QgsAttributeAction::QgsAttributeAction ( QgsVectorLayer layer)
inline

Constructor.

Definition at line 100 of file qgsattributeaction.h.

virtual QgsAttributeAction::~QgsAttributeAction ( )
inlinevirtual

Destructor.

Definition at line 103 of file qgsattributeaction.h.

Member Function Documentation

void QgsAttributeAction::addAction ( QgsAction::ActionType  type,
QString  name,
QString  action,
bool  capture = false 
)

Add an action with the given name and action details.

Definition at line 43 of file qgsattributeaction.cpp.

References mActions.

Referenced by readXML().

QgsAction& QgsAttributeAction::at ( int  idx)
inline

Definition at line 171 of file qgsattributeaction.h.

Referenced by doAction(), and QgsDualView::viewWillShowContextMenu().

void QgsAttributeAction::clearActions ( )
inline

Removes all actions.

Definition at line 136 of file qgsattributeaction.h.

int QgsAttributeAction::defaultAction ( ) const
inline

Whether the action is the default action.

Definition at line 178 of file qgsattributeaction.h.

References size.

void QgsAttributeAction::doAction ( int  index,
QgsFeature feat,
int  defaultValueIndex = 0 
)

Does the given values. defaultValueIndex is the index of the field to be used if the action has a $currfield placeholder.

Note
added in 1.9
available in python bindings as doActionFeature

Definition at line 56 of file qgsattributeaction.cpp.

References QgsFeature::attribute().

Referenced by QgsAttributeTableModel::executeAction().

void QgsAttributeAction::doAction ( int  index,
QgsFeature feat,
const QMap< QString, QVariant > *  substitutionMap = 0 
)

Does the action using the expression builder to expand it and getting values from the passed feature attribute map. substitutionMap is used to pass custom substitutions, to replace each key in the map with the associated value

Note
added in 1.9
available in python bindings as doActionFeatureWithSubstitution

Definition at line 69 of file qgsattributeaction.cpp.

References QgsAction::action(), at(), QgsAction::capture(), mLayer, QgsAction::name(), QgsExpression::replaceExpressionText(), QgsAction::runable(), runAction(), size(), and QgsAction::type().

QString QgsAttributeAction::expandAction ( QString  action,
const QgsAttributeMap attributes,
uint  defaultValueIndex 
)

Expands the given action, replacing all 's with the value as given.

Definition at line 124 of file qgsattributeaction.cpp.

References QgsVectorLayer::attributeDisplayName(), QgsFields::count(), mLayer, and QgsVectorLayer::pendingFields().

QString QgsAttributeAction::expandAction ( QString  action,
QgsFeature feat,
const QMap< QString, QVariant > *  substitutionMap = 0 
)

Expands the given action using the expression builder This function currently replaces each expression between [% and %] placeholders in the action with the result of its evaluation on the feature passed as argument.

Additional substitutions can be passed through the substitutionMap parameter

Note
added in 1.9

Definition at line 174 of file qgsattributeaction.cpp.

References QgsExpression::evalErrorString(), QgsExpression::evaluate(), QgsExpression::hasEvalError(), QgsExpression::hasParserError(), index, mLayer, QgsExpression::parserErrorString(), QgsVectorLayer::pendingFields(), and QgsDebugMsg.

QgsVectorLayer* QgsAttributeAction::layer ( )
inline

Return the layer.

Definition at line 142 of file qgsattributeaction.h.

const QList<QgsAction>& QgsAttributeAction::listActions ( )
inline

List all actions.

Definition at line 139 of file qgsattributeaction.h.

QgsAction& QgsAttributeAction::operator[] ( int  idx)
inline

Definition at line 172 of file qgsattributeaction.h.

bool QgsAttributeAction::readXML ( const QDomNode &  layer_node)

Reads the actions in in XML format.

Definition at line 249 of file qgsattributeaction.cpp.

References addAction(), and mActions.

Referenced by QgsVectorLayer::readSymbology().

void QgsAttributeAction::removeAction ( int  index)

Remove an action at given index.

Definition at line 48 of file qgsattributeaction.cpp.

References mActions.

void QgsAttributeAction::runAction ( const QgsAction action,
void(*)(const QString &)  executePython = 0 
)
private
void QgsAttributeAction::setDefaultAction ( int  actionNumber)
inline

Definition at line 179 of file qgsattributeaction.h.

void QgsAttributeAction::setPythonExecute ( void(*)(const QString &)  runPython)
static
Deprecated:
Initialize QgsPythonRunner instead

Definition at line 272 of file qgsattributeaction.cpp.

References smPythonExecute.

int QgsAttributeAction::size ( ) const
inline

Definition at line 170 of file qgsattributeaction.h.

Referenced by doAction(), and QgsDualView::viewWillShowContextMenu().

bool QgsAttributeAction::writeXML ( QDomNode &  layer_node,
QDomDocument &  doc 
) const

Writes the actions out in XML format.

Definition at line 231 of file qgsattributeaction.cpp.

References mActions.

Referenced by QgsVectorLayer::writeSymbology().

Member Data Documentation

QList<QgsAction> QgsAttributeAction::mActions
private

Definition at line 182 of file qgsattributeaction.h.

Referenced by addAction(), readXML(), removeAction(), and writeXML().

int QgsAttributeAction::mDefaultAction
private

Definition at line 189 of file qgsattributeaction.h.

QgsVectorLayer* QgsAttributeAction::mLayer
private

Definition at line 183 of file qgsattributeaction.h.

Referenced by doAction(), and expandAction().

void(* QgsAttributeAction::smPythonExecute)(const QString &)=0
staticprivate

Definition at line 184 of file qgsattributeaction.h.

Referenced by runAction(), and setPythonExecute().


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