17#include "moc_qgsrelationwidgetwrapper.cpp"
35 , mRelation( relation )
36 , mRelationEditorId( relationEditorName )
48 if ( !relationEditorWidget )
50 QgsLogger::warning( QStringLiteral(
"Failed to create relation widget \"%1\", fallback to \"basic\" relation widget" ).arg( mRelationEditorId ) );
56 return relationEditorWidget;
61 if ( mWidget && mRelation.
isValid() )
67 if ( mWidget && mRelation.
isValid() )
74 mWidget->setVisible( visible );
77void QgsRelationWidgetWrapper::aboutToSave()
109 if ( mWidget && attributeChanged )
112 if ( feature.attribute( attribute ) != newValue )
163 if ( !editor->layout() )
165 editor->setLayout(
new QVBoxLayout( editor ) );
167 editor->layout()->addWidget( w );
174 if (
config( QStringLiteral(
"force-suppress-popup" ),
false ).toBool() )
197 w->setVisible(
false );
281 mWidget->setVisible(
false );
317 return mWidget ? mWidget->
config() : QVariantMap();
This class contains context information for attribute editor widgets.
FormMode formMode() const
Returns the form mode.
@ Multiple
When showing a list of features (e.g. houses as an embedded form in a district form)
const QgsVectorLayerTools * vectorLayerTools() const
Returns the associated vector layer tools.
@ Embed
A form was embedded as a widget on another form.
void setParentFormFeature(const QgsFeature &feature)
Sets the feature of the currently edited parent form.
const QgsAttributeEditorContext * parentContext() const
const QgsRelation & relation() const
Returns the attribute relation.
@ SaveChildEdits
Save child edits button.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Q_INVOKABLE bool setAttribute(int field, const QVariant &attr)
Sets an attribute's value by field index.
static QgsRelationWidgetRegistry * relationWidgetRegistry()
Returns the global relation widget registry, used for managing all known relation widget factories.
static void warning(const QString &msg)
Goes to qWarning.
QgsRelationManager * relationManager
static QgsProject * instance()
Returns the QgsProject singleton instance.
Q_INVOKABLE QgsRelation relation(const QString &id) const
Gets access to a relation by its id.
Represents a relationship between two vector layers.
QgsVectorLayer * referencedLayer
QgsVectorLayer * referencingLayer
Represents a vector layer which manages a vector based data sets.
bool isModified() const override
Returns true if the provider has been modified since the last commit.
#define Q_NOWARN_DEPRECATED_POP
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
T qgsFlagKeysToValue(const QString &keys, const T &defaultValue, bool tryValueAsKey=true, bool *returnOk=nullptr)
Returns the value corresponding to the given keys of a flag.
#define Q_NOWARN_DEPRECATED_PUSH
QSet< QgsFeatureId > QgsFeatureIds