Quantum GIS API Documentation  1.8
Public Slots | Signals | Public Member Functions | Private Slots | Private Member Functions | Private Attributes
QgsExpressionBuilderWidget Class Reference

A reusable widget that can be used to build a expression string. More...

#include <qgsexpressionbuilderwidget.h>

Collaboration diagram for QgsExpressionBuilderWidget:
Collaboration graph
[legend]

List of all members.

Public Slots

void currentChanged (const QModelIndex &index, const QModelIndex &)
void on_expressionTree_doubleClicked (const QModelIndex &index)
void on_txtExpressionString_textChanged ()
void on_txtSearchEdit_textChanged ()
void on_lblPreview_linkActivated (QString link)
void on_mValueListWidget_itemDoubleClicked (QListWidgetItem *item)
void operatorButtonClicked ()
void showContextMenu (const QPoint &)
void loadSampleValues ()
void loadAllValues ()

Signals

void expressionParsed (bool isValid)
 Emited when the user changes the expression in the widget.

Public Member Functions

 QgsExpressionBuilderWidget (QWidget *parent)
 ~QgsExpressionBuilderWidget ()
void setLayer (QgsVectorLayer *layer)
 Sets layer in order to get the fields and values.
void loadFieldNames ()
 Loads all the field names from the layer.
void loadFieldNames (QgsFieldMap fields)
QString expressionText ()
 Gets the expression string that has been set in the expression area.
void setExpressionText (const QString &expression)
 Sets the expression string for the widget.
void registerItem (QString group, QString label, QString expressionText, QString helpText="", QgsExpressionItem::ItemType type=QgsExpressionItem::ExpressionNode)
 Registers a node item for the expression builder.
bool isExpressionValid ()

Private Slots

void setExpressionState (bool state)

Private Member Functions

void fillFieldValues (int fieldIndex, int countLimit)
QString loadFunctionHelp (QgsExpressionItem *functionName)

Private Attributes

QgsVectorLayermLayer
QStandardItemModel * mModel
QgsExpressionItemSearchProxymProxyModel
QMap< QString,
QgsExpressionItem * > 
mExpressionGroups
QgsFeature mFeature
QgsExpressionHighlighterhighlighter
bool mExpressionValid

Detailed Description

A reusable widget that can be used to build a expression string.

See QgsExpressionBuilderDialog for exmaple of usage.

Definition at line 106 of file qgsexpressionbuilderwidget.h.


Constructor & Destructor Documentation

Definition at line 94 of file qgsexpressionbuilderwidget.cpp.


Member Function Documentation

void QgsExpressionBuilderWidget::currentChanged ( const QModelIndex &  index,
const QModelIndex &   
) [slot]
void QgsExpressionBuilderWidget::expressionParsed ( bool  isValid) [signal]

Emited 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.

Parameters:
isValidIs true if the expression the user has typed is valid.

Referenced by on_txtExpressionString_textChanged(), and QgsExpressionBuilderWidget().

Gets the expression string that has been set in the expression area.

Returns:
The expression as a string.

Definition at line 223 of file qgsexpressionbuilderwidget.cpp.

void QgsExpressionBuilderWidget::fillFieldValues ( int  fieldIndex,
int  countLimit 
) [private]

Definition at line 167 of file qgsexpressionbuilderwidget.cpp.

References mLayer, and QgsVectorLayer::uniqueValues().

Referenced by loadAllValues(), and loadSampleValues().

Definition at line 218 of file qgsexpressionbuilderwidget.cpp.

References mExpressionValid.

Loads all the field names from the layer.

Remarks:
Should this really be public couldn't we just do this for the user?

Definition at line 141 of file qgsexpressionbuilderwidget.cpp.

References mLayer, and QgsVectorLayer::pendingFields().

QString QgsExpressionBuilderWidget::loadFunctionHelp ( QgsExpressionItem functionName) [private]
void QgsExpressionBuilderWidget::on_expressionTree_doubleClicked ( const QModelIndex &  index) [slot]

Definition at line 315 of file qgsexpressionbuilderwidget.cpp.

Definition at line 297 of file qgsexpressionbuilderwidget.cpp.

References mProxyModel.

Definition at line 320 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.

Parameters:
groupThe group the item will be show in the tree view. If the group doesn't exsit it will be created.
labelThe label that is show to the user for the item in the tree.
expressionTextThe text that is inserted into the expression area when the user double clicks on the item.
helpTextThe help text that the user will see when item is selected.
typeThe type of the expression item.

Definition at line 195 of file qgsexpressionbuilderwidget.cpp.

References QgsExpressionItem::Header, mExpressionGroups, and mModel.

Referenced by loadFieldNames(), and QgsExpressionBuilderWidget().

void QgsExpressionBuilderWidget::setExpressionState ( bool  state) [private, slot]

Definition at line 371 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 228 of file qgsexpressionbuilderwidget.cpp.

Sets layer in order to get the fields and values.

Note:
this needs to be called before calling loadFieldNames().

Definition at line 99 of file qgsexpressionbuilderwidget.cpp.

References mLayer.

void QgsExpressionBuilderWidget::showContextMenu ( const QPoint &  pt) [slot]

Member Data Documentation

Definition at line 177 of file qgsexpressionbuilderwidget.h.

Referenced by loadFieldNames(), and QgsExpressionBuilderWidget().

Definition at line 175 of file qgsexpressionbuilderwidget.h.

Referenced by registerItem().

Definition at line 178 of file qgsexpressionbuilderwidget.h.

Referenced by isExpressionValid(), and setExpressionState().

Definition at line 176 of file qgsexpressionbuilderwidget.h.

Referenced by on_txtExpressionString_textChanged().

QStandardItemModel* QgsExpressionBuilderWidget::mModel [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines