QGIS API Documentation  2.99.0-Master (19b062c)
Classes | Public Types | Public Member Functions | Friends | List of all members
QgsEditFormConfig Class Reference

#include <qgseditformconfig.h>

Classes

struct  GroupData
 
struct  TabData
 

Public Types

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 (const QgsEditFormConfig &o)
 Copy constructor. More...
 
 QgsEditFormConfig ()
 Create a new edit form config. More...
 
 ~QgsEditFormConfig ()
 
void addTab (QgsAttributeEditorElement *data)
 Adds a new element to the invisible root container in the layout. More...
 
QgsAttributeEditorElementattributeEditorElementFromDomElement (QDomElement &elem, QgsAttributeEditorElement *parent)
 Deserialize drag and drop designer elements. More...
 
void clearTabs ()
 Clears all the tabs for the attribute editor form with EditorLayout::TabLayout. More...
 
QString initCode () const
 Get Python code for edit form initialization. More...
 
PythonInitCodeSource initCodeSource () const
 Return 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
 Get Python external file path for edit form initialization. More...
 
QString initFunction () const
 Get Python function for edit form initialization. More...
 
QgsAttributeEditorContainerinvisibleRootContainer ()
 Get 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
 Get 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, const 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 setInitCode (const QString &code)
 Set Python code for edit form initialization. More...
 
void setInitCodeSource (PythonInitCodeSource initCodeSource)
 Set 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)
 Set 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)
 Set 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
 Get path to the .ui form. Only meaningful with EditorLayout::UiFileLayout. More...
 
QVariantMap widgetConfig (const QString &widgetName) const
 Get 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...
 

Friends

class QgsVectorLayer
 

Detailed Description

Definition at line 37 of file qgseditformconfig.h.

Member Enumeration Documentation

◆ 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 42 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 78 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 88 of file qgseditformconfig.h.

Constructor & Destructor Documentation

◆ QgsEditFormConfig() [1/2]

QgsEditFormConfig::QgsEditFormConfig ( const QgsEditFormConfig o)

Copy constructor.

Since
QGIS 3.0

Definition at line 94 of file qgseditformconfig.cpp.

◆ ~QgsEditFormConfig()

QgsEditFormConfig::~QgsEditFormConfig ( )

Definition at line 99 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 113 of file qgseditformconfig.cpp.

◆ attributeEditorElementFromDomElement()

QgsAttributeEditorElement * QgsEditFormConfig::attributeEditorElementFromDomElement ( QDomElement &  elem,
QgsAttributeEditorElement parent 
)

Deserialize drag and drop designer elements.

Definition at line 464 of file qgseditformconfig.cpp.

◆ clearTabs()

void QgsEditFormConfig::clearTabs ( )

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

Definition at line 124 of file qgseditformconfig.cpp.

◆ initCode()

QString QgsEditFormConfig::initCode ( ) const

Get Python code for edit form initialization.

Definition at line 217 of file qgseditformconfig.cpp.

◆ initCodeSource()

QgsEditFormConfig::PythonInitCodeSource QgsEditFormConfig::initCodeSource ( ) const

Return 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 239 of file qgseditformconfig.cpp.

◆ initFilePath()

QString QgsEditFormConfig::initFilePath ( ) const

Get Python external file path for edit form initialization.

Definition at line 228 of file qgseditformconfig.cpp.

◆ initFunction()

QString QgsEditFormConfig::initFunction ( ) const

Get 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 206 of file qgseditformconfig.cpp.

◆ invisibleRootContainer()

QgsAttributeEditorContainer * QgsEditFormConfig::invisibleRootContainer ( )

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

Since
QGIS 3

Definition at line 130 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 180 of file qgseditformconfig.cpp.

◆ layout()

QgsEditFormConfig::EditorLayout QgsEditFormConfig::layout ( ) const

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

Definition at line 135 of file qgseditformconfig.cpp.

◆ operator=()

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

Definition at line 102 of file qgseditformconfig.cpp.

◆ operator==()

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

Definition at line 108 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 167 of file qgseditformconfig.cpp.

◆ readXml()

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

Read XML information Deserialize on project load.

Definition at line 261 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 88 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 222 of file qgseditformconfig.cpp.

◆ setInitCodeSource()

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

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

Definition at line 244 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 233 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 211 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 197 of file qgseditformconfig.cpp.

◆ setLayout()

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

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

Definition at line 140 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 188 of file qgseditformconfig.cpp.

◆ setSuppress()

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

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

Definition at line 255 of file qgseditformconfig.cpp.

◆ setUiForm()

void QgsEditFormConfig::setUiForm ( const QString &  ui)

Set path to the .ui form.

When a string is provided, 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.

Definition at line 154 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 75 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 250 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 119 of file qgseditformconfig.cpp.

◆ uiForm()

QString QgsEditFormConfig::uiForm ( ) const

Get path to the .ui form. Only meaningful with EditorLayout::UiFileLayout.

Definition at line 149 of file qgseditformconfig.cpp.

◆ widgetConfig()

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

Get 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 36 of file qgseditformconfig.cpp.

◆ writeXml()

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

Write XML information Serialize on project save.

Definition at line 375 of file qgseditformconfig.cpp.

Friends And Related Function Documentation

◆ QgsVectorLayer

friend class QgsVectorLayer
friend

Definition at line 310 of file qgseditformconfig.h.


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