QgsValueRelationSearchWidgetWrapper class
Wraps a value relation search widget.
Contents
This widget will offer a combobox with values from another layer referenced by a foreign key (a constraint may be set but is not required on data level). It will be used as a search widget and produces expression to look for in the layer.
Base classes
- class QgsSearchWidgetWrapper
- Shows a search widget on a filter form.
Constructors, destructors, conversion operators
- QgsValueRelationSearchWidgetWrapper(QgsVectorLayer* vl, int fieldIdx, QWidget* parent = nullptr) explicit
- Constructor for QgsValueRelationSearchWidgetWrapper.
Public functions
- auto applyDirectly() -> bool override
- If this is true, then this search widget should take effect directly when its expression changes.
- auto defaultFlags() const -> QgsSearchWidgetWrapper::FilterFlags override
- Returns the filter flags which should be set by default for the search widget.
- auto expression() const -> QString override
- Will be used to access the widget's value.
- auto supportedFlags() const -> QgsSearchWidgetWrapper::FilterFlags override
- Returns filter flags supported by the search widget.
- auto valid() const -> bool override
- Returns true if the widget has been properly initialized.
Protected functions
- auto createWidget(QWidget* parent) -> QWidget* override
- This method should create a new widget with the provided parent.
- void initWidget(QWidget* editor) override
- This method should initialize the editor widget with runtime data.
Protected slots
- void onValueChanged()
- Called when current value of search widget changes.
Function documentation
QgsSearchWidgetWrapper::FilterFlags QgsValueRelationSearchWidgetWrapper:: defaultFlags() const override
Returns the filter flags which should be set by default for the search widget.
QString QgsValueRelationSearchWidgetWrapper:: expression() const override
Will be used to access the widget's value.
| Returns | The current value the widget represents |
|---|
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.
QgsSearchWidgetWrapper::FilterFlags QgsValueRelationSearchWidgetWrapper:: supportedFlags() const override
Returns filter flags supported by the search widget.
bool QgsValueRelationSearchWidgetWrapper:: valid() const override
Returns true if the widget has been properly initialized.
| Returns | Validity status of this widget. |
|---|
This acts as hint for the calling party if this wrapper can be used after initializing it. If it cannot be used this is a hint to the caller that he may try to find another suitable widget type instead.
QWidget* QgsValueRelationSearchWidgetWrapper:: createWidget(QWidget* parent) override protected
This method should create a new widget with the provided parent.
| Parameters | |
|---|---|
| parent | You should set this parent on the created widget. |
| Returns | A new widget |
This will only be called if the form did not already provide a widget, so it is not guaranteed to be called! You should not do initialization stuff, which also has to be done for custom editor widgets inside this method. Things like filling comboboxes and assigning other data which will also be used to make widgets on forms created in the QtDesigner usable should be assigned in initWidget().
void QgsValueRelationSearchWidgetWrapper:: initWidget(QWidget* editor) override protected
This method should initialize the editor widget with runtime data.
| Parameters | |
|---|---|
| editor | The widget which will represent this attribute editor in a form. |
Fill your comboboxes here.