QGIS API Documentation  3.14.0-Pi (9f7028fd23)
Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
QgsEditFormConfig Class Reference

#include <qgseditformconfig.h>

Classes

struct  GroupData
 
struct  TabData
 

Public Types

enum  DataDefinedProperty { NoProperty = 0, AllProperties = 1, Alias = 2 }
 Data defined properties. More...
 
enum  EditorLayout { GeneratedLayout = 0, TabLayout = 1, UiFileLayout = 2 }
 The different types to layout the attribute editor. More...
 
enum  FeatureFormSuppress { SuppressDefault = 0, SuppressOn = 1, SuppressOff = 2 }
 Types of feature form suppression after feature creation. More...
 
enum  PythonInitCodeSource { CodeSourceNone = 0, CodeSourceFile = 1, CodeSourceDialog = 2, CodeSourceEnvironment = 3 }
 The Python init code source options. More...
 

Public Member Functions

 QgsEditFormConfig ()
 Create a new edit form config. More...
 
 QgsEditFormConfig (const QgsEditFormConfig &o)
 Copy constructor. More...
 
 ~QgsEditFormConfig ()
 
void addTab (QgsAttributeEditorElement *data)
 Adds a new element to the invisible root container in the layout. More...
 
QgsAttributeEditorElementattributeEditorElementFromDomElement (QDomElement &elem, QgsAttributeEditorElement *parent, const QString &layerId=QString(), const QgsReadWriteContext &context=QgsReadWriteContext())
 Deserialize drag and drop designer elements. More...
 
void clearTabs ()
 Clears all the tabs for the attribute editor form with EditorLayout::TabLayout. More...
 
QgsPropertyCollection dataDefinedFieldProperties (const QString &fieldName) const
 Returns data defined properties for fieldName. More...
 
QString initCode () const
 Gets Python code for edit form initialization. More...
 
PythonInitCodeSource initCodeSource () const
 Returns Python code source for edit form initialization (if it shall be loaded from a file, read from the provided dialog editor or inherited from the environment) More...
 
QString initFilePath () const
 Gets Python external file path for edit form initialization. More...
 
QString initFunction () const
 Gets Python function for edit form initialization. More...
 
QgsAttributeEditorContainerinvisibleRootContainer ()
 Gets the invisible root container for the drag and drop designer form (EditorLayout::TabLayout). More...
 
bool labelOnTop (int idx) const
 If this returns true, the widget at the given index will receive its label on the previous line while if it returns false, the widget will receive its label on the left hand side. More...
 
EditorLayout layout () const
 Gets the active layout style for the attribute editor for this layer. More...
 
QgsEditFormConfigoperator= (const QgsEditFormConfig &o)
 
bool operator== (const QgsEditFormConfig &o)
 
bool readOnly (int idx) const
 This returns true if the field is manually set to read only or if the field does not support editing like joins or virtual fields. More...
 
void readXml (const QDomNode &node, QgsReadWriteContext &context)
 Read XML information Deserialize on project load. More...
 
bool removeWidgetConfig (const QString &widgetName)
 Remove the configuration for the editor widget with the given name. More...
 
void setDataDefinedFieldProperties (const QString &fieldName, const QgsPropertyCollection &properties)
 Set data defined properties for fieldName to properties. More...
 
void setInitCode (const QString &code)
 Set Python code for edit form initialization. More...
 
void setInitCodeSource (PythonInitCodeSource initCodeSource)
 Sets if Python code shall be used for edit form initialization and its origin. More...
 
void setInitFilePath (const QString &filePath)
 Set Python external file path for edit form initialization. More...
 
void setInitFunction (const QString &function)
 Set Python function for edit form initialization. More...
 
void setLabelOnTop (int idx, bool onTop)
 If this is set to true, the widget at the given index will receive its label on the previous line while if it is set to false, the widget will receive its label on the left hand side. More...
 
void setLayout (EditorLayout editorLayout)
 Sets the active layout style for the attribute editor for this layer. More...
 
void setReadOnly (int idx, bool readOnly=true)
 If set to false, the widget at the given index will be read-only. More...
 
void setSuppress (FeatureFormSuppress s)
 Sets type of feature form pop-up suppression after feature creation (overrides app setting) More...
 
