QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
QgsAnnotationItem Class Referenceabstract

Abstract base class for annotation items which are drawn with QgsAnnotationLayers. More...

#include <qgsannotationitem.h>

Inheritance diagram for QgsAnnotationItem:

Public Member Functions

 QgsAnnotationItem ()
 QgsAnnotationItem (const QgsAnnotationItem &other)=delete
virtual ~QgsAnnotationItem ()
virtual Q_DECL_DEPRECATED Qgis::AnnotationItemEditOperationResult applyEdit (QgsAbstractAnnotationItemEditOperation *operation)
 Applies an edit operation to the item.
virtual Qgis::AnnotationItemEditOperationResult applyEditV2 (QgsAbstractAnnotationItemEditOperation *operation, const QgsAnnotationItemEditContext &context)
 Applies an edit operation to the item.
virtual QgsRectangle boundingBox () const =0
 Returns the bounding box of the item's geographic location, in the parent layer's coordinate reference system.
virtual QgsRectangle boundingBox (QgsRenderContext &context) const
 Returns the bounding box of the item's geographic location, in the parent layer's coordinate reference system.
QgsCalloutcallout () const
 Returns the item's callout renderer, responsible for drawing item callouts.
QgsGeometry calloutAnchor () const
 Returns the callout's anchor geometry.
virtual QgsAnnotationItemclone () const =0
 Returns a clone of the item.
bool enabled () const
 Returns true if the item is enabled and will be rendered in the layer.
virtual Qgis::AnnotationItemFlags flags () const
 Returns item flags.
virtual Q_DECL_DEPRECATED QList< QgsAnnotationItemNodenodes () const
 Returns the nodes for the item, used for editing the item.
virtual QList< QgsAnnotationItemNodenodesV2 (const QgsAnnotationItemEditContext &context) const
 Returns the nodes for the item, used for editing the item.
QSizeF offsetFromCallout () const
 Returns the (optional) offset of the annotation item from the calloutAnchor().
Qgis::RenderUnit offsetFromCalloutUnit () const
 Returns the units for the offsetFromCallout().
QgsAnnotationItemoperator= (const QgsAnnotationItem &other)=delete
virtual bool readXml (const QDomElement &element, const QgsReadWriteContext &context)=0
 Reads the item's state from the given DOM element.
virtual void render (QgsRenderContext &context, QgsFeedback *feedback)=0
 Renders the item to the specified render context.
void setCallout (QgsCallout *callout)
 Sets the item's callout renderer, responsible for drawing item callouts.
void setCalloutAnchor (const QgsGeometry &anchor)
 Sets the callout's anchor geometry.
void setEnabled (bool enabled)
 Sets if the item will be rendered or not in the layer.
void setOffsetFromCallout (const QSizeF &offset)
 Sets the offset of the annotation item from the calloutAnchor().
void setOffsetFromCalloutUnit (Qgis::RenderUnit unit)
 Sets the unit for the offsetFromCallout().
void setSymbologyReferenceScale (double scale)
 Sets the annotation's symbology reference scale.
void setUseSymbologyReferenceScale (bool enabled)
 Sets whether the annotation item uses a symbology reference scale.
void setZIndex (int index)
 Sets the item's z index, which controls the order in which annotation items are rendered in the layer.
double symbologyReferenceScale () const
 Returns the annotation's symbology reference scale.
virtual Q_DECL_DEPRECATED QgsAnnotationItemEditOperationTransientResultstransientEditResults (QgsAbstractAnnotationItemEditOperation *operation)
 Retrieves the results of a transient (in progress) edit operation on the item.
virtual QgsAnnotationItemEditOperationTransientResultstransientEditResultsV2 (QgsAbstractAnnotationItemEditOperation *operation, const QgsAnnotationItemEditContext &context)
 Retrieves the results of a transient (in progress) edit operation on the item.
virtual QString type () const =0
 Returns a unique (untranslated) string identifying the type of item.
