QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Slots | Signals | Public Member Functions | Protected Member Functions | List of all members
QgsRelationWidgetWrapper Class Reference

#include <qgsrelationwidgetwrapper.h>

Inheritance diagram for QgsRelationWidgetWrapper:
Inheritance graph
[legend]

Public Slots

void setFeature (const QgsFeature &feature) override
 
void setMultiEditFeatureIds (const QgsFeatureIds &fids)
 Set multiple feature to edit simultaneously. More...
 
void setVisible (bool visible)
 Sets the visibility of the wrapper's widget. More...
 
- Public Slots inherited from QgsWidgetWrapper
virtual void setEnabled (bool enabled)
 Is used to enable or disable the edit functionality of the managed widget. More...
 
virtual void setFeature (const QgsFeature &feature)=0
 Is called when the value of the widget needs to be changed. More...
 

Signals

void relatedFeaturesChanged ()
 Emit this signal, whenever the related features changed. More...
 
- Signals inherited from QgsWidgetWrapper
void contextChanged ()
 Signal when QgsAttributeEditorContext mContext changed. More...
 

Public Member Functions

 QgsRelationWidgetWrapper (const QString &relationEditorName, QgsVectorLayer *vl, const QgsRelation &relation, QWidget *editor=nullptr, QWidget *parent=nullptr)
 Constructor for QgsRelationWidgetWrapper. More...
 
 QgsRelationWidgetWrapper (QgsVectorLayer *vl, const QgsRelation &relation, QWidget *editor=nullptr, QWidget *parent=nullptr)
 Constructor for QgsRelationWidgetWrapper. More...
 
bool forceSuppressFormPopup () const
 Determines the force suppress form popup status that is configured for this widget. More...
 
Q_DECL_DEPRECATED QString label () const
 Determines the label of this element. More...
 
QVariant nmRelationId () const
 Determines the relation id of the second relation involved in an N:M relation. More...
 
QgsRelation relation () const
 The relation for which this wrapper is created. More...
 
void setForceSuppressFormPopup (bool forceSuppressFormPopup)
 Sets force suppress form popup status to forceSuppressFormPopup for this widget and for the vectorLayerTools (if true). More...
 
Q_DECL_DEPRECATED void setLabel (const QString &label=QString())
 Sets label for this element If it's empty it takes the relation id as label. More...
 
void setNmRelationId (const QVariant &nmRelationId=QVariant())
 Sets nmRelationId for the relation id of the second relation involved in an N:M relation. More...
 
Q_DECL_DEPRECATED void setShowLabel (bool showLabel)
 Defines if a title label should be shown for this widget. More...
 
Q_DECL_DEPRECATED void setShowLinkButton (bool showLinkButton)
 Determines if the "link feature" button should be shown. More...
 
Q_DECL_DEPRECATED void setShowSaveChildEditsButton (bool showChildEdits)
 Determines if the "Save child layer edits" button should be shown. More...
 
Q_DECL_DEPRECATED void setShowUnlinkButton (bool showUnlinkButton)
 Determines if the "unlink feature" button should be shown. More...
 
Q_DECL_DEPRECATED void setVisibleButtons (const QgsAttributeEditorRelation::Buttons &buttons)
 Defines the buttons which are shown. More...
 
void setWidgetConfig (const QVariantMap &config)
 Will set the config of this widget wrapper to the specified config. More...
 
Q_DECL_DEPRECATED bool showLabel () const
 Defines if a title label should be shown for this widget. More...
 
Q_DECL_DEPRECATED bool showLinkButton () const
 Determines if the "link feature" button should be shown. More...
 
Q_DECL_DEPRECATED bool showSaveChildEditsButton () const
 Determines if the "Save child layer edits" button should be shown. More...
 
Q_DECL_DEPRECATED bool showUnlinkButton () const
 Determines if the "unlink feature" button should be shown. More...
 
Q_DECL_DEPRECATED QgsAttributeEditorRelation::Buttons visibleButtons () const
 Returns the buttons which are shown. More...
 
QVariantMap widgetConfig () const
 Returns the whole widget config. More...
 
void widgetValueChanged (const QString &attribute, const QVariant &newValue, bool attributeChanged)
 Will be called when a value in the current edited form or table row changes. More...
 
