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 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.
virtual double estimatedFrameBleed() const
Returns the estimated amount the item's frame bleeds outside the item's actual rectangle.
An abstract layout item that provides generic methods for node based shapes such as polygon or polyli...
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.
QPolygonF nodes() const
Returns the nodes the shape consists of.
virtual bool writePropertiesToElement(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Stores item state within an XML DOM element.
int nodesSize() const
Returns the number of nodes in the shape.
virtual void draw(QgsLayoutItemRenderContext &context)=0
Draws the item's contents using the specified item render context.
void setDisplayNodes(bool display=true)
Set whether the item's nodes should be displayed.