33 createDefaultPolygonStyleSymbol();
39 createDefaultPolygonStyleSymbol();
62 mPolygon.insert( indexPoint + 1, newPoint );
66 void QgsLayoutItemPolygon::createDefaultPolygonStyleSymbol()
69 properties.insert( QStringLiteral(
"color" ), QStringLiteral(
"white" ) );
70 properties.insert( QStringLiteral(
"style" ), QStringLiteral(
"solid" ) );
71 properties.insert( QStringLiteral(
"style_border" ), QStringLiteral(
"solid" ) );
72 properties.insert( QStringLiteral(
"color_border" ), QStringLiteral(
"black" ) );
73 properties.insert( QStringLiteral(
"width_border" ), QStringLiteral(
"0.3" ) );
74 properties.insert( QStringLiteral(
"joinstyle" ), QStringLiteral(
"miter" ) );
81 void QgsLayoutItemPolygon::refreshSymbol()
96 if ( !
id().isEmpty() )
99 return tr(
"<Polygon>" );
104 if ( mPolygonStyleSymbol )
118 QTransform t = QTransform::fromScale( scale, scale );
120 QList<QPolygonF> rings;
121 QPainterPath polygonPath;
125 mPolygonStyleSymbol->renderPolygon( polygonPath.toFillPolygon( t ), &rings,
132 mPolygonStyleSymbol.reset( QgsSymbolLayerUtils::loadSymbol<QgsFillSymbol>( elmt, context ) );
137 mPolygonStyleSymbol.reset( static_cast<QgsFillSymbol *>( symbol->
clone() ) );
144 mPolygonStyleSymbol.get(),
147 elmt.appendChild( pe );
152 if ( index < 0 || index >=
mPolygon.size() )
161 int newSelectNode = index;
The class is used as a container of context for various read/write operations on other objects...
void updateSceneRect()
Update the current scene rectangle for this item.
A symbol entity for QgsStyle databases.
QgsFillSymbol * symbol()
Returns the fill symbol used to draw the shape.
static QgsLayoutItemPolygon * create(QgsLayout *layout)
Returns a new polygon item for the specified layout.
QgsLayoutItemPolygon(QgsLayout *layout)
Constructor for QgsLayoutItemPolygon for the specified layout.
An abstract layout item that provides generic methods for node based shapes such as polygon or polyli...
static QgsFillSymbol * createSimple(const QgsStringMap &properties)
Create a fill symbol with one symbol layer: SimpleFill with specified properties. ...
void _writeXmlStyle(QDomDocument &doc, QDomElement &elmt, const QgsReadWriteContext &context) const override
Method called in writeXml.
double mMaxSymbolBleed
Max symbol bleed.
static QIcon getThemeIcon(const QString &name)
Helper to get a theme icon.
static QDomElement saveSymbol(const QString &symbolName, const QgsSymbol *symbol, QDomDocument &doc, const QgsReadWriteContext &context)
Writes a symbol definition to XML.
Layout item for node based polygon shapes.
QPolygonF mPolygon
Shape's nodes.
An interface for classes which can visit style entity (e.g.
int type() const override
QgsLayoutRenderContext & renderContext()
Returns a reference to the layout's render context, which stores information relating to the current ...
QMap< QString, QString > QgsStringMap
virtual bool visit(const QgsStyleEntityVisitorInterface::StyleLeaf &entity)
Called when the visitor will visit a style entity.
void frameChanged()
Emitted if the item's frame style changes.
void _draw(QgsLayoutItemRenderContext &context, const QStyleOptionGraphicsItem *itemStyle=nullptr) override
Method called in paint.
const QgsLayout * layout() const
Returns the layout the object is attached to.
QgsFillSymbol * clone() const override
Returns a deep copy of this symbol.
double dpi() const
Returns the dpi for outputting the layout.
QgsRenderContext & renderContext()
Returns a reference to the context's render context.
static QgsRenderContext createRenderContextForLayout(QgsLayout *layout, QPainter *painter, double dpi=-1)
Creates a render context suitable for the specified layout and painter destination.
QIcon icon() const override
Returns the item's icon.
static double estimateMaxSymbolBleed(QgsSymbol *symbol, const QgsRenderContext &context)
Returns the maximum estimated bleed for the symbol.
QString id() const
Returns the item's ID name.
bool _addNode(int indexPoint, QPointF newPoint, double radius) override
Method called in addNode.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
void _readXmlStyle(const QDomElement &elmt, const QgsReadWriteContext &context) override
Method called in readXml.
bool accept(QgsStyleEntityVisitorInterface *visitor) const override
Accepts the specified style entity visitor, causing it to visit all style entities associated with th...
bool setSelectedNode(int index)
Selects a node by index.
Contains settings and helpers relating to a render of a QgsLayoutItem.
void setSymbol(QgsFillSymbol *symbol)
Sets the symbol used to draw the shape.
Contains information about the context of a rendering operation.
double convertToPainterUnits(double size, QgsUnitTypes::RenderUnit unit, const QgsMapUnitScale &scale=QgsMapUnitScale()) const
Converts a size from the specified units to painter units (pixels).
bool _removeNode(int nodeIndex) override
Method called in removeNode.
virtual QString uuid() const
Returns the item identification string.
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
QString displayName() const override
Gets item display name.
Contains information relating to the style entity currently being visited.