QGIS/python/PyQt6/gui/auto_generated/layout/qgslayoutitemguiregistry.sip.in
2024-08-13 20:28:55 +10:00

274 lines
8.3 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/layout/qgslayoutitemguiregistry.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsLayoutItemAbstractGuiMetadata
{
%Docstring(signature="appended")
Stores GUI metadata about one layout item class.
This is a companion to :py:class:`QgsLayoutItemAbstractMetadata`, storing only
the components related to the GUI behavior of a layout item.
.. note::
In C++ you can use :py:class:`QgsLayoutItemGuiMetadata` convenience class.
%End
%TypeHeaderCode
#include "qgslayoutitemguiregistry.h"
%End
public:
enum Flag /BaseType=IntEnum/
{
FlagNoCreationTools,
};
typedef QFlags<QgsLayoutItemAbstractGuiMetadata::Flag> Flags;
QgsLayoutItemAbstractGuiMetadata( int type, const QString &visibleName, const QString &groupId = QString(), bool isNodeBased = false, Flags flags = QgsLayoutItemAbstractGuiMetadata::Flags() );
%Docstring
Constructor for QgsLayoutItemAbstractGuiMetadata with the specified class ``type``.
``visibleName`` should be set to a translated, user visible name identifying the corresponding layout item.
An optional ``groupId`` can be set, which allows grouping of related layout item classes. See :py:class:`QgsLayoutItemGuiMetadata` for details.
If ``isNodeBased`` is ``True``, then the corresponding item is a node based item.
%End
virtual ~QgsLayoutItemAbstractGuiMetadata();
int type() const;
%Docstring
Returns the unique item type code for the layout item class.
%End
Flags flags() const;
%Docstring
Returns item flags.
%End
QString groupId() const;
%Docstring
Returns the item group ID, if set.
%End
bool isNodeBased() const;
%Docstring
Returns ``True`` if the associated item is a node based item.
%End
QString visibleName() const;
%Docstring
Returns a translated, user visible name identifying the corresponding layout item.
%End
virtual QIcon creationIcon() const;
%Docstring
Returns an icon representing creation of the layout item type.
%End
virtual QgsLayoutItemBaseWidget *createItemWidget( QgsLayoutItem *item ) /TransferBack/;
%Docstring
Creates a configuration widget for an ``item`` of this type. Can return ``None`` if no configuration GUI is required.
%End
virtual QgsLayoutViewRubberBand *createRubberBand( QgsLayoutView *view ) /TransferBack/;
%Docstring
Creates a rubber band for use when creating layout items of this type. Can return ``None`` if no rubber band
should be created. The default behavior is to create a rectangular rubber band.
.. seealso:: :py:func:`createNodeRubberBand`
%End
virtual QAbstractGraphicsShapeItem *createNodeRubberBand( QgsLayoutView *view ) /TransferBack/;
%Docstring
Creates a rubber band for use when creating layout node based items of this type. Can return ``None`` if no rubber band
should be created. The default behavior is to return ``None``.
.. seealso:: :py:func:`createRubberBand`
%End
virtual QgsLayoutItem *createItem( QgsLayout *layout ) /TransferBack/;
%Docstring
Creates an instance of the corresponding item type.
%End
virtual void newItemAddedToLayout( QgsLayoutItem *item );
%Docstring
Called when a newly created item of the associated type has been added to a layout.
This is only called for additions which result from GUI operations - i.e. it is not
called for items added from templates.
%End
};
class QgsLayoutItemGuiGroup
{
%Docstring(signature="appended")
Stores GUI metadata about a group of layout item classes.
:py:class:`QgsLayoutItemGuiGroup` stores settings about groups of related layout item classes
which should be presented to users grouped together.
For instance, the various basic shape creation tools would use :py:class:`QgsLayoutItemGuiGroup`
to display grouped within designer dialogs.
%End
%TypeHeaderCode
#include "qgslayoutitemguiregistry.h"
%End
public:
QgsLayoutItemGuiGroup( const QString &id = QString(), const QString &name = QString(), const QIcon &icon = QIcon() );
%Docstring
Constructor for QgsLayoutItemGuiGroup.
%End
QString id;
QString name;
QIcon icon;
};
class QgsLayoutItemGuiRegistry : QObject
{
%Docstring(signature="appended")
Registry of available layout item GUI behavior.
:py:class:`QgsLayoutItemGuiRegistry` is not usually directly created, but rather accessed through
:py:func:`QgsGui.layoutItemGuiRegistry()`.
This acts as a companion to :py:class:`QgsLayoutItemRegistry`, handling only
the components related to the GUI behavior of layout items.
%End
%TypeHeaderCode
#include "qgslayoutitemguiregistry.h"
%End
public:
QgsLayoutItemGuiRegistry( QObject *parent = 0 );
%Docstring
Creates a new empty item GUI registry.
QgsLayoutItemGuiRegistry is not usually directly created, but rather accessed through
:py:func:`QgsGui.layoutItemGuiRegistry()`.
%End
~QgsLayoutItemGuiRegistry();
QgsLayoutItemAbstractGuiMetadata *itemMetadata( int metadataId ) const;
%Docstring
Returns the metadata for the specified item ``metadataId``. Returns ``None`` if
a corresponding ``metadataId`` was not found in the registry.
%End
int metadataIdForItemType( int type ) const;
%Docstring
Returns the GUI item metadata ID which corresponds to the specified layout item ``type``.
In the case that multiple GUI metadata classes exist for a single layout item ``type`` then
only the first encountered GUI metadata ID will be returned.
Returns -1 if no matching metadata is found in the GUI registry.
.. versionadded:: 3.18
%End
bool addLayoutItemGuiMetadata( QgsLayoutItemAbstractGuiMetadata *metadata /Transfer/ );
%Docstring
Registers the gui metadata for a new layout item type. Takes ownership of the metadata instance.
%End
bool addItemGroup( const QgsLayoutItemGuiGroup &group );
%Docstring
Registers a new item group with the registry. This must be done before calling
:py:func:`~QgsLayoutItemGuiRegistry.addLayoutItemGuiMetadata` for any item types associated with the group.
Returns ``True`` if group was added, or ``False`` if group could not be added (e.g. due to
duplicate id value).
.. seealso:: :py:func:`itemGroup`
%End
const QgsLayoutItemGuiGroup &itemGroup( const QString &id );
%Docstring
Returns a reference to the item group with matching ``id``.
.. seealso:: :py:func:`addItemGroup`
%End
QgsLayoutItem *createItem( int metadataId, QgsLayout *layout ) const /TransferBack/;
%Docstring
Creates a new instance of a layout item given the item metadata ``metadataId``, target ``layout``.
%End
void newItemAddedToLayout( int metadataId, QgsLayoutItem *item, const QVariantMap &properties = QVariantMap() );
%Docstring
Called when a newly created item of the associated metadata ``metadataId`` has been added to a layout.
This is only called for additions which result from GUI operations - i.e. it is not
called for items added from templates.
Since QGIS 3.18 the optional ``properties`` argument can be used to pass custom properties to the
:py:func:`QgsLayoutItemGuiMetadata.newItemAddedToLayout()` function.
%End
QgsLayoutItemBaseWidget *createItemWidget( QgsLayoutItem *item ) const /TransferBack/;
%Docstring
Creates a new instance of a layout item configuration widget for the specified ``item``.
%End
QList< int > itemMetadataIds() const;
%Docstring
Returns a list of available item metadata ids handled by the registry.
%End
signals:
void typeAdded( int metadataId );
%Docstring
Emitted whenever a new item type is added to the registry, with the specified
``metadataId``.
%End
private:
QgsLayoutItemGuiRegistry( const QgsLayoutItemGuiRegistry &rh );
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/layout/qgslayoutitemguiregistry.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/