QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
Every attribute editor widget needs a factory, which inherits this class. More...
#include <qgseditorwidgetfactory.h>
Public Member Functions | |
QgsEditorWidgetFactory (const QString &name) | |
Constructor. More... | |
virtual | ~QgsEditorWidgetFactory () |
virtual Qt::AlignmentFlag | alignmentFlag (QgsVectorLayer *vl, int fieldIdx, const QgsEditorWidgetConfig &config) const |
Return the alignment for a particular field. More... | |
virtual QgsEditorConfigWidget * | configWidget (QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const =0 |
Override this in your implementation. More... | |
virtual QgsEditorWidgetWrapper * | create (QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent) const =0 |
Override this in your implementation. More... | |
virtual QVariant | createCache (QgsVectorLayer *vl, int fieldIdx, const QgsEditorWidgetConfig &config) |
Create a cache for a given field. More... | |
virtual QgsSearchWidgetWrapper * | createSearchWidget (QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const |
By default a simple QgsFilterLineEdit is returned as search widget. More... | |
QString | name () |
Return The human readable identifier name of this widget type. More... | |
virtual QgsEditorWidgetConfig | readConfig (const QDomElement &configElement, QgsVectorLayer *layer, int fieldIdx) |
Read the config from an XML file and map it to a proper QgsEditorWidgetConfig. More... | |
QgsEditorWidgetConfig | readEditorConfig (const QDomElement &configElement, QgsVectorLayer *layer, int fieldIdx) |
Read the config from an XML file and map it to a proper QgsEditorWidgetConfig. More... | |
virtual QString | representValue (QgsVectorLayer *vl, int fieldIdx, const QgsEditorWidgetConfig &config, const QVariant &cache, const QVariant &value) const |
Create a pretty String representation of the value. More... | |
virtual QVariant | sortValue (QgsVectorLayer *vl, int fieldIdx, const QgsEditorWidgetConfig &config, const QVariant &cache, const QVariant &value) const |
If the default sort order should be overwritten for this widget, you can transform the value in here. More... | |
virtual QMap< const char *, int > | supportedWidgetTypes () |
Returns a list of widget types which this editor widget supports. More... | |
bool | supportsField (QgsVectorLayer *vl, int fieldIdx) |
Check if this editor widget type supports a certain field. More... | |
virtual void | writeConfig (const QgsEditorWidgetConfig &config, QDomElement &configElement, QDomDocument &doc, const QgsVectorLayer *layer, int fieldIdx) |
Serialize your configuration and save it in a xml doc. More... | |
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 38 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.
|
virtual |
Definition at line 31 of file qgseditorwidgetfactory.cpp.
|
virtual |
Return the alignment for a particular field.
By default this will consider the field type but can be overwritten if mapped values are represented.
vl | The vector layer. |
fieldIdx | The index of the field. |
config | The editor widget config. |
Reimplemented in QgsDateTimeEditFactory, QgsValueRelationWidgetFactory, and QgsValueMapWidgetFactory.
Definition at line 87 of file qgseditorwidgetfactory.cpp.
|
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 QgsRelationReferenceFactory, QgsDateTimeEditFactory, QgsExternalResourceWidgetFactory, QgsValueRelationWidgetFactory, QgsCheckboxWidgetFactory, QgsPhotoWidgetFactory, QgsTextEditWidgetFactory, QgsUniqueValueWidgetFactory, QgsValueMapWidgetFactory, QgsClassificationWidgetWrapperFactory, QgsColorWidgetFactory, QgsEnumerationWidgetFactory, QgsFileNameWidgetFactory, QgsHiddenWidgetFactory, QgsRangeWidgetFactory, QgsUuidWidgetFactory, and QgsWebViewWidgetFactory.
|
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 NULL is provided, a new widget will be created. |
parent | The parent for the wrapper class and any created widget. |
Implemented in QgsRelationReferenceFactory, QgsDateTimeEditFactory, QgsExternalResourceWidgetFactory, QgsValueRelationWidgetFactory, QgsPhotoWidgetFactory, QgsUniqueValueWidgetFactory, QgsCheckboxWidgetFactory, QgsClassificationWidgetWrapperFactory, QgsColorWidgetFactory, QgsEnumerationWidgetFactory, QgsFileNameWidgetFactory, QgsHiddenWidgetFactory, QgsRangeWidgetFactory, QgsTextEditWidgetFactory, QgsUuidWidgetFactory, QgsValueMapWidgetFactory, and QgsWebViewWidgetFactory.
|
virtual |
Create a cache for a given field.
vl | The vector layer. |
fieldIdx | The index of the field. |
config | The editor widget config. |
Reimplemented in QgsValueRelationWidgetFactory.
Definition at line 101 of file qgseditorwidgetfactory.cpp.
|
virtual |
By default a simple QgsFilterLineEdit is returned as search widget.
Override in own factory to get something different than the default.
Reimplemented in QgsRelationReferenceFactory, QgsDateTimeEditFactory, QgsValueRelationWidgetFactory, QgsCheckboxWidgetFactory, QgsTextEditWidgetFactory, and QgsValueMapWidgetFactory.
Definition at line 39 of file qgseditorwidgetfactory.cpp.
QString QgsEditorWidgetFactory::name | ( | ) |
Return The human readable identifier name of this widget type.
Definition at line 44 of file qgseditorwidgetfactory.cpp.
|
virtual |
Read the config from an XML file and map it to a proper QgsEditorWidgetConfig.
configElement | The configuration element from the project file |
layer | The layer for which this configuration applies |
fieldIdx | The field on the layer for which this configuration applies |
Reimplemented in QgsRelationReferenceFactory, QgsDateTimeEditFactory, QgsValueRelationWidgetFactory, QgsCheckboxWidgetFactory, QgsPhotoWidgetFactory, QgsUniqueValueWidgetFactory, QgsValueMapWidgetFactory, QgsRangeWidgetFactory, and QgsWebViewWidgetFactory.
Definition at line 110 of file qgseditorwidgetfactory.cpp.
QgsEditorWidgetConfig QgsEditorWidgetFactory::readEditorConfig | ( | const QDomElement & | configElement, |
QgsVectorLayer * | layer, | ||
int | fieldIdx | ||
) |
Read the config from an XML file and map it to a proper QgsEditorWidgetConfig.
configElement | The configuration element from the project file |
layer | The layer for which this configuration applies |
fieldIdx | The field on the layer for which this configuration applies |
Definition at line 49 of file qgseditorwidgetfactory.cpp.
|
virtual |
Create a pretty String representation of the value.
vl | The vector layer. |
fieldIdx | The index of the field. |
config | The editor widget config. |
cache | The editor widget cache. |
value | The value to represent. |
Reimplemented in QgsRelationReferenceFactory, QgsDateTimeEditFactory, QgsValueRelationWidgetFactory, and QgsValueMapWidgetFactory.
Definition at line 63 of file qgseditorwidgetfactory.cpp.
|
virtual |
If the default sort order should be overwritten for this widget, you can transform the value in here.
vl | The vector layer. |
fieldIdx | The index of the field. |
config | The editor widget config. |
cache | The editor widget cache. |
value | The value to represent. |
Reimplemented in QgsRelationReferenceFactory, QgsValueRelationWidgetFactory, and QgsValueMapWidgetFactory.
Definition at line 78 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 QgsRelationReferenceFactory, QgsDateTimeEditFactory, QgsValueMapWidgetFactory, QgsCheckboxWidgetFactory, and QgsRangeWidgetFactory.
Definition at line 126 of file qgseditorwidgetfactory.h.
|
inline |
Check if this editor widget type supports a certain field.
vl | The layer |
fieldIdx | The field index |
Definition at line 116 of file qgseditorwidgetfactory.h.
|
virtual |
Serialize your configuration and save it in a xml doc.
config | The configuration to serialize |
configElement | The element, where you can write your configuration into |
doc | The document. You can use this to create new nodes |
layer | The layer for which this configuration applies |
fieldIdx | The field on the layer for which this configuration applies |
Reimplemented in QgsRelationReferenceFactory, QgsDateTimeEditFactory, QgsExternalResourceWidgetFactory, QgsValueRelationWidgetFactory, QgsTextEditWidgetFactory, QgsCheckboxWidgetFactory, QgsPhotoWidgetFactory, QgsUniqueValueWidgetFactory, QgsValueMapWidgetFactory, QgsRangeWidgetFactory, and QgsWebViewWidgetFactory.
Definition at line 54 of file qgseditorwidgetfactory.cpp.