17 #ifndef QGSLAYOUTITEMNODEITEM_H 18 #define QGSLAYOUTITEMNODEITEM_H 20 #include "qgis_core.h" 39 void setNodes(
const QPolygonF &nodes );
45 QPolygonF
nodes()
const {
return mPolygon; }
55 bool addNode( QPointF point,
bool checkArea =
true,
double radius = 10 );
67 bool moveNode(
int index, QPointF node );
77 int nodeAtPosition( QPointF point,
bool searchInRadius =
true,
double radius = 10 )
const;
85 bool nodePosition(
int index, QPointF &position )
const;
90 bool removeNode(
int index );
98 bool setSelectedNode(
int index );
111 QRectF boundingRect()
const override;
138 double mMaxSymbolBleed = 0.0;
141 virtual bool _addNode(
int nodeIndex, QPointF newNode,
double radius ) = 0;
144 virtual bool _removeNode(
int nodeIndex ) = 0;
150 virtual void _readXmlStyle(
const QDomElement &elmt,
const QgsReadWriteContext &context ) = 0;
153 virtual void _writeXmlStyle( QDomDocument &doc, QDomElement &elmt,
const QgsReadWriteContext &context )
const = 0;
159 void rescaleToFitBoundingBox();
162 double computeDistance( QPointF pt1, QPointF pt2 )
const;
165 void updateSceneRect();
176 virtual void updateBoundingRect();
183 int mSelectedNode = -1;
188 bool mDrawNodes =
false;
196 #endif // QGSLAYOUTITEMNODEITEM_H QPolygonF nodes() const
Returns the nodes the shape consists of.
The class is used as a container of context for various read/write operations on other objects...
Base class for graphical items within a QgsLayout.
QRectF mCurrentRectangle
Current bounding rectangle of shape.
An abstract layout item that provides generic methods for node based shapes such as polygon or polyli...
virtual bool writePropertiesToElement(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Stores item state within an XML DOM element.
QPolygonF mPolygon
Shape's nodes.
virtual bool readPropertiesFromElement(const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context)
Sets item state from a DOM element.
void deselectNode()
Deselects any selected nodes.
int selectedNode() const
Returns the currently selected node, or -1 if no node is selected.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
Contains settings and helpers relating to a render of a QgsLayoutItem.
virtual double estimatedFrameBleed() const
Returns the estimated amount the item's frame bleeds outside the item's actual rectangle.
virtual void draw(QgsLayoutItemRenderContext &context)=0
Draws the item's contents using the specified item render context.
int nodesSize() const
Returns the number of nodes in the shape.
void setDisplayNodes(bool display=true)
Set whether the item's nodes should be displayed.