void setUiForm (const QString &ui)
 Set path to the .ui form. More...
 
bool setWidgetConfig (const QString &widgetName, const QVariantMap &config)
 Set the editor widget config for a widget which is not for a simple field. More...
 
FeatureFormSuppress suppress () const
 Type of feature form pop-up suppression after feature creation (overrides app setting) More...
 
QList< QgsAttributeEditorElement * > tabs () const
 Returns a list of tabs for EditorLayout::TabLayout obtained from the invisible root container. More...
 
QString uiForm () const
 Returns the path or URL to the .ui form. More...
 
QVariantMap widgetConfig (const QString &widgetName) const
 Gets the configuration for the editor widget with the given name. More...
 
void writeXml (QDomNode &node, const QgsReadWriteContext &context) const
 Write XML information Serialize on project save. More...
 

Static Public Member Functions

static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns data defined property definitions. More...
 

Friends

class QgsVectorLayer
 

Detailed Description

Definition at line 37 of file qgseditformconfig.h.

Member Enumeration Documentation

◆ DataDefinedProperty

Data defined properties.

Form data defined overrides are stored in a property collection and they can be retrieved using the indexes specified in this enum.

Since
QGIS 3.14
Enumerator
NoProperty 

No property.

AllProperties 

All properties for item.

Alias 

Alias.

Definition at line 109 of file qgseditformconfig.h.

◆ EditorLayout

The different types to layout the attribute editor.

Enumerator
GeneratedLayout 

Autogenerate a simple tabular layout for the form.

TabLayout 

Use a layout with tabs and group boxes. Needs to be configured.

UiFileLayout 

Load a .ui file for the layout. Needs to be configured.

Definition at line 45 of file qgseditformconfig.h.

◆ FeatureFormSuppress

Types of feature form suppression after feature creation.

Enumerator
SuppressDefault 

Use the application-wide setting.

SuppressOn 

Suppress feature form.

SuppressOff 

Do not suppress feature form.

Definition at line 82 of file qgseditformconfig.h.

◆ PythonInitCodeSource

The Python init code source options.

Enumerator
CodeSourceNone 

Do not use Python code at all.

CodeSourceFile 

Load the Python code from an external file.

CodeSourceDialog 

Use the Python code provided in the dialog.

CodeSourceEnvironment 

Use the Python code available in the Python environment.

Definition at line 93 of file qgseditformconfig.h.

Constructor & Destructor Documentation

◆ QgsEditFormConfig() [1/2]

QgsEditFormConfig::QgsEditFormConfig ( const QgsEditFormConfig o)

Copy constructor.

Since
QGIS 3.0

Definition at line 110 of file qgseditformconfig.cpp.

◆ ~QgsEditFormConfig()

QgsEditFormConfig::~QgsEditFormConfig ( )

Definition at line 115 of file qgseditformconfig.cpp.

◆ QgsEditFormConfig() [2/2]

QgsEditFormConfig::QgsEditFormConfig ( )
explicit

Create a new edit form config.

Normally invoked by QgsVectorLayer

Definition at line 31 of file qgseditformconfig.cpp.

Member Function Documentation

◆ addTab()

void QgsEditFormConfig::addTab ( QgsAttributeEditorElement data)

Adds a new element to the invisible root container in the layout.

This is only useful in combination with EditorLayout::TabLayout.

Definition at line 129 of file qgseditformconfig.cpp.

◆ attributeEditorElementFromDomElement()

QgsAttributeEditorElement * QgsEditFormConfig::attributeEditorElementFromDomElement ( QDomElement &  elem,
QgsAttributeEditorElement parent,
const QString &  layerId = QString(),
const QgsReadWriteContext context = QgsReadWriteContext() 
)

Deserialize drag and drop designer elements.

Definition at line 565 of file qgseditformconfig.cpp.

◆ clearTabs()

void QgsEditFormConfig::clearTabs ( )

Clears all the tabs for the attribute editor form with EditorLayout::TabLayout.

Definition at line 140 of file qgseditformconfig.cpp.

◆ dataDefinedFieldProperties()

QgsPropertyCollection QgsEditFormConfig::dataDefinedFieldProperties ( const QString &  fieldName) const

Returns data defined properties for fieldName.

Since
QGIS 3.14

Definition at line 42 of file qgseditformconfig.cpp.

◆ initCode()

QString QgsEditFormConfig::initCode ( ) const

Gets Python code for edit form initialization.

Definition at line 239 of file qgseditformconfig.cpp.

◆ initCodeSource()

QgsEditFormConfig::PythonInitCodeSource QgsEditFormConfig::initCodeSource ( ) const

Returns Python code source for edit form initialization (if it shall be loaded from a file, read from the provided dialog editor or inherited from the environment)

Definition at line 268 of file qgseditformconfig.cpp.

◆ initFilePath()

QString QgsEditFormConfig::initFilePath ( ) const

Gets Python external file path for edit form initialization.

Definition at line 250 of file qgseditformconfig.cpp.

◆ initFunction()

QString QgsEditFormConfig::initFunction ( ) const

Gets Python function for edit form initialization.

Will be looked up in a Python file relative to the project folder if it includes a module name or if it's a pure function name it will searched in the Python code set with setInitCode().

Definition at line 228 of file qgseditformconfig.cpp.

◆ invisibleRootContainer()

QgsAttributeEditorContainer * QgsEditFormConfig::invisibleRootContainer ( )

Gets the invisible root container for the drag and drop designer form (EditorLayout::TabLayout).

Since
QGIS 3

Definition at line 146 of file qgseditformconfig.cpp.

◆ labelOnTop()

bool QgsEditFormConfig::labelOnTop ( int  idx) const

If this returns true, the widget at the given index will receive its label on the previous line while if it returns false, the widget will receive its label on the left hand side.

Labeling on top leaves more horizontal space for the widget itself.

Definition at line 202 of file qgseditformconfig.cpp.

◆ layout()

QgsEditFormConfig::EditorLayout QgsEditFormConfig::layout ( ) const

Gets the active layout style for the attribute editor for this layer.

Definition at line 151 of file qgseditformconfig.cpp.

◆ operator=()

QgsEditFormConfig & QgsEditFormConfig::operator= ( const QgsEditFormConfig o)

Definition at line 118 of file qgseditformconfig.cpp.

◆ operator==()

bool QgsEditFormConfig::operator== ( const QgsEditFormConfig o)

Definition at line 124 of file qgseditformconfig.cpp.

◆ propertyDefinitions()

const QgsPropertiesDefinition & QgsEditFormConfig::propertyDefinitions ( )
static

Returns data defined property definitions.

Since
QGIS 3.14

Definition at line 47 of file qgseditformconfig.cpp.

◆ readOnly()

bool QgsEditFormConfig::readOnly ( int  idx) const

This returns true if the field is manually set to read only or if the field does not support editing like joins or virtual fields.

Definition at line 189 of file qgseditformconfig.cpp.

◆ readXml()

void QgsEditFormConfig::readXml ( const QDomNode &  node,
QgsReadWriteContext context 
)

Read XML information Deserialize on project load.

Definition at line 290 of file qgseditformconfig.cpp.

◆ removeWidgetConfig()

bool QgsEditFormConfig::removeWidgetConfig ( const QString &  widgetName)

Remove the configuration for the editor widget with the given name.

Parameters
widgetNameThe name of the widget.
Returns
true if a configuration has been removed

Definition at line 104 of file qgseditformconfig.cpp.

◆ setDataDefinedFieldProperties()

void QgsEditFormConfig::setDataDefinedFieldProperties ( const QString &  fieldName,
const QgsPropertyCollection properties 
)

Set data defined properties for fieldName to properties.

Since
QGIS 3.14

Definition at line 36 of file qgseditformconfig.cpp.

◆ setInitCode()

void QgsEditFormConfig::setInitCode ( const QString &  code)

Set Python code for edit form initialization.

Make sure that you also set the appropriate function name in setInitFunction().

Definition at line 244 of file qgseditformconfig.cpp.

◆ setInitCodeSource()

void QgsEditFormConfig::setInitCodeSource ( const QgsEditFormConfig::PythonInitCodeSource  initCodeSource)

Sets if Python code shall be used for edit form initialization and its origin.

Definition at line 273 of file qgseditformconfig.cpp.

◆ setInitFilePath()

void QgsEditFormConfig::setInitFilePath ( const QString &  filePath)

Set Python external file path for edit form initialization.

