QGIS API Documentation  3.11.0-Master (81e645902f)
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
QgsSearchWidgetWrapper Class Referenceabstract

Shows a search widget on a filter form. More...

#include <qgssearchwidgetwrapper.h>

Inheritance diagram for QgsSearchWidgetWrapper:
Inheritance graph
[legend]

Public Types

enum  FilterFlag {
  EqualTo = 1 << 1, NotEqualTo = 1 << 2, GreaterThan = 1 << 3, LessThan = 1 << 4,
  GreaterThanOrEqualTo = 1 << 5, LessThanOrEqualTo = 1 << 6, Between = 1 << 7, CaseInsensitive = 1 << 8,
  Contains = 1 << 9, DoesNotContain = 1 << 10, IsNull = 1 << 11, IsNotBetween = 1 << 12,
  IsNotNull = 1 << 13, StartsWith = 1 << 14, EndsWith = 1 << 15
}
 Flags which indicate what types of filtering and searching is possible using the widget. More...
 
- Public Types inherited from QgsWidgetWrapper
enum  Property { RootPath = 0, DocumentViewerContent }
 Data defined properties for different editor widgets. More...
 

Public Slots

virtual void clearWidget ()
 Clears the widget's current value and resets it back to the default state. More...
 
void setEnabled (bool enabled) override
 Toggles whether the search widget is enabled or disabled. More...
 
- Public Slots inherited from QgsWidgetWrapper
virtual void setEnabled (bool enabled)
 Is used to enable or disable the edit functionality of the managed widget. More...
 
virtual void setFeature (const QgsFeature &feature)=0
 Is called, when the value of the widget needs to be changed. More...
 

Signals

void expressionChanged (const QString &exp)
 Emitted whenever the expression changes. More...
 
void valueChanged ()
 Emitted when a user changes the value of the search widget. More...
 
void valueCleared ()
 Emitted when a user changes the value of the search widget back to an empty, default state. More...
 
- Signals inherited from QgsWidgetWrapper
void contextChanged ()
 Signal when QgsAttributeEditorContext mContext changed. More...
 

Public Member Functions

 QgsSearchWidgetWrapper (QgsVectorLayer *vl, int fieldIdx, QWidget *parent=nullptr)
 Create a new widget wrapper. More...
 
QString aggregate () const
 If in AggregateSearch mode, which aggregate should be used to construct the filter expression. More...
 
virtual bool applyDirectly ()=0
 If this is true, then this search widget should take effect directly when its expression changes. More...
 
virtual QString createExpression (FilterFlags flags) const
 Creates a filter expression based on the current state of the search widget and the specified filter flags. More...
 
QString createFieldIdentifier () const
 Gets a field name or expression to use as field comparison. More...
 
virtual FilterFlags defaultFlags () const
 Returns the filter flags which should be set by default for the search widget. More...
 
virtual QString expression () const =0
 Will be used to access the widget's value. More...
 
int fieldIndex () const
 Returns the field index. More...
 
void setAggregate (const QString &aggregate)
 If in AggregateSearch mode, which aggregate should be used to construct the filter expression. More...
 
virtual FilterFlags supportedFlags () const
 Returns filter flags supported by the search widget. More...
 
- Public Member Functions inherited from QgsWidgetWrapper
 QgsWidgetWrapper (QgsVectorLayer *vl, QWidget *editor=nullptr, QWidget *parent=nullptr)
 Create a new widget wrapper. More...
 
QVariant config (const QString &key, const QVariant &defaultVal=QVariant()) const
 Use this inside your overridden classes to access the configuration. More...
 
QVariantMap config () const
 Returns the whole config. More...
 
const QgsAttributeEditorContextcontext () const
 Returns information about the context in which this widget is shown. More...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the editor widget's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the editor widget's property collection, used for data defined overrides. More...
 
QgsVectorLayerlayer () const
 Returns the vector layer associated with the widget. More...
 
void notifyAboutToSave ()
 Notify this widget, that the containing form is about to save and that any pending changes should be pushed to the edit buffer or they might be lost. More...
 
void setConfig (const QVariantMap &config)
 Will set the config of this wrapper to the specified config. More...
 
void setContext (const QgsAttributeEditorContext &context)
 Set the context in which this widget is shown. More...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the editor widget's property collection, used for data defined overrides. More...
 
virtual bool valid () const =0
 Returns true if the widget has been properly initialized. More...
 
QWidget * widget ()
 Access the widget managed by this wrapper. More...
 
template<class T >
T * widget ()
 Access the widget managed by this wrapper and cast it to a given type Example: QPushButton* pb = wrapper->widget<QPushButton*>();. More...
 

Static Public Member Functions