bool useSymbologyReferenceScale () const
 Returns true if the annotation item uses a symbology reference scale.
virtual bool writeXml (QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const =0
 Writes the item's state into an XML element.
int zIndex () const
 Returns the item's z index, which controls the order in which annotation items are rendered in the layer.

Protected Member Functions

virtual void copyCommonProperties (const QgsAnnotationItem *other)
 Copies common properties from the base class from an other item.
virtual bool readCommonProperties (const QDomElement &element, const QgsReadWriteContext &context)
 Reads common properties from the base class from the given DOM element.
void renderCallout (QgsRenderContext &context, const QRectF &rect, double angle, QgsCallout::QgsCalloutContext &calloutContext, QgsFeedback *feedback)
 Renders the item's callout.
virtual bool writeCommonProperties (QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
 Writes common properties from the base class into an XML element.

Detailed Description

Abstract base class for annotation items which are drawn with QgsAnnotationLayers.

Since
QGIS 3.16

Definition at line 43 of file qgsannotationitem.h.

Constructor & Destructor Documentation

◆ QgsAnnotationItem() [1/2]

QgsAnnotationItem::QgsAnnotationItem ( )
default

◆ QgsAnnotationItem() [2/2]

QgsAnnotationItem::QgsAnnotationItem ( const QgsAnnotationItem & other)
delete

◆ ~QgsAnnotationItem()

QgsAnnotationItem::~QgsAnnotationItem ( )
virtualdefault

Member Function Documentation

◆ applyEdit()

Qgis::AnnotationItemEditOperationResult QgsAnnotationItem::applyEdit ( QgsAbstractAnnotationItemEditOperation * operation)
virtual

Applies an edit operation to the item.

Deprecated
QGIS 3.40. Use applyEditV2() instead.

Definition at line 36 of file qgsannotationitem.cpp.

◆ applyEditV2()

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

Applies an edit operation to the item.

Since
QGIS 3.40

Reimplemented in QgsAnnotationLineItem, QgsAnnotationLineTextItem, QgsAnnotationMarkerItem, QgsAnnotationPointTextItem, QgsAnnotationPolygonItem, and QgsAnnotationRectItem.

Definition at line 41 of file qgsannotationitem.cpp.

◆ boundingBox() [1/2]

virtual QgsRectangle QgsAnnotationItem::boundingBox ( ) const
pure virtual

Returns the bounding box of the item's geographic location, in the parent layer's coordinate reference system.

Implemented in QgsAnnotationLineItem, QgsAnnotationLineTextItem, QgsAnnotationMarkerItem, QgsAnnotationPointTextItem, QgsAnnotationPolygonItem, and QgsAnnotationRectItem.

◆ boundingBox() [2/2]

virtual QgsRectangle QgsAnnotationItem::boundingBox ( QgsRenderContext & context) const
inlinevirtual

Returns the bounding box of the item's geographic location, in the parent layer's coordinate reference system.

Reimplemented in QgsAnnotationLineTextItem, QgsAnnotationMarkerItem, QgsAnnotationPointTextItem, and QgsAnnotationRectItem.

Definition at line 123 of file qgsannotationitem.h.

◆ callout()

QgsCallout * QgsAnnotationItem::callout ( ) const

Returns the item's callout renderer, responsible for drawing item callouts.

Ownership is not transferred.

By default items do not have a callout, and it is necessary to be explicitly set a callout style (via setCallout() ) and set the callout anchor geometry (via set setCalloutAnchor() ).

Note
Callouts are only supported by items which return Qgis::AnnotationItemFlag::SupportsCallouts from flags().
See also
setCallout()
calloutAnchor()
Since
QGIS 3.40

Definition at line 72 of file qgsannotationitem.cpp.

◆ calloutAnchor()

QgsGeometry QgsAnnotationItem::calloutAnchor ( ) const

Returns the callout's anchor geometry.

The anchor dictates the geometry which the option item callout() should connect to. Depending on the callout subclass and anchor geometry type, the actual shape of the rendered callout may vary.

The callout anchor geometry is in the parent layer's coordinate reference system.

See also
callout()
setCalloutAnchor()
Since
QGIS 3.40

Definition at line 82 of file qgsannotationitem.cpp.

◆ clone()

virtual QgsAnnotationItem * QgsAnnotationItem::clone ( ) const
pure virtual

Returns a clone of the item.

Ownership is transferred to the caller.

Implementations should include a call to copyCommonProperties() to copy the base class properties.

See also
copyCommonProperties()

Implemented in QgsAnnotationLineItem, QgsAnnotationLineTextItem, QgsAnnotationMarkerItem, QgsAnnotationPictureItem, QgsAnnotationPointTextItem, QgsAnnotationPolygonItem, and QgsAnnotationRectangleTextItem.

◆ copyCommonProperties()

void QgsAnnotationItem::copyCommonProperties ( const QgsAnnotationItem * other)
protectedvirtual

Copies common properties from the base class from an other item.

Since
QGIS 3.22

Reimplemented in QgsAnnotationRectItem.

Definition at line 92 of file qgsannotationitem.cpp.

◆ enabled()

bool QgsAnnotationItem::enabled ( ) const
inline

Returns true if the item is enabled and will be rendered in the layer.

See also
setEnabled()
Since
QGIS 3.36

Definition at line 203 of file qgsannotationitem.h.

◆ flags()

◆ nodes()

QList< QgsAnnotationItemNode > QgsAnnotationItem::nodes ( ) const
virtual

Returns the nodes for the item, used for editing the item.

Deprecated
QGIS 3.40. Use nodesV2() instead.

Definition at line 60 of file qgsannotationitem.cpp.

◆ nodesV2()

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

Returns the nodes for the item, used for editing the item.

Since
QGIS 3.40

Reimplemented in QgsAnnotationLineItem, QgsAnnotationLineTextItem, QgsAnnotationMarkerItem, QgsAnnotationPointTextItem, QgsAnnotationPolygonItem, and QgsAnnotationRectItem.

Definition at line 65 of file qgsannotationitem.cpp.

◆ offsetFromCallout()

QSizeF QgsAnnotationItem::offsetFromCallout ( ) const

Returns the (optional) offset of the annotation item from the calloutAnchor().

Some annotation item subclasses support placement relative to the callout anchor. For these items, the offset from callout defines how far (in screen/page units) the item should be placed from the anchor point.

Units are defined by offsetFromCalloutUnit()

See also
setOffsetFromCallout()
Since
QGIS 3.40

Definition at line 197 of file qgsannotationitem.cpp.

◆ offsetFromCalloutUnit()

Qgis::RenderUnit QgsAnnotationItem::offsetFromCalloutUnit ( ) const

Returns the units for the offsetFromCallout().

See also
offsetFromCallout()
setOffsetFromCalloutUnit()
Since
QGIS 3.40

Definition at line 187 of file qgsannotationitem.cpp.

◆ operator=()

QgsAnnotationItem & QgsAnnotationItem::operator= ( const QgsAnnotationItem & other)
delete

◆ readCommonProperties()

bool QgsAnnotationItem::readCommonProperties ( const QDomElement & element,
const QgsReadWriteContext & context )
protectedvirtual

Reads common properties from the base class from the given DOM element.

See also
readXml()
Since
QGIS 3.22

Reimplemented in QgsAnnotationRectItem.

Definition at line 131 of file qgsannotationitem.cpp.

◆ readXml()

virtual bool QgsAnnotationItem::readXml ( const QDomElement & element,
const QgsReadWriteContext & context )
pure virtual

Reads the item's state from the given DOM element.

Implementations should include a call to readCommonProperties() to read the base class properties.

See also
writeXml()
readCommonProperties()

Implemented in QgsAnnotationLineItem, QgsAnnotationLineTextItem, QgsAnnotationMarkerItem, QgsAnnotationPictureItem, QgsAnnotationPointTextItem, QgsAnnotationPolygonItem, and QgsAnnotationRectangleTextItem.

◆ render()

virtual void QgsAnnotationItem::render ( QgsRenderContext & context,
QgsFeedback * feedback )
pure virtual

Renders the item to the specified render context.

The feedback argument can be used to detect render cancellations during expensive render operations.

Implemented in QgsAnnotationLineItem, QgsAnnotationLineTextItem, QgsAnnotationMarkerItem, QgsAnnotationPointTextItem, QgsAnnotationPolygonItem, and QgsAnnotationRectItem.

◆ renderCallout()

void QgsAnnotationItem::renderCallout ( QgsRenderContext & context,
const QRectF & rect,
double angle,
QgsCallout::QgsCalloutContext & calloutContext,
QgsFeedback * feedback )
protected

Renders the item's callout.

The item must have valid callout() set.

Since
QGIS 3.40

Definition at line 162 of file qgsannotationitem.cpp.

◆ setCallout()

void QgsAnnotationItem::setCallout ( QgsCallout * callout)

Sets the item's callout renderer, responsible for drawing item callouts.

Ownership of callout is transferred to the item.

Note
Callouts are only supported by items which return Qgis::AnnotationItemFlag::SupportsCallouts from flags().
See also
callout()
setCalloutAnchor()
Since
QGIS 3.40

Definition at line 77 of file qgsannotationitem.cpp.

◆ setCalloutAnchor()

void QgsAnnotationItem::setCalloutAnchor ( const QgsGeometry & anchor)

Sets the callout's anchor geometry.

The anchor dictates the geometry which the option item callout() should connect to. Depending on the callout subclass and anchor geometry type, the actual shape of the rendered callout may vary.

The callout anchor geometry must be specified in the parent layer's coordinate reference system.

See also
setCallout()
calloutAnchor()
Since
QGIS 3.40

Definition at line 87 of file qgsannotationitem.cpp.

◆ setEnabled()

void QgsAnnotationItem::setEnabled ( bool enabled)
inline

Sets if the item will be rendered or not in the layer.

See also
enabled()
Since
QGIS 3.36

Definition at line 211 of file qgsannotationitem.h.

◆ setOffsetFromCallout()

void QgsAnnotationItem::setOffsetFromCallout ( const QSizeF & offset)

Sets the offset of the annotation item from the calloutAnchor().

Some annotation item subclasses support placement relative to the callout anchor. For these items, the offset from callout defines how far (in screen/page units) the item should be placed from the anchor point.

Units are defined by offsetFromCalloutUnit()

See also
offsetFromCallout()
Since
QGIS 3.40

Definition at line 202 of file qgsannotationitem.cpp.

◆ setOffsetFromCalloutUnit()

void QgsAnnotationItem::setOffsetFromCalloutUnit ( Qgis::RenderUnit unit)

Sets the unit for the offsetFromCallout().

See also
setOffsetFromCallout()
offsetFromCalloutUnit()
Since
QGIS 3.40

Definition at line 192 of file qgsannotationitem.cpp.

◆ setSymbologyReferenceScale()

void QgsAnnotationItem::setSymbologyReferenceScale ( double scale)
inline

Sets the annotation's symbology reference scale.

The reference scale will only be used if useSymbologyReferenceScale() returns true.

This represents the desired scale denominator for the rendered map, eg 1000.0 for a 1:1000 map render.

The symbology reference scale is an optional property which specifies the reference scale at which symbology in paper units (such a millimeters or points) is fixed to. For instance, if the scale is 1000 then a 2mm thick line will be rendered at exactly 2mm thick when a map is rendered at 1:1000, or 1mm thick when rendered at 1:2000, or 4mm thick at 1:500.

See also
symbologyReferenceScale()
setUseSymbologyReferenceScale()

Definition at line 275 of file qgsannotationitem.h.

◆ setUseSymbologyReferenceScale()

void QgsAnnotationItem::setUseSymbologyReferenceScale ( bool enabled)
inline

Sets whether the annotation item uses a symbology reference scale.

See also
useSymbologyReferenceScale()
setSymbologyReferenceScale()

Definition at line 241 of file qgsannotationitem.h.

◆ setZIndex()

void QgsAnnotationItem::setZIndex ( int index)
inline

Sets the item's z index, which controls the order in which annotation items are rendered in the layer.

See also
zIndex()

Definition at line 195 of file qgsannotationitem.h.

◆ symbologyReferenceScale()

double QgsAnnotationItem::symbologyReferenceScale ( ) const
inline

Returns the annotation's symbology reference scale.

The reference scale will only be used if useSymbologyReferenceScale() returns true.

This represents the desired scale denominator for the rendered map, eg 1000.0 for a 1:1000 map render.

The symbology reference scale is an optional property which specifies the reference scale at which symbology in paper units (such a millimeters or points) is fixed to. For instance, if the scale is 1000 then a 2mm thick line will be rendered at exactly 2mm thick when a map is rendered at 1:1000, or 1mm thick when rendered at 1:2000, or 4mm thick at 1:500.

See also
setSymbologyReferenceScale()
useSymbologyReferenceScale()

Definition at line 258 of file qgsannotationitem.h.

◆ transientEditResults()

QgsAnnotationItemEditOperationTransientResults * QgsAnnotationItem::transientEditResults ( QgsAbstractAnnotationItemEditOperation * operation)
virtual

Retrieves the results of a transient (in progress) edit operation on the item.

Deprecated
QGIS 3.40. Use transientEditResultsV2() instead.

Definition at line 48 of file qgsannotationitem.cpp.

◆ transientEditResultsV2()

QgsAnnotationItemEditOperationTransientResults * QgsAnnotationItem::transientEditResultsV2 ( QgsAbstractAnnotationItemEditOperation * operation,
const QgsAnnotationItemEditContext & context )
virtual

Retrieves the results of a transient (in progress) edit operation on the item.

Since
QGIS 3.40

Reimplemented in QgsAnnotationLineItem, QgsAnnotationLineTextItem, QgsAnnotationMarkerItem, QgsAnnotationPointTextItem, QgsAnnotationPolygonItem, and QgsAnnotationRectItem.

Definition at line 53 of file qgsannotationitem.cpp.

◆ type()

virtual QString QgsAnnotationItem::type ( ) const
pure virtual

◆ useSymbologyReferenceScale()

bool QgsAnnotationItem::useSymbologyReferenceScale ( ) const
inline

Returns true if the annotation item uses a symbology reference scale.

See also
setUseSymbologyReferenceScale()
symbologyReferenceScale()

Definition at line 233 of file qgsannotationitem.h.

◆ writeCommonProperties()

bool QgsAnnotationItem::writeCommonProperties ( QDomElement & element,
QDomDocument & document,
const QgsReadWriteContext & context ) const
protectedvirtual

Writes common properties from the base class into an XML element.

See also
writeXml()
Since
QGIS 3.22

Reimplemented in QgsAnnotationRectItem.

Definition at line 107 of file qgsannotationitem.cpp.

◆ writeXml()

virtual bool QgsAnnotationItem::writeXml ( QDomElement & element,
QDomDocument & document,
const QgsReadWriteContext & context ) const
pure virtual

Writes the item's state into an XML element.

Implementations should include a call to writeCommonProperties() to store the base class properties.

See also
readXml()
writeCommonProperties()

Implemented in QgsAnnotationLineItem, QgsAnnotationLineTextItem, QgsAnnotationMarkerItem, QgsAnnotationPictureItem, QgsAnnotationPointTextItem, QgsAnnotationPolygonItem, and QgsAnnotationRectangleTextItem.

◆ zIndex()

int QgsAnnotationItem::zIndex ( ) const
inline

Returns the item's z index, which controls the order in which annotation items are rendered in the layer.

See also
setZIndex()

Definition at line 187 of file qgsannotationitem.h.


The documentation for this class was generated from the following files: