55 LoadUserExpressions = 1 << 2,
56 LoadAll = LoadRecent | LoadUserExpressions,
58 Q_DECLARE_FLAGS( Flags, Flag )
107 Q_DECL_DEPRECATED
void loadFieldsAndValues(
const QMap<QString, QStringList> &fieldValues )
SIP_DEPRECATED;
116 QString expressionText();
119 void setExpressionText(
const QString &expression );
126 QString expectedOutputFormat();
134 void setExpectedOutputFormat(
const QString &expected );
152 bool isExpressionValid();
159 Q_DECL_DEPRECATED
void saveToRecent(
const QString &collection =
"generic" )
SIP_DEPRECATED;
166 Q_DECL_DEPRECATED
void loadRecent( const QString &collection = QStringLiteral( "generic" ) )
SIP_DEPRECATED ;
186 Q_DECL_DEPRECATED
void saveToUserExpressions( const QString &label, const QString &expression, const QString &helpText )
SIP_DEPRECATED;
193 Q_DECL_DEPRECATED
void removeFromUserExpressions( const QString &label )
SIP_DEPRECATED;
198 void newFunctionFile( const QString &fileName = "scratch" );
203 void saveFunctionFile( QString fileName );
208 void loadCodeFromFile( QString path );
213 void loadFunctionCode( const QString &code );
218 void updateFunctionFileList( const QString &path );
245 bool evalError() const;
252 bool parserError() const;
259 void setExpressionPreviewVisible(
bool isVisible );
268 void loadSampleValues();
275 void loadAllValues();
284 void loadSampleUsedValues();
293 void loadAllUsedValues();
305 void setAutoSave(
bool enabled ) { mAutoSave = enabled; }
311 void storeCurrentUserExpression( );
318 void removeSelectedUserExpression( );
325 void editSelectedUserExpression();
332 const QList<QgsExpressionItem *> findExpressions(
const QString &label );
336 void indicatorClicked(
int line,
int index, Qt::KeyboardModifiers state );
337 void onExpressionParsed(
bool state );
339 void operatorButtonClicked();
340 void btnRun_pressed();
341 void btnNewFile_pressed();
342 void btnRemoveFile_pressed();
349 void exportUserExpressions_pressed();
356 void importUserExpressions_pressed();
357 void cmbFileNames_currentItemChanged( QListWidgetItem *item, QListWidgetItem *lastitem );
358 void insertExpressionText(
const QString &text );
359 void txtExpressionString_textChanged();
360 void txtSearchEditValues_textChanged();
361 void mValuesListView_doubleClicked(
const QModelIndex &index );
362 void txtPython_textChanged();
389 void showEvent( QShowEvent *e )
override;
397 , mExpressionBuilderWidget( expressionBuilderWidget ) {}
405 int FUNCTION_MARKER_ID = 25;
407 void createErrorMarkers(
const QList<QgsExpression::ParserError> &errors );
409 void clearFunctionMarkers();
411 void runPythonCode(
const QString &code );
413 void fillFieldValues(
const QString &fieldName,
QgsVectorLayer *layer,
int countLimit,
bool forceUsedValues =
false );
416 QString helpStylesheet()
const;
419 void expressionContextUpdated();
424 std::unique_ptr<QStandardItemModel> mValuesModel;
425 std::unique_ptr<QSortFilterProxyModel> mProxyValues;
427 ExpressionTreeMenuProvider *mExpressionTreeMenuProvider =
nullptr;
429 bool mAutoSave =
true;
430 QString mFunctionsPath;
433 bool mExpressionValid =
false;
435 QPointer< QgsProject > mProject;
438 QString mUserExpressionsGroupName;
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...