static QList< QgsSearchWidgetWrapper::FilterFlagexclusiveFilterFlags ()
 Returns a list of exclusive filter flags, which cannot be combined with other flags (e.g., EqualTo/NotEqualTo) More...
 
static QList< QgsSearchWidgetWrapper::FilterFlagnonExclusiveFilterFlags ()
 Returns a list of non-exclusive filter flags, which can be combined with other flags (e.g., CaseInsensitive) More...
 
static QString toString (QgsSearchWidgetWrapper::FilterFlag flag)
 Returns a translated string representing a filter flag. More...
 
- Static Public Member Functions inherited from QgsWidgetWrapper
static QgsWidgetWrapperfromWidget (QWidget *widget)
 Will return a wrapper for a given widget. More...
 
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the editor widget property definitions. More...
 

Protected Slots

virtual void setExpression (const QString &expression)=0
 Set the expression which is currently used as filter for this widget. More...
 
void setFeature (const QgsFeature &feature) override
 

Protected Member Functions

void clearExpression ()
 clears the expression to search for all features More...
 
- Protected Member Functions inherited from QgsWidgetWrapper
virtual QWidget * createWidget (QWidget *parent)=0
 This method should create a new widget with the provided parent. More...
 
virtual void initWidget (QWidget *editor)
 This method should initialize the editor widget with runtime data. More...
 

Protected Attributes

QString mExpression
 
int mFieldIdx
 
- Protected Attributes inherited from QgsWidgetWrapper
QgsPropertyCollection mPropertyCollection
 Data defined property collection. More...
 

Detailed Description

Shows a search widget on a filter form.

Definition at line 85 of file qgssearchwidgetwrapper.h.

Member Enumeration Documentation

◆ FilterFlag

Flags which indicate what types of filtering and searching is possible using the widget.

Since
QGIS 2.16
Enumerator
EqualTo 

Supports equal to.

NotEqualTo 

Supports not equal to.

GreaterThan 

Supports greater than.

LessThan 

Supports less than.

GreaterThanOrEqualTo 

Supports >=.

LessThanOrEqualTo 

Supports <=.

Between 

Supports searches between two values.

CaseInsensitive 

Supports case insensitive searching.

Contains 

Supports value "contains" searching.

DoesNotContain 

Supports value does not contain searching.

IsNull 

Supports searching for null values.

IsNotBetween 

Supports searching for values outside of a set range.

IsNotNull 

Supports searching for non-null values.

StartsWith 

Supports searching for strings that start with.

EndsWith 

Supports searching for strings that end with.

Definition at line 94 of file qgssearchwidgetwrapper.h.

Constructor & Destructor Documentation

◆ QgsSearchWidgetWrapper()

QgsSearchWidgetWrapper::QgsSearchWidgetWrapper ( QgsVectorLayer vl,
int  fieldIdx,
QWidget *  parent = nullptr 
)
explicit

Create a new widget wrapper.

Parameters
vlThe layer on which the field is
fieldIdxThe field which will be controlled
parentA parent widget for this widget wrapper and the created widget.

Definition at line 87 of file qgssearchwidgetwrapper.cpp.

Member Function Documentation

◆ aggregate()

QString QgsSearchWidgetWrapper::aggregate ( ) const

If in AggregateSearch mode, which aggregate should be used to construct the filter expression.

Is a Null String if none.

Since
QGIS 3.0

Definition at line 123 of file qgssearchwidgetwrapper.cpp.

◆ applyDirectly()

virtual bool QgsSearchWidgetWrapper::applyDirectly ( )
pure virtual

◆ clearExpression()

void QgsSearchWidgetWrapper::clearExpression ( )
protected

clears the expression to search for all features

Definition at line 118 of file qgssearchwidgetwrapper.cpp.

◆ clearWidget

virtual void QgsSearchWidgetWrapper::clearWidget ( )
inlinevirtualslot

Clears the widget's current value and resets it back to the default state.

Since
QGIS 2.16

Definition at line 222 of file qgssearchwidgetwrapper.h.

◆ createExpression()

virtual QString QgsSearchWidgetWrapper::createExpression ( FilterFlags  flags) const
inlinevirtual

Creates a filter expression based on the current state of the search widget and the specified filter flags.

Parameters
flagsfilter flags
Returns
filter expression
Since
QGIS 2.16

Definition at line 183 of file qgssearchwidgetwrapper.h.

◆ createFieldIdentifier()

QString QgsSearchWidgetWrapper::createFieldIdentifier ( ) const

Gets a field name or expression to use as field comparison.

If in SearchMode returns a quoted field identifier. If in AggregateSearchMode returns an appropriate aggregate expression.

Since
QGIS 3.0

Definition at line 104 of file qgssearchwidgetwrapper.cpp.

◆ defaultFlags()

QgsSearchWidgetWrapper::FilterFlags QgsSearchWidgetWrapper::defaultFlags ( ) const
virtual

