Index: src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp =================================================================== --- src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp (revision 14875) +++ src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp (working copy) @@ -176,6 +176,7 @@ #include "qgscategorizedsymbolrendererv2widget.h" #include "qgsgraduatedsymbolrendererv2.h" #include "qgsgraduatedsymbolrendererv2widget.h" +#include "qgssearchquerybuilder.h" #include #include @@ -315,9 +316,19 @@ l->addWidget( symbolSel ); groupSymbol->setLayout( l ); + connect( btnExpressionBuilder, SIGNAL( clicked() ), this, SLOT( buildExpreesion() ) ); connect( btnTestFilter, SIGNAL( clicked() ), this, SLOT( testFilter() ) ); } +void QgsRendererRulePropsDialog::buildExpreesion() +{ + QgsSearchQueryBuilder dlg( mLayer, this ); + dlg.setSearchString( editFilter->text() ); + + if ( dlg.exec() ) + editFilter->setText( dlg.searchString() ); +} + void QgsRendererRulePropsDialog::testFilter() { QgsSearchString filterParsed; Index: src/gui/symbology-ng/qgsrulebasedrendererv2widget.h =================================================================== --- src/gui/symbology-ng/qgsrulebasedrendererv2widget.h (revision 14875) +++ src/gui/symbology-ng/qgsrulebasedrendererv2widget.h (working copy) @@ -110,6 +110,7 @@ public slots: void testFilter(); + void buildExpreesion(); protected: QgsRuleBasedRendererV2::Rule mRule; Index: src/ui/qgsrendererrulepropsdialogbase.ui =================================================================== --- src/ui/qgsrendererrulepropsdialogbase.ui (revision 14875) +++ src/ui/qgsrendererrulepropsdialogbase.ui (working copy) @@ -16,6 +16,9 @@ + + 0 + @@ -27,6 +30,19 @@ + + + + 0 + 0 + + + + Builder + + + + Test