QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Public Slots | 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 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...
 

Public Member Functions

 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...
 
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...
 
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...
 
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...
 
void setVisibleButtons (const QgsAttributeEditorRelation::Buttons &buttons)
 Defines the buttons which are shown. More...
 
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...
 
QgsAttributeEditorRelation::Buttons visibleButtons () const
 Returns the buttons which are shown. 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...
 
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...
 

Additional Inherited Members

- Public Types inherited from QgsWidgetWrapper
enum  Property { RootPath = 0, DocumentViewerContent }
 Data defined properties for different editor widgets. More...
 
- Signals inherited from QgsWidgetWrapper
void contextChanged ()
 Signal when QgsAttributeEditorContext mContext changed. 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 30 of file qgsrelationwidgetwrapper.h.

Constructor & Destructor Documentation

◆ QgsRelationWidgetWrapper()

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

Constructor for QgsRelationWidgetWrapper.

Definition at line 24 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 31 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 244 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 140 of file qgsrelationwidgetwrapper.cpp.

◆ label()

QString QgsRelationWidgetWrapper::label ( ) const

Determines the label of this element.

Since
QGIS 3.16

Definition at line 291 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 277 of file qgsrelationwidgetwrapper.cpp.

◆ relation()

QgsRelation QgsRelationWidgetWrapper::relation ( ) const

The relation for which this wrapper is created.

Since
QGIS 3.0

Definition at line 80 of file qgsrelationwidgetwrapper.cpp.

◆ setFeature

void QgsRelationWidgetWrapper::setFeature ( const QgsFeature feature)
overrideslot

Definition at line 40 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 231 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

Definition at line 285 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 251 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.

Since
QGIS 2.18

Definition at line 134 of file qgsrelationwidgetwrapper.cpp.

◆ setShowLinkButton()

void QgsRelationWidgetWrapper::setShowLinkButton ( bool  showLinkButton)

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

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

Definition at line 207 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 117 of file qgsrelationwidgetwrapper.cpp.

◆ setShowUnlinkButton()

void QgsRelationWidgetWrapper::setShowUnlinkButton ( bool  showUnlinkButton)

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

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

Definition at line 109 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
Since
QGIS 2.16

Definition at line 46 of file qgsrelationwidgetwrapper.cpp.

◆ setVisibleButtons()

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

Defines the buttons which are shown.

Since
QGIS 3.16

Definition at line 220 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.

Since
QGIS 2.18

Definition at line 125 of file qgsrelationwidgetwrapper.cpp.

◆ showLinkButton()

bool QgsRelationWidgetWrapper::showLinkButton ( ) const

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

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

Definition at line 202 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 215 of file qgsrelationwidgetwrapper.cpp.

◆ showUnlinkButton()

bool QgsRelationWidgetWrapper::showUnlinkButton ( ) const

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

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

Definition at line 102 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.
Since
QGIS 2.12

Implements QgsWidgetWrapper.

Definition at line 197 of file qgsrelationwidgetwrapper.cpp.

◆ visibleButtons()

QgsAttributeEditorRelation::Buttons QgsRelationWidgetWrapper::visibleButtons ( ) const

Returns the buttons which are shown.

Since
QGIS 3.16

Definition at line 226 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 85 of file qgsrelationwidgetwrapper.cpp.


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