QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Member Functions | List of all members
QgsGeometryWidgetFactory Class Reference

Editor widget factory for geometry widgets. More...

#include <qgsgeometrywidgetfactory.h>

Inheritance diagram for QgsGeometryWidgetFactory:
Inheritance graph
[legend]

Public Member Functions

 QgsGeometryWidgetFactory (const QString &name, QgsMessageBar *messageBar)
 Constructor for QgsGeometryWidgetFactory, where name is a human-readable name for the factory. More...
 
QgsEditorConfigWidgetconfigWidget (QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const override
 Override this in your implementation. More...
 
QgsEditorWidgetWrappercreate (QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent) const override
 Override this in your implementation. More...
 
unsigned int fieldScore (const QgsVectorLayer *vl, int fieldIdx) const override
 This method allows disabling this editor widget type for a certain field. More...
 
- Public Member Functions inherited from QgsEditorWidgetFactory
 QgsEditorWidgetFactory (const QString &name)
 Constructor. More...
 
virtual ~QgsEditorWidgetFactory ()=default
 
virtual QgsEditorConfigWidgetconfigWidget (QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const =0
 Override this in your implementation. More...
 
virtual QgsEditorWidgetWrappercreate (QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent) const =0
 Override this in your implementation. More...
 
virtual QgsSearchWidgetWrappercreateSearchWidget (QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const
 By default a simple QgsFilterLineEdit is returned as search widget. More...
 
virtual unsigned int fieldScore (const QgsVectorLayer *vl, int fieldIdx) const
 This method allows disabling this editor widget type for a certain field. More...
 
QString name () const
 Returns The human readable identifier name of this widget type. More...
 
virtual QHash< const char *, int > supportedWidgetTypes ()
 Returns a list of widget types which this editor widget supports. More...
 
bool supportsField (const QgsVectorLayer *vl, int fieldIdx) const
 Check if this editor widget type supports a certain field. More...
 

Detailed Description

Editor widget factory for geometry widgets.

Note
not available in Python bindings
Since
QGIS 3.30

Definition at line 34 of file qgsgeometrywidgetfactory.h.

Constructor & Destructor Documentation

◆ QgsGeometryWidgetFactory()

QgsGeometryWidgetFactory::QgsGeometryWidgetFactory ( const QString &  name,
QgsMessageBar messageBar 
)
explicit

Constructor for QgsGeometryWidgetFactory, where name is a human-readable name for the factory.

The messageBar argument can be used to link the widget to a QgsMessageBar for providing user feedback.

Definition at line 22 of file qgsgeometrywidgetfactory.cpp.

Member Function Documentation

◆ configWidget()

QgsEditorConfigWidget * QgsGeometryWidgetFactory::configWidget ( QgsVectorLayer vl,
int  fieldIdx,
QWidget *  parent 
) const
overridevirtual

Override this in your implementation.

Create a new configuration widget for this widget type.

Parameters
vlThe layer for which the widget will be created
fieldIdxThe field index for which the widget will be created
parentThe parent widget of the created config widget
Returns
A configuration widget

Implements QgsEditorWidgetFactory.

Definition at line 33 of file qgsgeometrywidgetfactory.cpp.

◆ create()

QgsEditorWidgetWrapper * QgsGeometryWidgetFactory::create ( QgsVectorLayer vl,
int  fieldIdx,
QWidget *  editor,
QWidget *  parent 
) const
overridevirtual

Override this in your implementation.

Create a new editor widget wrapper. Call QgsEditorWidgetRegistry::create() instead of calling this method directly.

Parameters
vlThe vector layer on which this widget will act
fieldIdxThe field index on which this widget will act
editorAn editor widget if already existent. If nullptr is provided, a new widget will be created.
parentThe parent for the wrapper class and any created widget.
Returns
A new widget wrapper

Implements QgsEditorWidgetFactory.

Definition at line 28 of file qgsgeometrywidgetfactory.cpp.

◆ fieldScore()

unsigned int QgsGeometryWidgetFactory::fieldScore ( const QgsVectorLayer vl,
int  fieldIdx 
) const
overridevirtual

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:

  • 0: not supported
  • 5: maybe support (for example, Datetime support strings depending on their content)
  • 10: basic support (this is what returns TextEdit for example, since it supports everything in a crude way)
  • 20: specialized support
Parameters
vl
fieldIdx
Returns
0 if the field is not supported or a bigger number if it can (the widget with the biggest number will be taken by default). The default implementation returns 5..
See also
supportsField()

Reimplemented from QgsEditorWidgetFactory.

Definition at line 38 of file qgsgeometrywidgetfactory.cpp.


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