- Public Member Functions inherited from QgsWidgetWrapper
 QgsWidgetWrapper (QgsVectorLayer *vl, QWidget *editor=nullptr, QWidget *parent=nullptr)
 Create a new widget wrapper. More...
 
QVariantMap config () const
 Returns the whole config. More...
 
QVariant config (const QString &key, const QVariant &defaultVal=QVariant()) const
 Use this inside your overridden classes to access the configuration. More...
 
const QgsAttributeEditorContextcontext () const
 Returns information about the context in which this widget is shown. More...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the editor widget's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the editor widget's property collection, used for data defined overrides. More...
 
QgsVectorLayerlayer () const
 Returns the vector layer associated with the widget. More...
 
void notifyAboutToSave ()
 Notify this widget, that the containing form is about to save and that any pending changes should be pushed to the edit buffer or they might be lost. More...
 
void setConfig (const QVariantMap &config)
 Will set the config of this wrapper to the specified config. More...
 
void setContext (const QgsAttributeEditorContext &context)
 Set the context in which this widget is shown. More...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the editor widget's property collection, used for data defined overrides. More...
 
virtual bool valid () const =0
 Returns true if the widget has been properly initialized. More...
 
QWidget * widget ()
 Access the widget managed by this wrapper. More...
 
template<class T >
T * widget ()
 Access the widget managed by this wrapper and cast it to a given type. More...
 

Protected Member Functions

QWidget * createWidget (QWidget *parent) override
 This method should create a new widget with the provided parent. More...
 
void initWidget (QWidget *editor) override
 This method should initialize the editor widget with runtime data. More...
 
bool valid () const override
 Returns true if the widget has been properly initialized. More...
 
virtual QWidget * createWidget (QWidget *parent)=0
 This method should create a new widget with the provided parent. More...
 
virtual void initWidget (QWidget *editor)
 This method should initialize the editor widget with runtime data. More...
 

Additional Inherited Members

- Public Types inherited from QgsWidgetWrapper
enum class  Property : int { RootPath = 0 , DocumentViewerContent , StorageUrl }
 Data defined properties for different editor widgets. More...
 
- Static Public Member Functions inherited from QgsWidgetWrapper
static QgsWidgetWrapperfromWidget (QWidget *widget)
 Will return a wrapper for a given widget. More...
 
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the editor widget property definitions. More...
 
- Protected Attributes inherited from QgsWidgetWrapper
QgsPropertyCollection mPropertyCollection
 Data defined property collection. More...
 

Detailed Description

Definition at line 32 of file qgsrelationwidgetwrapper.h.

Constructor & Destructor Documentation

◆ QgsRelationWidgetWrapper() [1/2]

QgsRelationWidgetWrapper::QgsRelationWidgetWrapper ( QgsVectorLayer vl,
const QgsRelation relation,
QWidget *  editor = nullptr,
QWidget *  parent = nullptr 
)

Constructor for QgsRelationWidgetWrapper.

Definition at line 27 of file qgsrelationwidgetwrapper.cpp.

◆ QgsRelationWidgetWrapper() [2/2]

QgsRelationWidgetWrapper::QgsRelationWidgetWrapper ( const QString &  relationEditorName,
QgsVectorLayer vl,
const QgsRelation relation,
QWidget *  editor = nullptr,
QWidget *  parent = nullptr 
)

Constructor for QgsRelationWidgetWrapper.

Definition at line 32 of file qgsrelationwidgetwrapper.cpp.

Member Function Documentation

◆ createWidget()

QWidget * QgsRelationWidgetWrapper::createWidget ( QWidget *  parent)
overrideprotectedvirtual

This method should create a new widget with the provided parent.

This will only be called if the form did not already provide a widget, so it is not guaranteed to be called! You should not do initialization stuff, which also has to be done for custom editor widgets inside this method. Things like filling comboboxes and assigning other data which will also be used to make widgets on forms created in the QtDesigner usable should be assigned in initWidget().

Parameters
parentYou should set this parent on the created widget.
Returns
A new widget

Implements QgsWidgetWrapper.

Definition at line 39 of file qgsrelationwidgetwrapper.cpp.

◆ forceSuppressFormPopup()

bool QgsRelationWidgetWrapper::forceSuppressFormPopup ( ) const

Determines the force suppress form popup status that is configured for this widget.

