QGIS API Documentation
3.8.0-Zanzibar (11aff65)
|
The QgsExpressionLineEdit widget includes a line edit for entering expressions together with a button to open the expression creation dialog. More...
#include <qgsexpressionlineedit.h>
Public Slots | |
void | setExpression (const QString &expression) |
Sets the current expression to show in the widget. More... | |
Signals | |
void | expressionChanged (const QString &expression) |
Emitted when the expression is changed. More... | |
Public Member Functions | |
QgsExpressionLineEdit (QWidget *parent=nullptr) | |
Constructor for QgsExpressionLineEdit. More... | |
~QgsExpressionLineEdit () override | |
QString | expectedOutputFormat () const |
Returns the expected format string, which is shown in the expression builder dialog for the widget. More... | |
QString | expression () const |
Returns the current expression shown in the widget. More... | |
QString | expressionDialogTitle () const |
Returns the title used for the expression dialog. More... | |
bool | isValidExpression (QString *expressionError=nullptr) const |
Determines if the current expression is valid. More... | |
void | registerExpressionContextGenerator (const QgsExpressionContextGenerator *generator) |
Register an expression context generator class that will be used to retrieve an expression context for the widget. More... | |
void | setExpectedOutputFormat (const QString &expected) |
Set the expected format string, which is shown in the expression builder dialog for the widget. More... | |
void | setExpressionDialogTitle (const QString &title) |
Sets the title used in the expression builder dialog. More... | |
void | setGeomCalculator (const QgsDistanceArea &distanceArea) |
Set the geometry calculator used in the expression dialog. More... | |
void | setLayer (QgsVectorLayer *layer) |
Sets a layer associated with the widget. More... | |
void | setMultiLine (bool multiLine) |
Sets whether the widget should show a multiline text editor. More... | |
Protected Member Functions | |
void | changeEvent (QEvent *event) override |
Friends | |
class | TestQgsFieldExpressionWidget |
The QgsExpressionLineEdit widget includes a line edit for entering expressions together with a button to open the expression creation dialog.
This widget is designed for use in contexts where no layer fields are available for use in an expression. In contexts where the expression is directly associated with a layer and fields can be used, then QgsFieldExpressionWidget is a more appropriate choice as it gives users direct access to select fields from a drop-down list.
QgsExpressionLineEdit also supports a multiline editor mode which is useful where more space is available for the widget, but where QgsExpressionBuilderWidget is too complex or large for use.
Definition at line 48 of file qgsexpressionlineedit.h.
|
explicit |
Constructor for QgsExpressionLineEdit.
parent | parent widget |
Definition at line 32 of file qgsexpressionlineedit.cpp.
|
overridedefault |
|
overrideprotected |
Definition at line 193 of file qgsexpressionlineedit.cpp.
QString QgsExpressionLineEdit::expectedOutputFormat | ( | ) | const |
Returns the expected format string, which is shown in the expression builder dialog for the widget.
This is purely a text format and no expression validation is done against it.
Definition at line 110 of file qgsexpressionlineedit.cpp.
QString QgsExpressionLineEdit::expression | ( | ) | const |
Returns the current expression shown in the widget.
Definition at line 132 of file qgsexpressionlineedit.cpp.
|
signal |
Emitted when the expression is changed.
expression | new expression |
|
inline |
Returns the title used for the expression dialog.
Definition at line 72 of file qgsexpressionlineedit.h.
bool QgsExpressionLineEdit::isValidExpression | ( | QString * | expressionError = nullptr | ) | const |
Determines if the current expression is valid.
expressionError | will be set to any generated error message if specified |
true
if the current expression is valid. Definition at line 142 of file qgsexpressionlineedit.cpp.
void QgsExpressionLineEdit::registerExpressionContextGenerator | ( | const QgsExpressionContextGenerator * | generator | ) |
Register an expression context generator class that will be used to retrieve an expression context for the widget.
generator | A QgsExpressionContextGenerator class that will be used to create an expression context when required. |
Definition at line 148 of file qgsexpressionlineedit.cpp.
void QgsExpressionLineEdit::setExpectedOutputFormat | ( | const QString & | expected | ) |
Set the expected format string, which is shown in the expression builder dialog for the widget.
This is purely a text format and no expression validation is done against it.
Definition at line 115 of file qgsexpressionlineedit.cpp.
|
slot |
Sets the current expression to show in the widget.
expression | expression string |
Definition at line 153 of file qgsexpressionlineedit.cpp.
void QgsExpressionLineEdit::setExpressionDialogTitle | ( | const QString & | title | ) |
Sets the title used in the expression builder dialog.
title | dialog title |
Definition at line 51 of file qgsexpressionlineedit.cpp.
void QgsExpressionLineEdit::setGeomCalculator | ( | const QgsDistanceArea & | distanceArea | ) |
Set the geometry calculator used in the expression dialog.
distanceArea | calculator |
Definition at line 120 of file qgsexpressionlineedit.cpp.
void QgsExpressionLineEdit::setLayer | ( | QgsVectorLayer * | layer | ) |
Sets a layer associated with the widget.
Required in order to get the fields and values from the layer. This will also automatically register the layer as expression context generator if no generator has been set before or the previous layer has been used as generator.
Definition at line 125 of file qgsexpressionlineedit.cpp.
void QgsExpressionLineEdit::setMultiLine | ( | bool | multiLine | ) |
Sets whether the widget should show a multiline text editor.
multiLine | set to true to show multiline editor, or false to show single line editor (the default). |
Definition at line 56 of file qgsexpressionlineedit.cpp.
|
friend |
Definition at line 185 of file qgsexpressionlineedit.h.