|
QGIS API Documentation
master-3f58142
|
A reusable widget that can be used to build a expression string. More...
#include <qgsexpressionbuilderwidget.h>
Collaboration diagram for QgsExpressionBuilderWidget:Public Slots | |
| void | currentChanged (const QModelIndex &index, const QModelIndex &) |
| void | loadAllValues () |
| void | loadSampleValues () |
| void | on_expressionTree_doubleClicked (const QModelIndex &index) |
| void | on_lblPreview_linkActivated (QString link) |
| void | on_mValueListWidget_itemDoubleClicked (QListWidgetItem *item) |
| void | on_txtExpressionString_textChanged () |
| void | on_txtSearchEdit_textChanged () |
| void | operatorButtonClicked () |
| void | showContextMenu (const QPoint &) |
Signals | |
| void | expressionParsed (bool isValid) |
| Emitted when the user changes the expression in the widget. | |
Public Member Functions | |
| QgsExpressionBuilderWidget (QWidget *parent) | |
| ~QgsExpressionBuilderWidget () | |
| QString | expressionText () |
| Gets the expression string that has been set in the expression area. | |
| bool | isExpressionValid () |
| void | loadFieldNames () |
| Loads all the field names from the layer. | |
| void | loadFieldNames (const QgsFields &fields) |
| void | registerItem (QString group, QString label, QString expressionText, QString helpText="", QgsExpressionItem::ItemType type=QgsExpressionItem::ExpressionNode) |
| Registers a node item for the expression builder. | |
| void | setExpressionText (const QString &expression) |
| Sets the expression string for the widget. | |
| void | setGeomCalculator (const QgsDistanceArea &da) |
| Sets geometry calculator used in distance/area calculations. | |
| void | setLayer (QgsVectorLayer *layer) |
| Sets layer in order to get the fields and values. | |
Private Slots | |
| void | setExpressionState (bool state) |
Private Member Functions | |
| void | fillFieldValues (int fieldIndex, int countLimit) |
| QString | loadFunctionHelp (QgsExpressionItem *functionName) |
Private Attributes | |
| QgsExpressionHighlighter * | highlighter |
| QgsDistanceArea | mDa |
| QMap< QString, QgsExpressionItem * > | mExpressionGroups |
| bool | mExpressionValid |
| QgsFeature | mFeature |
| QgsVectorLayer * | mLayer |
| QStandardItemModel * | mModel |
| QgsExpressionItemSearchProxy * | mProxyModel |
A reusable widget that can be used to build a expression string.
See QgsExpressionBuilderDialog for exmaple of usage.
Definition at line 107 of file qgsexpressionbuilderwidget.h.
| QgsExpressionBuilderWidget::QgsExpressionBuilderWidget | ( | QWidget * | parent | ) |
Definition at line 27 of file qgsexpressionbuilderwidget.cpp.
References currentChanged(), expressionParsed(), QgsExpression::functionCount(), QgsExpression::Functions(), QgsExpression::Function::group(), QgsExpression::Function::helptext(), highlighter, loadAllValues(), loadSampleValues(), mModel, mProxyModel, QgsExpression::Function::name(), operatorButtonClicked(), QgsExpression::Function::params(), registerItem(), setExpressionState(), showContextMenu(), QgsExpression::specialColumns(), and tr.
Definition at line 113 of file qgsexpressionbuilderwidget.cpp.
| void QgsExpressionBuilderWidget::currentChanged | ( | const QModelIndex & | index, |
| const QModelIndex & | |||
| ) | [slot] |
Definition at line 123 of file qgsexpressionbuilderwidget.cpp.
References QgsExpressionItem::Field, QgsExpressionItem::getItemType(), loadFunctionHelp(), mModel, and mProxyModel.
Referenced by QgsExpressionBuilderWidget().
| void QgsExpressionBuilderWidget::expressionParsed | ( | bool | isValid | ) | [signal] |
Emitted when the user changes the expression in the widget.
Users of this widget should connect to this signal to decide if to let the user continue.
| isValid | Is true if the expression the user has typed is valid. |
Referenced by on_txtExpressionString_textChanged(), and QgsExpressionBuilderWidget().
| QString QgsExpressionBuilderWidget::expressionText | ( | ) |
Gets the expression string that has been set in the expression area.
Definition at line 250 of file qgsexpressionbuilderwidget.cpp.
| void QgsExpressionBuilderWidget::fillFieldValues | ( | int | fieldIndex, |
| int | countLimit | ||
| ) | [private] |
Definition at line 187 of file qgsexpressionbuilderwidget.cpp.
References mLayer, and QgsVectorLayer::uniqueValues().
Referenced by loadAllValues(), and loadSampleValues().
Definition at line 240 of file qgsexpressionbuilderwidget.cpp.
References mExpressionValid.
| void QgsExpressionBuilderWidget::loadAllValues | ( | ) | [slot] |
Definition at line 395 of file qgsexpressionbuilderwidget.cpp.
References QgsVectorLayer::fieldNameIndex(), fillFieldValues(), mLayer, mModel, and mProxyModel.
Referenced by QgsExpressionBuilderWidget(), and showContextMenu().
Loads all the field names from the layer.
Definition at line 161 of file qgsexpressionbuilderwidget.cpp.
References mLayer, and QgsVectorLayer::pendingFields().
| void QgsExpressionBuilderWidget::loadFieldNames | ( | const QgsFields & | fields | ) |
Definition at line 171 of file qgsexpressionbuilderwidget.cpp.
References QgsExpressionHighlighter::addFields(), QgsFields::count(), QgsExpressionItem::Field, highlighter, QgsFields::isEmpty(), and registerItem().
| QString QgsExpressionBuilderWidget::loadFunctionHelp | ( | QgsExpressionItem * | functionName | ) | [private] |
Definition at line 414 of file qgsexpressionbuilderwidget.cpp.
References QgsExpressionItem::Field, QgsExpressionItem::getHelpText(), QgsExpressionItem::getItemType(), QgsExpression::helptext(), and QgsApplication::reportStyleSheet().
Referenced by currentChanged().
| void QgsExpressionBuilderWidget::loadSampleValues | ( | ) | [slot] |
Definition at line 381 of file qgsexpressionbuilderwidget.cpp.
References QgsVectorLayer::fieldNameIndex(), fillFieldValues(), mLayer, mModel, and mProxyModel.
Referenced by QgsExpressionBuilderWidget(), and showContextMenu().
| void QgsExpressionBuilderWidget::on_expressionTree_doubleClicked | ( | const QModelIndex & | index | ) | [slot] |
Definition at line 146 of file qgsexpressionbuilderwidget.cpp.
References QgsExpressionItem::getExpressionText(), QgsExpressionItem::getItemType(), QgsExpressionItem::Header, mModel, and mProxyModel.
| void QgsExpressionBuilderWidget::on_lblPreview_linkActivated | ( | QString | link | ) | [slot] |
Definition at line 344 of file qgsexpressionbuilderwidget.cpp.
References QgsMessageViewer::setMessageAsHtml(), and tr.
| void QgsExpressionBuilderWidget::on_mValueListWidget_itemDoubleClicked | ( | QListWidgetItem * | item | ) | [slot] |
Definition at line 353 of file qgsexpressionbuilderwidget.cpp.
| void QgsExpressionBuilderWidget::on_txtExpressionString_textChanged | ( | ) | [slot] |
Definition at line 260 of file qgsexpressionbuilderwidget.cpp.
References QgsExpression::evalErrorString(), QgsExpression::evaluate(), expressionParsed(), QgsVectorLayer::geometryType(), QgsVectorLayer::getFeatures(), QgsExpression::hasEvalError(), QgsExpression::hasParserError(), QgsFeature::isValid(), mDa, mFeature, mLayer, QgsExpression::needsGeometry(), QgsFeatureRequest::NoFlags, QgsFeatureRequest::NoGeometry, QGis::NoGeometry, QgsExpression::parserErrorString(), QgsVectorLayer::pendingFields(), QgsExpression::setGeomCalculator(), and tr.
| void QgsExpressionBuilderWidget::on_txtSearchEdit_textChanged | ( | ) | [slot] |
Definition at line 335 of file qgsexpressionbuilderwidget.cpp.
References mProxyModel.
| void QgsExpressionBuilderWidget::operatorButtonClicked | ( | ) | [slot] |
Definition at line 358 of file qgsexpressionbuilderwidget.cpp.
Referenced by QgsExpressionBuilderWidget().
| void QgsExpressionBuilderWidget::registerItem | ( | QString | group, |
| QString | label, | ||
| QString | expressionText, | ||
| QString | helpText = "", |
||
| QgsExpressionItem::ItemType | type = QgsExpressionItem::ExpressionNode |
||
| ) |
Registers a node item for the expression builder.
| group | The group the item will be show in the tree view. If the group doesn't exsit it will be created. |
| label | The label that is show to the user for the item in the tree. |
| expressionText | The text that is inserted into the expression area when the user double clicks on the item. |
| helpText | The help text that the user will see when item is selected. |
| type | The type of the expression item. |
Definition at line 215 of file qgsexpressionbuilderwidget.cpp.
References QgsExpression::group(), QgsExpressionItem::Header, mExpressionGroups, and mModel.
Referenced by loadFieldNames(), and QgsExpressionBuilderWidget().
| void QgsExpressionBuilderWidget::setExpressionState | ( | bool | state | ) | [private, slot] |
Definition at line 409 of file qgsexpressionbuilderwidget.cpp.
References mExpressionValid.
Referenced by QgsExpressionBuilderWidget().
| void QgsExpressionBuilderWidget::setExpressionText | ( | const QString & | expression | ) |
Sets the expression string for the widget.
Definition at line 255 of file qgsexpressionbuilderwidget.cpp.
| void QgsExpressionBuilderWidget::setGeomCalculator | ( | const QgsDistanceArea & | da | ) |
Sets geometry calculator used in distance/area calculations.
Definition at line 245 of file qgsexpressionbuilderwidget.cpp.
References mDa.
| void QgsExpressionBuilderWidget::setLayer | ( | QgsVectorLayer * | layer | ) |
Sets layer in order to get the fields and values.
Definition at line 118 of file qgsexpressionbuilderwidget.cpp.
References mLayer.
| void QgsExpressionBuilderWidget::showContextMenu | ( | const QPoint & | pt | ) | [slot] |
Definition at line 364 of file qgsexpressionbuilderwidget.cpp.
References QgsExpressionItem::Field, QgsExpressionItem::getItemType(), loadAllValues(), loadSampleValues(), mModel, mProxyModel, and tr.
Referenced by QgsExpressionBuilderWidget().
Definition at line 183 of file qgsexpressionbuilderwidget.h.
Referenced by loadFieldNames(), and QgsExpressionBuilderWidget().
Definition at line 185 of file qgsexpressionbuilderwidget.h.
Referenced by on_txtExpressionString_textChanged(), and setGeomCalculator().
QMap<QString, QgsExpressionItem*> QgsExpressionBuilderWidget::mExpressionGroups [private] |
Definition at line 181 of file qgsexpressionbuilderwidget.h.
Referenced by registerItem().
bool QgsExpressionBuilderWidget::mExpressionValid [private] |
Definition at line 184 of file qgsexpressionbuilderwidget.h.
Referenced by isExpressionValid(), and setExpressionState().
Definition at line 182 of file qgsexpressionbuilderwidget.h.
Referenced by on_txtExpressionString_textChanged().
QgsVectorLayer* QgsExpressionBuilderWidget::mLayer [private] |
Definition at line 178 of file qgsexpressionbuilderwidget.h.
Referenced by fillFieldValues(), loadAllValues(), loadFieldNames(), loadSampleValues(), on_txtExpressionString_textChanged(), and setLayer().
QStandardItemModel* QgsExpressionBuilderWidget::mModel [private] |
Definition at line 179 of file qgsexpressionbuilderwidget.h.
Referenced by currentChanged(), loadAllValues(), loadSampleValues(), on_expressionTree_doubleClicked(), QgsExpressionBuilderWidget(), registerItem(), and showContextMenu().
Definition at line 180 of file qgsexpressionbuilderwidget.h.
Referenced by currentChanged(), loadAllValues(), loadSampleValues(), on_expressionTree_doubleClicked(), on_txtSearchEdit_textChanged(), QgsExpressionBuilderWidget(), and showContextMenu().