Make sure that you also set the appropriate function name in setInitFunction().

Definition at line 255 of file qgseditformconfig.cpp.

◆ setInitFunction()

void QgsEditFormConfig::setInitFunction ( const QString &  function)

Set Python function for edit form initialization.

Will be looked up in a Python file relative to the project folder if it includes a module name or if it's a pure function name it will searched in the Python code set with setInitCode().

Definition at line 233 of file qgseditformconfig.cpp.

◆ setLabelOnTop()

void QgsEditFormConfig::setLabelOnTop ( int  idx,
bool  onTop 
)

If this is set to true, the widget at the given index will receive its label on the previous line while if it is set to false, the widget will receive its label on the left hand side.

Labeling on top leaves more horizontal space for the widget itself.

Definition at line 219 of file qgseditformconfig.cpp.

◆ setLayout()

void QgsEditFormConfig::setLayout ( QgsEditFormConfig::EditorLayout  editorLayout)

Sets the active layout style for the attribute editor for this layer.

Definition at line 156 of file qgseditformconfig.cpp.

◆ setReadOnly()

void QgsEditFormConfig::setReadOnly ( int  idx,
bool  readOnly = true 
)

If set to false, the widget at the given index will be read-only.

Definition at line 210 of file qgseditformconfig.cpp.

◆ setSuppress()

void QgsEditFormConfig::setSuppress ( QgsEditFormConfig::FeatureFormSuppress  s)

Sets type of feature form pop-up suppression after feature creation (overrides app setting)

Definition at line 284 of file qgseditformconfig.cpp.

◆ setUiForm()

void QgsEditFormConfig::setUiForm ( const QString &  ui)

Set path to the .ui form.

When a string is provided in ui, the layout style will be set to EditorLayout::UiFileLayout, if an empty or a null string is provided, the layout style will be set to EditorLayout::GeneratedLayout. If ui is a URL, a local copy of the file will be made and will be used to create the forms context is provided to save error messages

Definition at line 170 of file qgseditformconfig.cpp.

◆ setWidgetConfig()

bool QgsEditFormConfig::setWidgetConfig ( const QString &  widgetName,
const QVariantMap &  config 
)

Set the editor widget config for a widget which is not for a simple field.

Example

editFormConfig = layer.editFormConfig()
editFormConfig.setWidgetConfig( 'relation_id', { 'nm-rel': 'other_relation' } )
layer.setEditFormConfig(editFormConfig)
Parameters
widgetNameThe name of the widget to configure
configThe config to set for this widget
Returns
false if a field exists with the provided widgetName. In this case QgsVectorLayer::setEditorWidgetSetup should be used.
See also
QgsVectorLayer::setEditorWidgetSetup() for field configurations.

Definition at line 91 of file qgseditformconfig.cpp.

◆ suppress()

QgsEditFormConfig::FeatureFormSuppress QgsEditFormConfig::suppress ( ) const

Type of feature form pop-up suppression after feature creation (overrides app setting)

Definition at line 279 of file qgseditformconfig.cpp.

◆ tabs()

QList< QgsAttributeEditorElement * > QgsEditFormConfig::tabs ( ) const

Returns a list of tabs for EditorLayout::TabLayout obtained from the invisible root container.

Definition at line 135 of file qgseditformconfig.cpp.

◆ uiForm()

QString QgsEditFormConfig::uiForm ( ) const

Returns the path or URL to the .ui form.

Only meaningful with EditorLayout::UiFileLayout

Definition at line 165 of file qgseditformconfig.cpp.

◆ widgetConfig()

QVariantMap QgsEditFormConfig::widgetConfig ( const QString &  widgetName) const

Gets the configuration for the editor widget with the given name.

Parameters
widgetNameThe name of the widget.
Returns
The configuration for the editor widget or an empty config if the field does not exist

Definition at line 52 of file qgseditformconfig.cpp.

◆ writeXml()

void QgsEditFormConfig::writeXml ( QDomNode &  node,
const QgsReadWriteContext context 
) const

Write XML information Serialize on project save.

Definition at line 444 of file qgseditformconfig.cpp.

Friends And Related Function Documentation

◆ QgsVectorLayer

friend class QgsVectorLayer
friend

Definition at line 354 of file qgseditformconfig.h.


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