QGIS/python/core/auto_generated/layout/qgslayoutitemmapitem.sip.in
2024-08-13 20:28:55 +10:00

372 lines
10 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/layout/qgslayoutitemmapitem.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsLayoutItemMapItem : QgsLayoutObject
{
%Docstring(signature="appended")
An item which is drawn inside a :py:class:`QgsLayoutItemMap`, e.g., a grid or map overview.
%End
%TypeHeaderCode
#include "qgslayoutitemmapitem.h"
%End
public:
enum StackingPosition
{
StackBelowMap,
StackBelowMapLayer,
StackAboveMapLayer,
StackBelowMapLabels,
StackAboveMapLabels,
};
QgsLayoutItemMapItem( const QString &name, QgsLayoutItemMap *map );
%Docstring
Constructor for QgsLayoutItemMapItem, attached to the specified ``map``.
The ``name`` argument gives a friendly display name for the item.
%End
virtual void draw( QPainter *painter ) = 0;
%Docstring
Draws the item on to a destination ``painter``.
%End
virtual bool writeXml( QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context ) const;
%Docstring
Stores map item state in a DOM element, where ``element`` is the DOM element
corresponding to a 'LayoutMap' tag.
.. seealso:: :py:func:`readXml`
%End
virtual bool readXml( const QDomElement &element, const QDomDocument &doc, const QgsReadWriteContext &context );
%Docstring
Sets the map item state from a DOM document, where ``element`` is the DOM
node corresponding to a 'LayoutMapGrid' tag.
.. seealso:: :py:func:`writeXml`
%End
virtual void finalizeRestoreFromXml();
%Docstring
Called after all pending items have been restored from XML. Map items can use
this method to run steps which must take place after all items have been restored to the layout,
such as connecting to signals emitted by other items, which may not have existed in the layout
at the time :py:func:`~QgsLayoutItemMapItem.readXml` was called. E.g. an overview can use this to connect to its linked
map item after restoration from XML.
.. seealso:: :py:func:`readXml`
%End
void setMap( QgsLayoutItemMap *map );
%Docstring
Sets the corresponding layout ``map`` for the item.
.. seealso:: :py:func:`map`
%End
const QgsLayoutItemMap *map() const;
%Docstring
Returns the layout item map for the item.
.. seealso:: :py:func:`setMap`
%End
QString id() const;
%Docstring
Returns the unique id for the map item.
%End
void setName( const QString &name );
%Docstring
Sets the friendly display ``name`` for the item.
.. seealso:: :py:func:`name`
%End
QString name() const;
%Docstring
Returns the friendly display name for the item.
.. seealso:: :py:func:`setName`
%End
virtual void setEnabled( bool enabled );
%Docstring
Controls whether the item will be drawn. Set ``enabled`` to ``True`` to enable drawing of the item.
.. seealso:: :py:func:`enabled`
%End
bool enabled() const;
%Docstring
Returns whether the item will be drawn.
.. seealso:: :py:func:`setEnabled`
%End
virtual bool usesAdvancedEffects() const;
%Docstring
Returns ``True`` if the item is drawn using advanced effects, such as blend modes.
%End
StackingPosition stackingPosition() const;
%Docstring
Returns the item's stacking position, which specifies where the in the map's
stack the item should be rendered.
.. seealso:: :py:func:`setStackingPosition`
.. seealso:: :py:func:`stackingLayer`
.. versionadded:: 3.6
%End
void setStackingPosition( StackingPosition position );
%Docstring
Sets the item's stacking ``position``, which specifies where the in the map's
stack the item should be rendered.
.. seealso:: :py:func:`stackingPosition`
.. seealso:: :py:func:`setStackingLayer`
.. versionadded:: 3.6
%End
QgsMapLayer *stackingLayer() const;
%Docstring
Returns the item's stacking layer, which specifies where the in the map's
stack the item should be rendered.
This setting is only used when :py:func:`~QgsLayoutItemMapItem.stackingPosition` is StackBelowMapLayer or
StackAboveMapLayer.
.. seealso:: :py:func:`setStackingLayer`
.. seealso:: :py:func:`stackingPosition`
.. versionadded:: 3.6
%End
void setStackingLayer( QgsMapLayer *layer );
%Docstring
Sets the item's stacking ``layer``, which specifies where the in the map's
stack the item should be rendered.
This setting is only used when :py:func:`~QgsLayoutItemMapItem.stackingPosition` is StackBelowMapLayer or
StackAboveMapLayer.
.. seealso:: :py:func:`stackingLayer`
.. seealso:: :py:func:`setStackingPosition`
.. versionadded:: 3.6
%End
virtual bool accept( QgsStyleEntityVisitorInterface *visitor ) const;
%Docstring
Accepts the specified style entity ``visitor``, causing it to visit all style entities associated
with the map item.
Returns ``True`` if the visitor should continue visiting other objects, or ``False`` if visiting
should be canceled.
.. versionadded:: 3.10
%End
virtual QgsMapLayer *mapLayer();
%Docstring
Returns the internal map layer used by this item, if available.
.. versionadded:: 3.10.1
%End
virtual QgsExpressionContext createExpressionContext() const;
protected:
};
class QgsLayoutItemMapItemStack
{
%Docstring(signature="appended")
A collection of map items which are drawn above the map content in a
:py:class:`QgsLayoutItemMap`. The item stack controls which items are drawn and the
order they are drawn in.
.. seealso:: :py:class:`QgsLayoutItemMapItem`
%End
%TypeHeaderCode
#include "qgslayoutitemmapitem.h"
%End
public:
QgsLayoutItemMapItemStack( QgsLayoutItemMap *map );
%Docstring
Constructor for QgsLayoutItemMapItemStack, attached to the
specified ``map``.
%End
virtual ~QgsLayoutItemMapItemStack();
int size() const;
%Docstring
Returns the number of items in the stack.
%End
virtual bool writeXml( QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context ) const;
%Docstring
Stores the state of the item stack in a DOM node, where ``element`` is the DOM element corresponding to a 'LayoutMap' tag.
Returns ``True`` if write was successful.
.. seealso:: :py:func:`readXml`
%End
virtual bool readXml( const QDomElement &element, const QDomDocument &doc, const QgsReadWriteContext &context ) = 0;
%Docstring
Sets the item stack's state from a DOM document, where ``element`` is a DOM node corresponding to a 'LayoutMap' tag.
Returns ``True`` if read was successful.
.. seealso:: :py:func:`writeXml`
%End
virtual void finalizeRestoreFromXml();
%Docstring
Called after all pending items have been restored from XML. Map item stacks can use
this method to run steps which must take place after all items have been restored to the layout,
such as connecting to signals emitted by other items, which may not have existed in the layout
at the time :py:func:`~QgsLayoutItemMapItemStack.readXml` was called. E.g. an overview can use this to connect to its linked
map item after restoration from XML.
.. seealso:: :py:func:`readXml`
%End
void drawItems( QPainter *painter, bool ignoreStacking = true );
%Docstring
Draws the items from the stack on a specified ``painter``.
If ``ignoreStacking`` is ``True``, then all items will be drawn, regardless
of their actual stacking position settings. If it is ``False``, only items
which are set to stack above the map item will be drawn.
%End
bool containsAdvancedEffects() const;
%Docstring
Returns whether any items within the stack contain advanced effects,
such as blending modes.
%End
bool hasEnabledItems() const;
%Docstring
Returns ``True`` if the stack has any currently enabled items.
.. versionadded:: 3.10
%End
QgsLayoutItemMapItem *item( int index ) const;
%Docstring
Returns a reference to the item at the specified ``index`` within the stack.
%End
protected:
void addItem( QgsLayoutItemMapItem *item /Transfer/ );
%Docstring
Adds a new map item to the stack and takes ownership of the item.
The item will be added to the end of the stack, and rendered
above any existing map items already present in the stack.
.. note::
After adding an item to the stack :py:func:`~QgsLayoutItemMapItemStack.update`
should be called for the :py:class:`QgsLayoutItemMap` to prevent rendering artifacts.
.. seealso:: :py:func:`removeItem`
%End
void removeItem( const QString &itemId );
%Docstring
Removes an item which matching ``itemId`` from the stack and deletes the corresponding :py:class:`QgsLayoutItemMapItem`
.. note::
After removing an item from the stack, :py:func:`~QgsLayoutItemMapItemStack.update`
should be called for the :py:class:`QgsLayoutItemMap` to prevent rendering artifacts.
.. seealso:: :py:func:`addItem`
%End
void moveItemUp( const QString &itemId );
%Docstring
Moves an item which matching ``itemId`` up the stack, causing it to be rendered above other items.
.. note::
After moving an item within the stack, :py:func:`~QgsLayoutItemMapItemStack.update` should be
called for the :py:class:`QgsLayoutItemMap` to redraw the map with the new item stack order.
.. seealso:: :py:func:`moveItemDown`
%End
void moveItemDown( const QString &itemId );
%Docstring
Moves an item which matching ``itemId`` up the stack, causing it to be rendered above other items.
.. note::
After moving an item within the stack, :py:func:`~QgsLayoutItemMapItemStack.update` should be
called for the :py:class:`QgsLayoutItemMap` to redraw the map with the new item stack order.
.. seealso:: :py:func:`moveItemUp`
%End
QgsLayoutItemMapItem *item( const QString &itemId ) const;
%Docstring
Returns a reference to an item which matching ``itemId`` within the stack.
%End
QList< QgsLayoutItemMapItem * > asList() const;
%Docstring
Returns a list of :py:class:`QgsLayoutItemMapItems` contained by the stack.
%End
protected:
void removeItems();
%Docstring
Clears the item stack and deletes all :py:class:`QgsLayoutItemMapItems` contained
by the stack
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/layout/qgslayoutitemmapitem.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/