Since
QGIS 3.16

Definition at line 263 of file qgsrelationwidgetwrapper.cpp.

◆ initWidget()

void QgsRelationWidgetWrapper::initWidget ( QWidget *  editor)
overrideprotectedvirtual

This method should initialize the editor widget with runtime data.

Fill your comboboxes here.

Parameters
editorThe widget which will represent this attribute editor in a form.

Reimplemented from QgsWidgetWrapper.

Definition at line 157 of file qgsrelationwidgetwrapper.cpp.

◆ label()

QString QgsRelationWidgetWrapper::label ( ) const

Determines the label of this element.

Since
QGIS 3.16
Deprecated:
since QGIS 3.20 label is handled directly in QgsAttributeForm.

Definition at line 307 of file qgsrelationwidgetwrapper.cpp.

◆ nmRelationId()

QVariant QgsRelationWidgetWrapper::nmRelationId ( ) const

Determines the relation id of the second relation involved in an N:M relation.

Since
QGIS 3.16

Definition at line 294 of file qgsrelationwidgetwrapper.cpp.

◆ relatedFeaturesChanged

void QgsRelationWidgetWrapper::relatedFeaturesChanged ( )
signal

Emit this signal, whenever the related features changed.

This happens for example when related features are added, removed, linked or unlinked.

Since
QGIS 3.22

◆ relation()

QgsRelation QgsRelationWidgetWrapper::relation ( ) const

The relation for which this wrapper is created.

Definition at line 104 of file qgsrelationwidgetwrapper.cpp.

◆ setFeature

void QgsRelationWidgetWrapper::setFeature ( const QgsFeature feature)
overrideslot

Definition at line 58 of file qgsrelationwidgetwrapper.cpp.

◆ setForceSuppressFormPopup()

void QgsRelationWidgetWrapper::setForceSuppressFormPopup ( bool  forceSuppressFormPopup)

Sets force suppress form popup status to forceSuppressFormPopup for this widget and for the vectorLayerTools (if true).

This flag will override the layer and general settings regarding the automatic opening of the attribute form dialog when digitizing is completed.

Since
QGIS 3.16

Definition at line 253 of file qgsrelationwidgetwrapper.cpp.

◆ setLabel()

void QgsRelationWidgetWrapper::setLabel ( const QString &  label = QString())

Sets label for this element If it's empty it takes the relation id as label.

Since
QGIS 3.16
Deprecated:
since QGIS 3.20 label is handled directly in QgsAttributeForm.

Definition at line 302 of file qgsrelationwidgetwrapper.cpp.

◆ setMultiEditFeatureIds

void QgsRelationWidgetWrapper::setMultiEditFeatureIds ( const QgsFeatureIds fids)
slot

Set multiple feature to edit simultaneously.

Parameters
fidsMultiple Id of features to edit
Since
QGIS 3.24

Definition at line 64 of file qgsrelationwidgetwrapper.cpp.

◆ setNmRelationId()

void QgsRelationWidgetWrapper::setNmRelationId ( const QVariant &  nmRelationId = QVariant())

Sets nmRelationId for the relation id of the second relation involved in an N:M relation.

If it's empty, then it's considered as a 1:M relationship.

Since
QGIS 3.16

Definition at line 271 of file qgsrelationwidgetwrapper.cpp.

◆ setShowLabel()

void QgsRelationWidgetWrapper::setShowLabel ( bool  showLabel)

Defines if a title label should be shown for this widget.

Only has an effect after widget() has been called at least once.

Deprecated:
since QGIS 3.20 label is handled directly in QgsAttributeForm.

Definition at line 152 of file qgsrelationwidgetwrapper.cpp.

◆ setShowLinkButton()

void QgsRelationWidgetWrapper::setShowLinkButton ( bool  showLinkButton)

Determines if the "link feature" button should be shown.

Deprecated:
since QGIS 3.16 use setVisibleButtons() instead

Definition at line 224 of file qgsrelationwidgetwrapper.cpp.

◆ setShowSaveChildEditsButton()

void QgsRelationWidgetWrapper::setShowSaveChildEditsButton ( bool  showChildEdits)

Determines if the "Save child layer edits" button should be shown.

Since
QGIS 3.14
Deprecated:
since QGIS 3.16 use setVisibleButtons() instead

Definition at line 140 of file qgsrelationwidgetwrapper.cpp.

◆ setShowUnlinkButton()

void QgsRelationWidgetWrapper::setShowUnlinkButton ( bool  showUnlinkButton)

Determines if the "unlink feature" button should be shown.

Deprecated:
since QGIS 3.16 use setVisibleButtons() instead

Definition at line 133 of file qgsrelationwidgetwrapper.cpp.

◆ setVisible

void QgsRelationWidgetWrapper::setVisible ( bool  visible)
slot

Sets the visibility of the wrapper's widget.

Parameters
visibleset to true to show widget, false to hide widget

Definition at line 70 of file qgsrelationwidgetwrapper.cpp.

◆ setVisibleButtons()

void QgsRelationWidgetWrapper::setVisibleButtons ( const QgsAttributeEditorRelation::Buttons buttons)

Defines the buttons which are shown.

Since
QGIS 3.16
Deprecated:
since QGIS 3.18 use setWidgetConfig() instead

Definition at line 238 of file qgsrelationwidgetwrapper.cpp.

◆ setWidgetConfig()

void QgsRelationWidgetWrapper::setWidgetConfig ( const QVariantMap &  config)

Will set the config of this widget wrapper to the specified config.

Parameters
configThe config for this wrapper
Since
QGIS 3.18

Definition at line 312 of file qgsrelationwidgetwrapper.cpp.

◆ showLabel()

bool QgsRelationWidgetWrapper::showLabel ( ) const

Defines if a title label should be shown for this widget.

Only has an effect after widget() has been called at least once.

Deprecated:
since QGIS 3.20 label is handled directly in QgsAttributeForm.

Definition at line 147 of file qgsrelationwidgetwrapper.cpp.

◆ showLinkButton()

bool QgsRelationWidgetWrapper::showLinkButton ( ) const

Determines if the "link feature" button should be shown.

Deprecated:
since QGIS 3.16 use visibleButtons() instead

Definition at line 217 of file qgsrelationwidgetwrapper.cpp.

◆ showSaveChildEditsButton()

bool QgsRelationWidgetWrapper::showSaveChildEditsButton ( ) const

Determines if the "Save child layer edits" button should be shown.

Since
QGIS 3.14
Deprecated:
since QGIS 3.16 use visibleButtons() instead

Definition at line 231 of file qgsrelationwidgetwrapper.cpp.

◆ showUnlinkButton()

bool QgsRelationWidgetWrapper::showUnlinkButton ( ) const

Determines if the "unlink feature" button should be shown.

Deprecated:
since QGIS 3.16 use visibleButtons() instead

Definition at line 126 of file qgsrelationwidgetwrapper.cpp.

◆ valid()

bool QgsRelationWidgetWrapper::valid ( ) const
overrideprotectedvirtual

Returns true if the widget has been properly initialized.

This acts as hint for the calling party if this wrapper can be used after initializing it. If it cannot be used this is a hint to the caller that he may try to find another suitable widget type instead.

Returns
Validity status of this widget.

Implements QgsWidgetWrapper.

Definition at line 212 of file qgsrelationwidgetwrapper.cpp.

◆ visibleButtons()

QgsAttributeEditorRelation::Buttons QgsRelationWidgetWrapper::visibleButtons ( ) const

Returns the buttons which are shown.

Since
QGIS 3.16
Deprecated:
since QGIS 3.18 use widgetConfig() instead

Definition at line 248 of file qgsrelationwidgetwrapper.cpp.

◆ widgetConfig()

QVariantMap QgsRelationWidgetWrapper::widgetConfig ( ) const

Returns the whole widget config.

Since
QGIS 3.18

Definition at line 318 of file qgsrelationwidgetwrapper.cpp.

◆ widgetValueChanged()

void QgsRelationWidgetWrapper::widgetValueChanged ( const QString &  attribute,
const QVariant &  newValue,
bool  attributeChanged 
)

Will be called when a value in the current edited form or table row changes.

Forward the signal to the embedded form

Parameters
attributeThe name of the attribute that changed.
newValueThe new value of the attribute.
attributeChangedIf true, it corresponds to an actual change of the feature attribute
Since
QGIS 3.14

Definition at line 109 of file qgsrelationwidgetwrapper.cpp.


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