17#ifndef QGSLAYOUTITEMNODEITEM_H 
   18#define QGSLAYOUTITEMNODEITEM_H 
   38    void setNodes( 
const QPolygonF &nodes );
 
   44    QPolygonF 
nodes()
 const { 
return mPolygon; }
 
   54    bool addNode( QPointF point, 
bool checkArea = 
true, 
double radius = 10 );
 
   66    bool moveNode( 
int index, QPointF node );
 
   76    int nodeAtPosition( QPointF point, 
bool searchInRadius = 
true, 
double radius = 10 ) 
const;
 
   84    bool nodePosition( 
int index, QPointF &position ) 
const;
 
   89    bool removeNode( 
int index );
 
   97    bool setSelectedNode( 
int index );
 
  110    QRectF boundingRect() 
const override;
 
  146    double mMaxSymbolBleed = 0.0;
 
  149    virtual bool _addNode( 
int nodeIndex, QPointF newNode, 
double radius ) = 0;
 
  167    void rescaleToFitBoundingBox();
 
  170    double computeDistance( QPointF pt1, QPointF pt2 ) 
const;
 
  173    void updateSceneRect();
 
  184    virtual void updateBoundingRect();
 
  191    int mSelectedNode = -1;
 
  197    bool mDrawNodes = 
false;
 
 
Contains settings and helpers relating to a render of a QgsLayoutItem.
 
Base class for graphical items within a QgsLayout.
 
virtual bool writePropertiesToElement(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Stores item state within an XML DOM element.
 
virtual Flags itemFlags() const
Returns the item's flags, which indicate how the item behaves.
 
virtual bool readPropertiesFromElement(const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context)
Sets item state from a DOM element.
 
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.
 
An abstract layout item that provides generic methods for node based shapes such as polygon or polyli...
 
virtual bool _removeNode(int nodeIndex)=0
Method called in removeNode.
 
QPolygonF nodes() const
Returns the nodes the shape consists of.
 
virtual void _writeXmlStyle(QDomDocument &doc, QDomElement &elmt, const QgsReadWriteContext &context) const =0
Method called in writeXml.
 
QRectF mCurrentRectangle
Current bounding rectangle of shape.
 
virtual void _readXmlStyle(const QDomElement &elmt, const QgsReadWriteContext &context)=0
Method called in readXml.
 
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.
 
virtual bool isValid() const =0
Must be reimplemented in subclasses.
 
int selectedNode() const
Returns the currently selected node, or -1 if no node is selected.
 
virtual void _draw(QgsLayoutItemRenderContext &context, const QStyleOptionGraphicsItem *itemStyle=nullptr)=0
Method called in paint.
 
virtual bool _addNode(int nodeIndex, QPointF newNode, double radius)=0
Method called in addNode.
 
void deselectNode()
Deselects any selected nodes.
 
QPolygonF mPolygon
Shape's nodes.
 
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
 
A container for the context for various read/write operations on objects.