16#ifndef QGSLAYOUTMULTIFRAME_H
17#define QGSLAYOUTMULTIFRAME_H
36class QStyleOptionGraphicsItem;
63 case QGraphicsItem::UserType + 112:
64 sipType = sipType_QgsLayoutItemHtml;
67 case QGraphicsItem::UserType + 113:
68 sipType = sipType_QgsLayoutItemAttributeTable;
71 case QGraphicsItem::UserType + 114:
72 sipType = sipType_QgsLayoutItemTextTable;
75 case QGraphicsItem::UserType + 116:
76 sipType = sipType_QgsLayoutItemManualTable;
99 UseExistingFrames = 0,
135 QString
uuid()
const {
return mUuid; }
162 virtual QSizeF fixedFrameSize(
int frameIndex = -1 )
const;
174 virtual QSizeF minFrameSize(
int frameIndex = -1 )
const;
199 virtual double findNearbyPageBreak(
double yPos );
211 void removeFrame(
int index,
bool removeEmptyPages =
false );
239 bool writeXml( QDomElement &parentElement, QDomDocument &document,
const QgsReadWriteContext &context,
bool includeFrames =
false )
const;
249 bool readXml(
const QDomElement &itemElement,
const QDomDocument &document,
const QgsReadWriteContext &context,
bool includeFrames =
false );
255 QList<QgsLayoutFrame *> frames()
const;
288 virtual QString displayName()
const;
302 void beginCommand( const QString &commandText, UndoCommand command = UndoNone );
316 void cancelCommand();
326 virtual
void finalizeRestoreFromXml();
333 void refresh() override;
347 virtual
void recalculateFrameSizes();
357 void recalculateFrameRects();
373 void contentsChanged();
385 virtual
bool writePropertiesToElement( QDomElement &element, QDomDocument &document, const
QgsReadWriteContext &context ) const;
402 virtual
bool readPropertiesFromElement( const QDomElement &element, const QDomDocument &document, const
QgsReadWriteContext &context );
413 void handlePageChange();
425 bool mIsRecalculatingSize = false;
427 bool mBlockUpdates = false;
428 bool mBlockUndoCommands = false;
430 QList< QString > mFrameUuids;
431 QList< QString > mFrameTemplateUuids;
435 QString mTemplateUuid;
Base class for commands to undo/redo layout and layout object changes.
static QIcon getThemeIcon(const QString &name, const QColor &fillColor=QColor(), const QColor &strokeColor=QColor())
Helper to get a theme icon.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Base class for frame items, which form a layout multiframe item.
A layout table subclass that displays attributes from a vector layer.
A layout multiframe subclass for HTML content.
A layout table subclass that displays manually entered (and formatted) content.
Contains settings and helpers relating to a render of a QgsLayoutItem.
A text table item that reads text from string lists.
Base class for graphical items within a QgsLayout.
Abstract base class for layout items with the ability to distribute the content to several frames (Qg...
virtual QSizeF totalSize() const =0
Returns the total size of the multiframe's content, in layout units.
int frameCount() const
Returns the number of frames associated with this multiframe.
virtual int type() const =0
Returns unique multiframe type id.
virtual QIcon icon() const
Returns the item's icon.
ResizeMode resizeMode() const
Returns the resize mode for the multiframe.
QString uuid() const
Returns the multiframe identification string.
ResizeMode
Specifies the behavior for creating new frames to fit the multiframe's content.
@ RepeatOnEveryPage
Repeats the same frame on every page.
@ ExtendToNextPage
Creates new full page frames on the following page(s) until the entire multiframe content is visible.
UndoCommand
Multiframe item undo commands, used for collapsing undo commands.
@ UndoTableMaximumFeatures
Maximum features in table.
@ UndoTableBackgroundColor
Table background color.
@ UndoTableContentFontColor
Table content font color.
@ UndoHtmlBreakDistance
HTML page break distance.
@ UndoTableCellStyle
Table cell style.
@ UndoHtmlStylesheet
HTML stylesheet.
@ UndoTableGridStrokeWidth
Table grid stroke width.
@ UndoTableGridColor
Table grid color.
@ UndoTableHeaderFontColor
Table header font color.
@ UndoTableMargin
Table margins.
@ UndoHtmlSource
HTML source.
virtual void render(QgsLayoutItemRenderContext &context, const QRectF &renderExtent, int frameIndex)=0
Renders a portion of the multiframe's content into a render context.
A base class for objects which belong to a layout.
Interface for layout objects which support undo/redo commands.
virtual QgsAbstractLayoutUndoCommand * createCommand(const QString &text, int id=0, QUndoCommand *parent=nullptr)=0
Creates a new layout undo command with the specified text and parent.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
The class is used as a container of context for various read/write operations on other objects.
Contains information about the context of a rendering operation.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)