QGIS/python/gui/auto_generated/qgsabstractrelationeditorwidget.sip.in
2022-01-12 09:46:43 +01:00

464 lines
12 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsabstractrelationeditorwidget.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
// this is needed for the "convert to subclass" code below to compile
%ModuleHeaderCode
#include "qgsrelationeditorwidget.h"
%End
class QgsAbstractRelationEditorWidget : QWidget
{
%Docstring(signature="appended")
Base class to build new relation widgets.
.. versionadded:: 3.18
%End
%TypeHeaderCode
#include "qgsabstractrelationeditorwidget.h"
%End
%ConvertToSubClassCode
if ( qobject_cast<QgsRelationEditorWidget *>( sipCpp ) )
sipType = sipType_QgsRelationEditorWidget;
else
sipType = 0;
%End
public:
QgsAbstractRelationEditorWidget( const QVariantMap &config, QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor
%End
void setRelationFeature( const QgsRelation &relation, const QgsFeature &feature );
%Docstring
Sets the ``relation`` and the ``feature``
%End
void setRelations( const QgsRelation &relation, const QgsRelation &nmrelation );
%Docstring
Sets the relation(s) for this widget
If only one relation is set, it will act as a simple 1:N relation widget
If both relations are set, it will act as an N:M relation widget
inserting and deleting entries on the intermediate table as required.
:param relation: Relation referencing the edited table
:param nmrelation: Optional reference from the referencing table to a 3rd N:M table
%End
QgsRelation relation() const;
%Docstring
Returns the relation
.. versionadded:: 3.18
%End
QgsRelation nmRelation() const;
%Docstring
Returns the nm relation
.. versionadded:: 3.18
%End
void setFeature( const QgsFeature &feature, bool update = true );
%Docstring
Sets the ``feature`` being edited and updates the UI unless ``update`` is set to ``False``
%End
void setMultiEditFeatureIds( const QgsFeatureIds &fids );
%Docstring
Set multiple feature to edit simultaneously.
:param fids: Multiple Id of features to edit
.. versionadded:: 3.24
%End
virtual void setEditorContext( const QgsAttributeEditorContext &context );
%Docstring
Sets the editor ``context``
.. note::
if context cadDockWidget is null, it won't be possible to digitize
the geometry of a referencing feature from this widget
%End
QgsAttributeEditorContext editorContext( ) const;
%Docstring
Returns the attribute editor context.
%End
bool showLabel() const /Deprecated/;
%Docstring
Defines if a title label should be shown for this widget.
.. deprecated:: QGIS 3.20
label is handled directly in :py:class:`QgsAttributeForm`.
%End
void setShowLabel( bool showLabel ) /Deprecated/;
%Docstring
Defines if a title label should be shown for this widget.
.. deprecated:: QGIS 3.20
label is handled directly in :py:class:`QgsAttributeForm`.
%End
QVariant nmRelationId() const;
%Docstring
Determines the relation id of the second relation involved in an N:M relation.
%End
void setNmRelationId( const QVariant &nmRelationId = QVariant() );
%Docstring
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.
%End
QString label() const /Deprecated/;
%Docstring
Determines the label of this element
.. deprecated:: QGIS 3.20
label is handled directly in :py:class:`QgsAttributeForm`.
%End
void setLabel( const QString &label = QString() );
%Docstring
Sets ``label`` for this element
If it's empty it takes the relation id as label
%End
QgsFeature feature() const;
%Docstring
Returns the widget's current feature
If the widget is in multiedit mode only the first is returned
.. seealso:: :py:func:`features`
%End
QList<QgsFeature> features() const;
%Docstring
Returns the widget's current features
.. versionadded:: 3.24
%End
bool forceSuppressFormPopup() const;
%Docstring
Determines the force suppress form popup status that is configured for this widget
%End
void setForceSuppressFormPopup( bool forceSuppressFormPopup );
%Docstring
Sets force suppress form popup status with ``forceSuppressFormPopup``
configured for this widget
%End
virtual QVariantMap config() const = 0;
%Docstring
Returns the widget configuration
%End
virtual void setConfig( const QVariantMap &config ) = 0;
%Docstring
Defines the widget configuration
%End
bool multiEditModeActive() const;
%Docstring
Returns true if editing multiple features at a time
.. versionadded:: 3.24
%End
signals:
void relatedFeaturesChanged();
%Docstring
Emit this signal, whenever the related features changed.
This happens for example when related features are added, removed,
linked or unlinked.
.. versionadded:: 3.22
%End
public slots:
virtual void parentFormValueChanged( const QString &attribute, const QVariant &newValue ) = 0;
%Docstring
Called when an ``attribute`` value in the parent widget has changed to ``newValue``
%End
protected slots:
void toggleEditing( bool state );
%Docstring
Toggles editing state of the widget
%End
void saveEdits();
%Docstring
Saves the current modifications in the relation
%End
QgsFeatureIds addFeature( const QgsGeometry &geometry = QgsGeometry() );
%Docstring
Adds new features with given ``geometry``
.. versionadded:: 3.24
%End
void deleteFeature( QgsFeatureId fid = QgsFeatureId() );
%Docstring
Delete a feature with given ``fid``
%End
void linkFeature();
%Docstring
Links a new feature to the relation
%End
void onLinkFeatureDlgAccepted();
%Docstring
Called when the link feature dialog is confirmed by the user
%End
void unlinkFeature( QgsFeatureId fid = QgsFeatureId() );
%Docstring
Unlinks a feature with given ``fid``
%End
void duplicateFeature( const QgsFeatureId &fid );
%Docstring
Duplicates a feature
%End
void duplicateFeatures( const QgsFeatureIds &fids );
%Docstring
Duplicates features
%End
protected:
void showEvent( QShowEvent * );
%Docstring
Refresh the UI when the widget becomes visible
%End
void updateTitle() /Deprecated/;
%Docstring
Updates the title contents to reflect the current state of the widget
.. deprecated:: QGIS 3.20
label is handled directly in :py:class:`QgsAttributeForm`.
%End
void deleteFeatures( const QgsFeatureIds &fids );
%Docstring
Deletes the features with ``fids``
%End
void unlinkFeatures( const QgsFeatureIds &fids );
%Docstring
Unlinks the features with ``fids``
%End
virtual void updateUi();
%Docstring
A hook called every time the state of the relation editor widget has changed via calling its `set*` methods or slots,
e.g. changed relation, added feature, etc.
Should be used to refresh the UI regarding the new data.
Check :py:class:`QgsRealationEditorWidget` as an example.
%End
virtual void setTitle( const QString &title ) /Deprecated/;
%Docstring
Sets the title of the widget, if it is wrapped within a :py:class:`QgsCollapsibleGroupBox`
.. deprecated:: QGIS 3.20
label is handled directly in :py:class:`QgsAttributeForm`.
%End
virtual void beforeSetRelationFeature( const QgsRelation &newRelation, const QgsFeature &newFeature );
%Docstring
A hook called right before :py:func:`~QgsAbstractRelationEditorWidget.setRelationFeature` is executed. Used to update the UI once setting the relation feature is done.
Check :py:class:`QgsRealationEditorWidget` as an example.
%End
virtual void afterSetRelationFeature();
%Docstring
A hook called right after :py:func:`~QgsAbstractRelationEditorWidget.setRelationFeature` is executed, but before :py:func:`~QgsAbstractRelationEditorWidget.updateUi` is called. Used to update the UI once setting the relation feature is done.
Check :py:class:`QgsRealationEditorWidget` as an example.
%End
virtual void beforeSetRelations( const QgsRelation &newRelation, const QgsRelation &newNmRelation );
%Docstring
A hook called right before :py:func:`~QgsAbstractRelationEditorWidget.setRelations` is executed. Used to manipulate UI once setting the relations is done.
Check :py:class:`QgsRealationEditorWidget` as an example.
%End
virtual void afterSetRelations();
%Docstring
A hook called right after :py:func:`~QgsAbstractRelationEditorWidget.setRelations` is executed, but before :py:func:`~QgsAbstractRelationEditorWidget.updateUi` is called. Used to update the UI once setting the relations is done.
Check :py:class:`QgsRealationEditorWidget` as an example.
%End
};
class QgsAbstractRelationEditorConfigWidget : QWidget
{
%Docstring(signature="appended")
This class should be subclassed for every configurable relation widget type.
It implements the GUI configuration widget and transforms this to/from a configuration.
It will only be instantiated by {:py:class:`QgsAbstractRelationEditorWidgetFactory`}
.. versionadded:: 3.18
%End
%TypeHeaderCode
#include "qgsabstractrelationeditorwidget.h"
%End
%ConvertToSubClassCode
if ( qobject_cast<QgsRelationEditorConfigWidget *>( sipCpp ) )
sipType = sipType_QgsRelationEditorConfigWidget;
else
sipType = 0;
%End
public:
explicit QgsAbstractRelationEditorConfigWidget( const QgsRelation &relation, QWidget *parent /TransferThis/ );
%Docstring
Create a new configuration widget
:param relation: The relation for which the configuration dialog will be created
:param parent: A parent widget
%End
virtual QVariantMap config() = 0;
%Docstring
Create a configuration from the current GUI state
:return: A widget configuration
%End
virtual void setConfig( const QVariantMap &config ) = 0;
%Docstring
Update the configuration widget to represent the given configuration.
:param config: The configuration which should be represented by this widget
%End
QgsVectorLayer *layer();
%Docstring
Returns the layer for which this configuration widget applies
:return: The layer
%End
QgsRelation relation() const;
%Docstring
Returns the relation for which this configuration widget applies
:return: The relation
%End
virtual void setNmRelation( const QgsRelation &nmRelation );
%Docstring
Set the nm relation for this widget.
:param nmRelation: The nm relation
%End
virtual QgsRelation nmRelation() const;
%Docstring
Returns the nm relation for which this configuration widget applies
:return: The nm relation
%End
};
class QgsAbstractRelationEditorWidgetFactory
{
%Docstring(signature="appended")
Factory class for creating relation widgets and their corresponding config widgets
.. versionadded:: 3.18
%End
%TypeHeaderCode
#include "qgsabstractrelationeditorwidget.h"
%End
public:
QgsAbstractRelationEditorWidgetFactory();
%Docstring
Creates a new relation widget factory with given ``name``
%End
virtual ~QgsAbstractRelationEditorWidgetFactory();
virtual QString type() const = 0;
%Docstring
Returns the machine readable identifier name of this widget type
%End
virtual QString name() const = 0;
%Docstring
Returns the human readable identifier name of this widget type
%End
virtual QgsAbstractRelationEditorWidget *create( const QVariantMap &config, QWidget *parent = 0 ) const = 0 /Factory/;
%Docstring
Override this in your implementation.
Create a new relation widget. Call :py:func:`QgsEditorWidgetRegistry.create()`
instead of calling this method directly.
:param config: The widget configuration to build the widget with
:param parent: The parent for the wrapper class and any created widget.
:return: A new widget wrapper
%End
virtual QgsAbstractRelationEditorConfigWidget *configWidget( const QgsRelation &relation, QWidget *parent ) const = 0 /Factory/;
%Docstring
Override this in your implementation.
Create a new configuration widget for this widget type.
:param relation: The relation for which the widget will be created
:param parent: The parent widget of the created config widget
:return: A configuration widget
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsabstractrelationeditorwidget.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/