QGIS API Documentation  2.18.3-Las Palmas (77b8c3d)
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

Manages an editor widget Widget and wrapper share the same parent. 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
}
 Flags which indicate what types of filtering and searching is possible using the widget. More...
 

Public Slots

virtual void clearWidget ()
 Clears the widget's current value and resets it back to the default state. More...
 
virtual 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...
 

Public Member Functions

 QgsSearchWidgetWrapper (QgsVectorLayer *vl, int fieldIdx, QWidget *parent=nullptr)
 Create a new widget wrapper. 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...
 
virtual FilterFlags defaultFlags () const
 Returns the filter flags which should be set by default for the search widget. More...
 
virtual QString expression ()=0
 Will be used to access the widget's value. 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...
 
QgsEditorWidgetConfig config () const
 Returns the whole config. More...
 
const QgsAttributeEditorContextcontext () const
 Returns information about the context in which this widget is shown. More...
 
QgsVectorLayerlayer () const
 Access the QgsVectorLayer, you are working on. More...
 
void setConfig (const QgsEditorWidgetConfig &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...
 
virtual bool valid () const =0
 Return true if the widget has been properly initialized. More...
 
QWidgetwidget ()
 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...
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual  ~QObject ()
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 

Static Public Member Functions

static QList< FilterFlagexclusiveFilterFlags ()
 Returns a list of exclusive filter flags, which cannot be combined with other flags (eg EqualTo/NotEqualTo) More...
 
static QList< FilterFlagnonExclusiveFilterFlags ()
 Returns a list of non-exclusive filter flags, which can be combined with other flags (eg CaseInsensitive) More...
 
static QString toString (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 Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 

Protected Slots

virtual void setExpression (QString value)=0
 
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 QWidgetcreateWidget (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 Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 

Protected Attributes

QString mExpression
 
int mFieldIdx
 

Additional Inherited Members

- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Manages an editor widget Widget and wrapper share the same parent.

A wrapper controls one attribute editor widget and is able to create a default widget or use a pre-existent widget. It is able to set the widget to the value implied by a field of a vector layer, or return the value it currently holds. Every time it is changed it has to emit a valueChanged signal. If it fails to do so, there is no guarantee that the changed status of the widget will be saved.

Definition at line 40 of file qgssearchwidgetwrapper.h.

Member Enumeration Documentation

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

Note
added in 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

Definition at line 47 of file qgssearchwidgetwrapper.h.

Constructor & Destructor Documentation

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 81 of file qgssearchwidgetwrapper.cpp.

Member Function Documentation

virtual bool QgsSearchWidgetWrapper::applyDirectly ( )
pure virtual
void QgsSearchWidgetWrapper::clearExpression ( )
protected

clears the expression to search for all features

Definition at line 104 of file qgssearchwidgetwrapper.cpp.

virtual void QgsSearchWidgetWrapper::clearWidget ( )
inlinevirtualslot

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

Note
added in QGIS 2.16

Definition at line 135 of file qgssearchwidgetwrapper.h.

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
Note
added in QGIS 2.16

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

Definition at line 128 of file qgssearchwidgetwrapper.h.

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

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

Note
added in QGIS 2.16
See also
supportedFlags()

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

Definition at line 93 of file qgssearchwidgetwrapper.cpp.

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

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

Note
added in QGIS 2.16
See also
nonExclusiveFilterFlags()

Definition at line 23 of file qgssearchwidgetwrapper.cpp.

virtual QString QgsSearchWidgetWrapper::expression ( )
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, QgsValueRelationSearchWidgetWrapper, QgsDefaultSearchWidgetWrapper, and QgsValueMapSearchWidgetWrapper.

void QgsSearchWidgetWrapper::expressionChanged ( const QString exp)
signal

Emitted whenever the expression changes.

Parameters
expThe new search expression
QList< QgsSearchWidgetWrapper::FilterFlag > QgsSearchWidgetWrapper::nonExclusiveFilterFlags ( )
static

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

Note
added in QGIS 2.16
See also
exclusiveFilterFlags()

Definition at line 40 of file qgssearchwidgetwrapper.cpp.

virtual void QgsSearchWidgetWrapper::setEnabled ( bool  enabled)
inlineoverridevirtualslot

Toggles whether the search widget is enabled or disabled.

Parameters
enabledset to true to enable widget

Definition at line 140 of file qgssearchwidgetwrapper.h.

virtual void QgsSearchWidgetWrapper::setExpression ( QString  value)
protectedpure virtualslot
void QgsSearchWidgetWrapper::setFeature ( const QgsFeature feature)
overrideprotectedslot

Definition at line 99 of file qgssearchwidgetwrapper.cpp.

QgsSearchWidgetWrapper::FilterFlags QgsSearchWidgetWrapper::supportedFlags ( ) const
virtual
QString QgsSearchWidgetWrapper::toString ( QgsSearchWidgetWrapper::FilterFlag  flag)
static

Returns a translated string representing a filter flag.

Parameters
flagflag to convert to string
Note
added in QGIS 2.16

Definition at line 46 of file qgssearchwidgetwrapper.cpp.

void QgsSearchWidgetWrapper::valueChanged ( )
signal

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

Note
added in QGIS 2.16
void QgsSearchWidgetWrapper::valueCleared ( )
signal

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

Note
added in QGIS 2.16

Member Data Documentation

QString QgsSearchWidgetWrapper::mExpression
protected

Definition at line 170 of file qgssearchwidgetwrapper.h.

int QgsSearchWidgetWrapper::mFieldIdx
protected

Definition at line 171 of file qgssearchwidgetwrapper.h.


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