Returns the filter flags which should be set by default for the search widget.

See also
supportedFlags()
Since
QGIS 2.16

Reimplemented in QgsCheckboxSearchWidgetWrapper, QgsDateTimeSearchWidgetWrapper, QgsValueRelationSearchWidgetWrapper, QgsDefaultSearchWidgetWrapper, and QgsValueMapSearchWidgetWrapper.

Definition at line 99 of file qgssearchwidgetwrapper.cpp.

◆ exclusiveFilterFlags()

QList< QgsSearchWidgetWrapper::FilterFlag > QgsSearchWidgetWrapper::exclusiveFilterFlags ( )
static

Returns a list of exclusive filter flags, which cannot be combined with other flags (e.g., EqualTo/NotEqualTo)

See also
nonExclusiveFilterFlags()
Since
QGIS 2.16

Definition at line 24 of file qgssearchwidgetwrapper.cpp.

◆ expression()

virtual QString QgsSearchWidgetWrapper::expression ( ) const
pure virtual

Will be used to access the widget's value.

Read the value from the widget and return it properly formatted to be saved in the attribute.

If an invalid variant is returned this will be interpreted as no change. Be sure to return a NULL QVariant if it should be set to NULL.

Returns
The current value the widget represents

Implemented in QgsCheckboxSearchWidgetWrapper, QgsRelationReferenceSearchWidgetWrapper, QgsDateTimeSearchWidgetWrapper, QgsRelationAggregateSearchWidgetWrapper, QgsValueRelationSearchWidgetWrapper, QgsDefaultSearchWidgetWrapper, and QgsValueMapSearchWidgetWrapper.

◆ expressionChanged

void QgsSearchWidgetWrapper::expressionChanged ( const QString &  exp)
signal

Emitted whenever the expression changes.

Parameters
expThe new search expression

◆ fieldIndex()

int QgsSearchWidgetWrapper::fieldIndex ( ) const

Returns the field index.

Since
QGIS 3.10

Definition at line 133 of file qgssearchwidgetwrapper.cpp.

◆ nonExclusiveFilterFlags()

QList< QgsSearchWidgetWrapper::FilterFlag > QgsSearchWidgetWrapper::nonExclusiveFilterFlags ( )
static

Returns a list of non-exclusive filter flags, which can be combined with other flags (e.g., CaseInsensitive)

See also
exclusiveFilterFlags()
Since
QGIS 2.16

Definition at line 43 of file qgssearchwidgetwrapper.cpp.

◆ setAggregate()

void QgsSearchWidgetWrapper::setAggregate ( const QString &  aggregate)

If in AggregateSearch mode, which aggregate should be used to construct the filter expression.

Is a Null String if none.

Since
QGIS 3.0

Definition at line 128 of file qgssearchwidgetwrapper.cpp.

◆ setEnabled

void QgsSearchWidgetWrapper::setEnabled ( bool  enabled)
inlineoverrideslot

Toggles whether the search widget is enabled or disabled.

Parameters
enabledset to true to enable widget

Definition at line 228 of file qgssearchwidgetwrapper.h.

◆ setExpression

virtual void QgsSearchWidgetWrapper::setExpression ( const QString &  expression)
protectedpure virtualslot

Set the expression which is currently used as filter for this widget.

Implemented in QgsRelationAggregateSearchWidgetWrapper.

◆ setFeature

void QgsSearchWidgetWrapper::setFeature ( const QgsFeature feature)
overrideprotectedslot

Definition at line 113 of file qgssearchwidgetwrapper.cpp.

◆ supportedFlags()

QgsSearchWidgetWrapper::FilterFlags QgsSearchWidgetWrapper::supportedFlags ( ) const
virtual

◆ toString()

QString QgsSearchWidgetWrapper::toString ( QgsSearchWidgetWrapper::FilterFlag  flag)
static

Returns a translated string representing a filter flag.

Parameters
flagflag to convert to string
Since
QGIS 2.16

Definition at line 49 of file qgssearchwidgetwrapper.cpp.

◆ valueChanged

void QgsSearchWidgetWrapper::valueChanged ( )
signal

Emitted when a user changes the value of the search widget.

Since
QGIS 2.16

◆ valueCleared

void QgsSearchWidgetWrapper::valueCleared ( )
signal

Emitted when a user changes the value of the search widget back to an empty, default state.

Since
QGIS 2.16

Member Data Documentation

◆ mExpression

QString QgsSearchWidgetWrapper::mExpression
protected

Definition at line 264 of file qgssearchwidgetwrapper.h.

◆ mFieldIdx

int QgsSearchWidgetWrapper::mFieldIdx
protected

Definition at line 265 of file qgssearchwidgetwrapper.h.


The documentation for this class was generated from the following files: