Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Text inside rectangle annotation item #58147

Merged
merged 3 commits into from
Jul 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions images/images.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -1005,6 +1005,7 @@
<file>themes/default/mIconSearchRegex.svg</file>
<file>themes/default/mActionReplace.svg</file>
<file>themes/default/mIconCloud.svg</file>
<file>themes/default/mActionTextInsideRect.svg</file>
</qresource>
<qresource prefix="/images/tips">
<file alias="symbol_levels.png">qgis_tips/symbol_levels.png</file>
Expand Down
1 change: 1 addition & 0 deletions images/themes/default/mActionTextInsideRect.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ Abstract base class for annotation items which are drawn with :py:class:`QgsAnno
{
sipType = sipType_QgsAnnotationLineTextItem;
}
else if ( sipCpp->type() == QLatin1String( "recttext" ) )
{
sipType = sipType_QgsAnnotationRectangleTextItem;
}
else if ( sipCpp->type() == QLatin1String( "picture" ) )
{
sipType = sipType_QgsAnnotationPictureItem;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,244 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/annotations/qgsannotationrectangletextitem.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/




class QgsAnnotationRectangleTextItem : QgsAnnotationItem
{
%Docstring(signature="appended")
An annotation item which renders paragraphs of text within a rectangle.

.. versionadded:: 3.40
%End

%TypeHeaderCode
#include "qgsannotationrectangletextitem.h"
%End
public:

QgsAnnotationRectangleTextItem( const QString &text, const QgsRectangle &bounds );
%Docstring
Constructor for QgsAnnotationRectangleTextItem, containing the specified ``text``
within the specified ``bounds`` rectangle.
%End
~QgsAnnotationRectangleTextItem();

virtual QString type() const;

virtual Qgis::AnnotationItemFlags flags() const;

virtual void render( QgsRenderContext &context, QgsFeedback *feedback );

virtual bool writeXml( QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context ) const;

virtual QList< QgsAnnotationItemNode > nodesV2( const QgsAnnotationItemEditContext &context ) const;

virtual Qgis::AnnotationItemEditOperationResult applyEditV2( QgsAbstractAnnotationItemEditOperation *operation, const QgsAnnotationItemEditContext &context );

virtual QgsAnnotationItemEditOperationTransientResults *transientEditResultsV2( QgsAbstractAnnotationItemEditOperation *operation, const QgsAnnotationItemEditContext &context ) /Factory/;


static QgsAnnotationRectangleTextItem *create() /Factory/;
%Docstring
Creates a new rectangle text annotation item.
%End

virtual bool readXml( const QDomElement &element, const QgsReadWriteContext &context );

virtual QgsAnnotationRectangleTextItem *clone() const /Factory/;

virtual QgsRectangle boundingBox() const;


QgsRectangle bounds() const;
%Docstring
Returns the bounds of the text.

The coordinate reference system for the bounds will be the parent layer's :py:func:`QgsAnnotationLayer.crs()`.

.. seealso:: :py:func:`setBounds`
%End

void setBounds( const QgsRectangle &bounds );
%Docstring
Sets the ``bounds`` of the text.

The coordinate reference system for the bounds will be the parent layer's :py:func:`QgsAnnotationLayer.crs()`.

.. seealso:: :py:func:`bounds`
%End

QString text() const;
%Docstring
Returns the text rendered by the item.

.. seealso:: :py:func:`setText`
%End

void setText( const QString &text );
%Docstring
Sets the ``text`` rendered by the item.

.. seealso:: :py:func:`text`
%End

QgsTextFormat format() const;
%Docstring
Returns the text format used to render the text.

.. seealso:: :py:func:`setFormat`
%End

void setFormat( const QgsTextFormat &format );
%Docstring
Sets the text ``format`` used to render the text.

.. seealso:: :py:func:`format`
%End

Qt::Alignment alignment() const;
%Docstring
Returns the text's alignment relative to the :py:func:`~QgsAnnotationRectangleTextItem.bounds` rectangle.

.. seealso:: :py:func:`setAlignment`
%End

void setAlignment( Qt::Alignment alignment );
%Docstring
Sets the text's ``alignment`` relative to the :py:func:`~QgsAnnotationRectangleTextItem.bounds` rectangle.

.. seealso:: :py:func:`alignment`
%End

bool backgroundEnabled() const;
%Docstring
Returns ``True`` if the item's background should be rendered.

.. seealso:: :py:func:`setBackgroundEnabled`

.. seealso:: :py:func:`backgroundSymbol`
%End

void setBackgroundEnabled( bool enabled );
%Docstring
Sets whether the item's background should be rendered.

.. seealso:: :py:func:`backgroundEnabled`

.. seealso:: :py:func:`setBackgroundSymbol`
%End

const QgsFillSymbol *backgroundSymbol() const;
%Docstring
Returns the symbol used to render the item's background.

.. seealso:: :py:func:`backgroundEnabled`

.. seealso:: :py:func:`setBackgroundSymbol`
%End

void setBackgroundSymbol( QgsFillSymbol *symbol /Transfer/ );
%Docstring
Sets the ``symbol`` used to render the item's background.

The item takes ownership of the symbol.

.. seealso:: :py:func:`backgroundSymbol`

.. seealso:: :py:func:`setBackgroundEnabled`
%End

bool frameEnabled() const;
%Docstring
Returns ``True`` if the item's frame should be rendered.

.. seealso:: :py:func:`setFrameEnabled`

.. seealso:: :py:func:`frameSymbol`
%End

void setFrameEnabled( bool enabled );
%Docstring
Sets whether the item's frame should be rendered.

.. seealso:: :py:func:`frameEnabled`

.. seealso:: :py:func:`setFrameSymbol`
%End

const QgsFillSymbol *frameSymbol() const;
%Docstring
Returns the symbol used to render the item's frame.

.. seealso:: :py:func:`frameEnabled`

.. seealso:: :py:func:`setFrameSymbol`
%End

void setFrameSymbol( QgsFillSymbol *symbol /Transfer/ );
%Docstring
Sets the ``symbol`` used to render the item's frame.

The item takes ownership of the symbol.

.. seealso:: :py:func:`frameSymbol`

.. seealso:: :py:func:`setBackgroundEnabled`
%End

const QgsMargins &margins() const;
%Docstring
Returns the margins between the outside of the item's frame and the interior text.

Units are retrieved via :py:func:`~QgsAnnotationRectangleTextItem.marginsUnit`

.. seealso:: :py:func:`setMargins`

.. seealso:: :py:func:`marginsUnit`
%End

void setMargins( const QgsMargins &margins );
%Docstring
Sets the ``margins`` between the outside of the item's frame and the interior text.

Units are set via :py:func:`~QgsAnnotationRectangleTextItem.setMarginsUnit`

.. seealso:: :py:func:`margins`

.. seealso:: :py:func:`setMarginsUnit`
%End

void setMarginsUnit( Qgis::RenderUnit unit );
%Docstring
Sets the ``unit`` for the margins between the item's frame and the interior text.

.. seealso:: :py:func:`margins`

.. seealso:: :py:func:`marginsUnit`
%End

Qgis::RenderUnit marginsUnit() const;
%Docstring
Returns the units for the margins between the item's frame and the interior text.

.. seealso:: :py:func:`setMarginsUnit`

.. seealso:: :py:func:`margins`
%End

private:
QgsAnnotationRectangleTextItem( const QgsAnnotationRectangleTextItem &other );
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/annotations/qgsannotationrectangletextitem.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
1 change: 1 addition & 0 deletions python/PyQt6/core/core_auto.sip
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@
%Include auto_generated/annotations/qgsannotationpictureitem.sip
%Include auto_generated/annotations/qgsannotationpointtextitem.sip
%Include auto_generated/annotations/qgsannotationpolygonitem.sip
%Include auto_generated/annotations/qgsannotationrectangletextitem.sip
%Include auto_generated/annotations/qgshtmlannotation.sip
%Include auto_generated/annotations/qgsrenderedannotationitemdetails.sip
%Include auto_generated/annotations/qgssvgannotation.sip
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ Abstract base class for annotation items which are drawn with :py:class:`QgsAnno
{
sipType = sipType_QgsAnnotationLineTextItem;
}
else if ( sipCpp->type() == QLatin1String( "recttext" ) )
{
sipType = sipType_QgsAnnotationRectangleTextItem;
}
else if ( sipCpp->type() == QLatin1String( "picture" ) )
{
sipType = sipType_QgsAnnotationPictureItem;
Expand Down
Loading
Loading