QGIS API Documentation  2.7.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Slots | Signals | Public Member Functions | Protected Slots | Protected Member Functions | List of all members
QgsFieldExpressionWidget Class Reference

The QgsFieldExpressionWidget class reates a widget to choose fields and edit expressions It contains a combo boxto display the fields and expression and a button to open the expression dialog. More...

#include <qgsfieldexpressionwidget.h>

Inheritance diagram for QgsFieldExpressionWidget:
Inheritance graph
[legend]

Public Slots

void setField (const QString &fieldName)
 sets the current field or expression in the widget More...
 
void setLayer (QgsVectorLayer *layer)
 set the layer used to display the fields and expression More...
 
void setLayer (QgsMapLayer *layer)
 convenience slot to connect QgsMapLayerComboBox layer signal More...
 

Signals

void fieldChanged (QString fieldName)
 the signal is emitted when the currently selected field changes More...
 
void fieldChanged (QString fieldName, bool isValid)
 fieldChanged signal with indication of the validity of the expression More...
 

Public Member Functions

 QgsFieldExpressionWidget (QWidget *parent=0)
 QgsFieldExpressionWidget creates a widget with a combo box to display the fields and expression and a button to open the expression dialog. More...
 
QString currentField (bool *isExpression=0, bool *isValid=0) const
 currentField returns the currently selected field or expression if allowed More...
 
QString currentText () const
 Return the current text that is set in the expression area. More...
 
const QString expressionDialogTitle ()
 return the title used for the expression dialog More...
 
QgsFieldProxyModel::Filters filters () const
 currently used filter on list of fields More...
 
bool isExpression () const
 
bool isValidExpression (QString *expressionError=0) const
 Return true if the current expression is valid. More...
 
QgsVectorLayerlayer () const
 Returns the currently used layer. More...
 
void setExpressionDialogTitle (QString title)
 define the title used in the expression dialog More...
 
void setFilters (QgsFieldProxyModel::Filters filters)
 setFilters allows fitering according to the type of field More...
 
void setGeomCalculator (const QgsDistanceArea &da)
 set the geometry calculator used in the expression dialog More...
 
void setLeftHandButtonStyle (bool isLeft)
 

Protected Slots

void currentFieldChanged ()
 
void editExpression ()
 open the expression dialog to edit the current or add a new expression More...
 
void expressionEdited (const QString expression)
 when expression is edited by the user in the line edit, it will be checked for validity More...
 
void expressionEditingFinished ()
 when expression has been edited (finished) it will be added to the model More...
 
bool isExpressionValid (const QString expressionStr)
 
void updateLineEditStyle (const QString expression=QString())
 updateLineEditStyle will re-style (color/font) the line edit depending on content and status More...
 

Protected Member Functions

void changeEvent (QEvent *event)
 

Detailed Description

The QgsFieldExpressionWidget class reates a widget to choose fields and edit expressions It contains a combo boxto display the fields and expression and a button to open the expression dialog.

The combo box is editable, allowing expressions to be edited inline. The validity of the expression is checked live on key press, invalid expressions are displayed in red. The expression will be added to the model (and the fieldChanged signals emitted) only when editing in the line edit is finished (focus lost, enter key pressed).

Definition at line 40 of file qgsfieldexpressionwidget.h.

Constructor & Destructor Documentation

QgsFieldExpressionWidget::QgsFieldExpressionWidget ( QWidget *  parent = 0)
explicit

QgsFieldExpressionWidget creates a widget with a combo box to display the fields and expression and a button to open the expression dialog.

Definition at line 25 of file qgsfieldexpressionwidget.cpp.

Member Function Documentation

void QgsFieldExpressionWidget::changeEvent ( QEvent *  event)
protected

Definition at line 202 of file qgsfieldexpressionwidget.cpp.

QString QgsFieldExpressionWidget::currentField ( bool *  isExpression = 0,
bool *  isValid = 0 
) const

currentField returns the currently selected field or expression if allowed

Parameters
isExpressiondetermines if the string returned is the name of a field or an expression
isValiddetermines if the expression (or field) returned is valid

Definition at line 105 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::currentFieldChanged ( )
protectedslot

Definition at line 210 of file qgsfieldexpressionwidget.cpp.

QString QgsFieldExpressionWidget::currentText ( ) const

Return the current text that is set in the expression area.

Definition at line 88 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::editExpression ( )
protectedslot

open the expression dialog to edit the current or add a new expression

Definition at line 166 of file qgsfieldexpressionwidget.cpp.

const QString QgsFieldExpressionWidget::expressionDialogTitle ( )
inline

return the title used for the expression dialog

Definition at line 57 of file qgsfieldexpressionwidget.h.

void QgsFieldExpressionWidget::expressionEdited ( const QString  expression)
protectedslot

when expression is edited by the user in the line edit, it will be checked for validity

Definition at line 185 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::expressionEditingFinished ( )
protectedslot

when expression has been edited (finished) it will be added to the model

Definition at line 191 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::fieldChanged ( QString  fieldName)
signal

the signal is emitted when the currently selected field changes

void QgsFieldExpressionWidget::fieldChanged ( QString  fieldName,
bool  isValid 
)
signal

fieldChanged signal with indication of the validity of the expression

QgsFieldProxyModel::Filters QgsFieldExpressionWidget::filters ( ) const
inline

currently used filter on list of fields

Definition at line 65 of file qgsfieldexpressionwidget.h.

bool QgsFieldExpressionWidget::isExpression ( ) const

Definition at line 100 of file qgsfieldexpressionwidget.cpp.

bool QgsFieldExpressionWidget::isExpressionValid ( const QString  expressionStr)
protectedslot

Definition at line 267 of file qgsfieldexpressionwidget.cpp.

bool QgsFieldExpressionWidget::isValidExpression ( QString *  expressionError = 0) const

Return true if the current expression is valid.

Definition at line 93 of file qgsfieldexpressionwidget.cpp.

QgsVectorLayer * QgsFieldExpressionWidget::layer ( ) const

Returns the currently used layer.

Definition at line 119 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::setExpressionDialogTitle ( QString  title)

define the title used in the expression dialog

Definition at line 61 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::setField ( const QString &  fieldName)
slot

sets the current field or expression in the widget

Definition at line 138 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::setFilters ( QgsFieldProxyModel::Filters  filters)

setFilters allows fitering according to the type of field

Definition at line 66 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::setGeomCalculator ( const QgsDistanceArea da)

set the geometry calculator used in the expression dialog

Definition at line 83 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::setLayer ( QgsVectorLayer layer)
slot

set the layer used to display the fields and expression

Definition at line 133 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::setLayer ( QgsMapLayer layer)
slot

convenience slot to connect QgsMapLayerComboBox layer signal

Definition at line 124 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::setLeftHandButtonStyle ( bool  isLeft)

Definition at line 71 of file qgsfieldexpressionwidget.cpp.

void QgsFieldExpressionWidget::updateLineEditStyle ( const QString  expression = QString())
protectedslot

updateLineEditStyle will re-style (color/font) the line edit depending on content and status

Parameters
expressionif expression is given it will be evaluated for the given string, otherwise it takes current expression from the model

Definition at line 232 of file qgsfieldexpressionwidget.cpp.


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