16 #ifndef QGSEXPRESSIONBUILDER_H
17 #define QGSEXPRESSIONBUILDER_H
20 #include "ui_qgsexpressionbuilder.h"
25 #include "QStandardItemModel"
26 #include "QStandardItem"
27 #include "QSortFilterProxyModel"
28 #include "QStringListModel"
48 mExpressionText = expressionText;
59 mExpressionText = expressionText;
124 if ( leftSort != rightSort )
125 return leftSort < rightSort;
132 leftString = leftString.
mid( 1 );
134 rightString = rightString.
mid( 1 );
159 void loadFieldNames();
161 void loadFieldNames(
const QgsFields& fields );
177 void setExpressionText(
const QString& expression );
206 bool highlightedItem =
false,
int sortOrder = 1 );
208 bool isExpressionValid();
210 void saveToRecent(
const QString& key );
212 void loadRecent(
const QString& key );
216 void newFunctionFile(
const QString& fileName =
"scratch" );
220 void saveFunctionFile(
QString fileName );
224 void loadCodeFromFile(
QString path );
228 void loadFunctionCode(
const QString& code );
232 void updateFunctionFileList(
const QString& path );
236 void on_btnRun_pressed();
237 void on_btnNewFile_pressed();
238 void on_cmbFileNames_currentIndexChanged(
int index );
239 void on_btnSaveFile_pressed();
241 void on_txtExpressionString_textChanged();
242 void on_txtSearchEdit_textChanged();
243 void on_txtSearchEditValues_textChanged();
244 void on_lblPreview_linkActivated(
const QString& link );
246 void operatorButtonClicked();
247 void showContextMenu(
const QPoint & );
248 void loadSampleValues();
249 void loadAllValues();
252 void setExpressionState(
bool state );
260 void expressionParsed(
bool isValid );
263 void runPythonCode(
const QString& code );
264 void updateFunctionTree();
265 void fillFieldValues(
const QString &fieldName,
int countLimit );
267 QString helpStylesheet()
const;
273 QString formatPreviewString(
const QString &previewString )
const;
275 void loadExpressionContext();
286 bool mExpressionValid;
294 #endif // QGSEXPRESSIONBUILDER_H
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const
QString getExpressionText() const
void setFilterCaseSensitivity(Qt::CaseSensitivity cs)
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const =0
int localeAwareCompare(const QString &other) const
QString getHelpText() const
Get the help text that is associated with this expression item.
QgsExpressionItem(const QString &label, const QString &expressionText, const QString &helpText, QgsExpressionItem::ItemType itemType=ExpressionNode)
static const int CustomSortRole
Custom sort order role.
Container of fields for a vector layer.
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
QgsExpressionItemSearchProxy()
virtual void setData(const QVariant &value, int role)
Search proxy used to filter the QgsExpressionBuilderWidget tree.
int toInt(bool *ok) const
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const
virtual QVariant data(const QModelIndex &index, int role) const =0
QgsExpressionItem(const QString &label, const QString &expressionText, QgsExpressionItem::ItemType itemType=ExpressionNode)
General purpose distance and area calculator.
virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
An expression item that can be used in the QgsExpressionBuilderWidget tree.
QAbstractItemModel * sourceModel() const
QString mid(int position, int n) const
static const int ItemTypeRole
Item type role.
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override
Represents a vector layer which manages a vector based data sets.
virtual QVariant data(const QModelIndex &index, int role) const
QgsExpressionItem::ItemType getItemType() const
Get the type of expression item eg header, field, ExpressionNode.
void setHelpText(const QString &helpText)
Set the help text for the current item.