16 #ifndef QGSFIELDEXPRESSIONWIDGET_H 17 #define QGSFIELDEXPRESSIONWIDGET_H 19 #include <QSharedPointer> 21 #include <QToolButton> 43 Q_PROPERTY(
QString expressionDialogTitle READ expressionDialogTitle WRITE setExpressionDialogTitle )
44 Q_FLAGS( QgsFieldProxyModel::Filters )
54 void setExpressionDialogTitle( const
QString& title );
57 const
QString expressionDialogTitle() {
return mExpressionDialogTitle; }
60 void setFilters(
const QgsFieldProxyModel::Filters& filters );
62 void setLeftHandButtonStyle(
bool isLeft );
65 QgsFieldProxyModel::Filters
filters()
const {
return mFieldProxyModel->filters(); }
75 QString currentField(
bool *isExpression =
nullptr,
bool *isValid =
nullptr )
const;
80 bool isValidExpression(
QString *expressionError =
nullptr )
const;
85 bool isExpression()
const;
112 void registerGetExpressionContextCallback( ExpressionContextCallback fnGetExpressionContext,
const void* context );
116 void fieldChanged(
const QString& fieldName );
119 void fieldChanged(
const QString& fieldName,
bool isValid );
131 void setField(
const QString &fieldName );
135 void editExpression();
138 void expressionEdited(
const QString& expression );
141 void expressionEditingFinished();
143 void currentFieldChanged();
150 void updateLineEditStyle(
const QString& expression =
QString() );
152 bool isExpressionValid(
const QString& expressionStr );
160 void beforeResetModel();
161 void afterResetModel();
167 QString mExpressionDialogTitle;
170 ExpressionContextCallback mExpressionContextCallback;
171 const void* mExpressionContextCallbackContext;
174 friend class TestQgsFieldExpressionWidget;
177 #endif // QGSFIELDEXPRESSIONWIDGET_H
Base class for all map layer types.
The QgsFieldProxyModel class provides an easy to use model to display the list of fields of a layer...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
General purpose distance and area calculator.
Represents a vector layer which manages a vector based data sets.