QGIS API Documentation 3.41.0-Master (25ec5511245)
|
Every attribute editor widget needs a factory, which inherits this class. More...
#include <qgseditorwidgetfactory.h>
Public Member Functions | |
QgsEditorWidgetFactory (const QString &name) | |
Constructor. | |
virtual | ~QgsEditorWidgetFactory ()=default |
virtual QgsEditorConfigWidget * | configWidget (QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const =0 |
Override this in your implementation. | |
virtual QgsEditorWidgetWrapper * | create (QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent) const =0 |
Override this in your implementation. | |
virtual QgsSearchWidgetWrapper * | createSearchWidget (QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const |
By default a simple QgsFilterLineEdit is returned as search widget. | |
virtual unsigned int | fieldScore (const QgsVectorLayer *vl, int fieldIdx) const |
This method allows disabling this editor widget type for a certain field. | |
QString | name () const |
Returns The human readable identifier name of this widget type. | |
virtual QHash< const char *, int > | supportedWidgetTypes () |
Returns a list of widget types which this editor widget supports. | |
bool | supportsField (const QgsVectorLayer *vl, int fieldIdx) const |
Check if this editor widget type supports a certain field. | |
Every attribute editor widget needs a factory, which inherits this class.
It provides metadata for the widgets such as the name (human readable), it serializes the configuration to an xml structure and loads the configuration from there.
It also has factory methods to create a widget wrapper for the attribute editor itself and another factory method to create a configuration dialog.
Definition at line 42 of file qgseditorwidgetfactory.h.
QgsEditorWidgetFactory::QgsEditorWidgetFactory | ( | const QString & | name | ) |
Constructor.
name | A human readable name for this widget type |
Definition at line 26 of file qgseditorwidgetfactory.cpp.
|
virtualdefault |
|
pure virtual |
Override this in your implementation.
Create a new configuration widget for this widget type.
vl | The layer for which the widget will be created |
fieldIdx | The field index for which the widget will be created |
parent | The parent widget of the created config widget |
Implemented in QgsBinaryWidgetFactory, QgsCheckboxWidgetFactory, QgsClassificationWidgetWrapperFactory, QgsColorWidgetFactory, QgsDateTimeEditFactory, QgsEnumerationWidgetFactory, QgsExternalResourceWidgetFactory, QgsGeometryWidgetFactory, QgsHiddenWidgetFactory, QgsJsonEditWidgetFactory, QgsKeyValueWidgetFactory, QgsListWidgetFactory, QgsRangeWidgetFactory, QgsRelationReferenceFactory, QgsTextEditWidgetFactory, QgsUniqueValueWidgetFactory, QgsUuidWidgetFactory, QgsValueMapWidgetFactory, and QgsValueRelationWidgetFactory.
|
pure virtual |
Override this in your implementation.
Create a new editor widget wrapper. Call QgsEditorWidgetRegistry::create() instead of calling this method directly.
vl | The vector layer on which this widget will act |
fieldIdx | The field index on which this widget will act |
editor | An editor widget if already existent. If nullptr is provided, a new widget will be created. |
parent | The parent for the wrapper class and any created widget. |
Implemented in QgsBinaryWidgetFactory, QgsCheckboxWidgetFactory, QgsClassificationWidgetWrapperFactory, QgsColorWidgetFactory, QgsDateTimeEditFactory, QgsEnumerationWidgetFactory, QgsExternalResourceWidgetFactory, QgsGeometryWidgetFactory, QgsHiddenWidgetFactory, QgsJsonEditWidgetFactory, QgsKeyValueWidgetFactory, QgsListWidgetFactory, QgsRangeWidgetFactory, QgsRelationReferenceFactory, QgsTextEditWidgetFactory, QgsUniqueValueWidgetFactory, QgsUuidWidgetFactory, QgsValueMapWidgetFactory, and QgsValueRelationWidgetFactory.
|
virtual |
By default a simple QgsFilterLineEdit is returned as search widget.
Override in own factory to get something different than the default.
Reimplemented in QgsCheckboxWidgetFactory, QgsDateTimeEditFactory, QgsRelationReferenceFactory, QgsTextEditWidgetFactory, QgsValueMapWidgetFactory, and QgsValueRelationWidgetFactory.
Definition at line 35 of file qgseditorwidgetfactory.cpp.
|
virtual |
This method allows disabling this editor widget type for a certain field.
By default, it returns 5 for every fields. Reimplement this if you only support certain fields.
Typical return values are:
vl | |
fieldIdx |
Reimplemented in QgsBinaryWidgetFactory, QgsCheckboxWidgetFactory, QgsColorWidgetFactory, QgsDateTimeEditFactory, QgsEnumerationWidgetFactory, QgsExternalResourceWidgetFactory, QgsGeometryWidgetFactory, QgsJsonEditWidgetFactory, QgsKeyValueWidgetFactory, QgsListWidgetFactory, QgsRelationReferenceFactory, QgsTextEditWidgetFactory, and QgsUuidWidgetFactory.
Definition at line 45 of file qgseditorwidgetfactory.cpp.
QString QgsEditorWidgetFactory::name | ( | ) | const |
Returns The human readable identifier name of this widget type.
Definition at line 40 of file qgseditorwidgetfactory.cpp.
|
inlinevirtual |
Returns a list of widget types which this editor widget supports.
Each widget type can have a priority value attached, the factory with the highest one will be used.
Reimplemented in QgsCheckboxWidgetFactory, QgsDateTimeEditFactory, QgsRangeWidgetFactory, QgsRelationReferenceFactory, and QgsValueMapWidgetFactory.
Definition at line 109 of file qgseditorwidgetfactory.h.
|
inline |
Check if this editor widget type supports a certain field.
vl | The layer |
fieldIdx | The field index |
true
if the type is supported for this fieldDefinition at line 99 of file qgseditorwidgetfactory.h.