16#ifndef QGSLAYOUTMULTIFRAME_H
17#define QGSLAYOUTMULTIFRAME_H
36class QStyleOptionGraphicsItem;
66 case QGraphicsItem::UserType + 112:
67 sipType = sipType_QgsLayoutItemHtml;
70 case QGraphicsItem::UserType + 113:
71 sipType = sipType_QgsLayoutItemAttributeTable;
74 case QGraphicsItem::UserType + 114:
75 sipType = sipType_QgsLayoutItemTextTable;
78 case QGraphicsItem::UserType + 116:
79 sipType = sipType_QgsLayoutItemManualTable;
102 UseExistingFrames = 0,
138 QString
uuid()
const {
return mUuid; }
165 virtual QSizeF fixedFrameSize(
int frameIndex = -1 )
const;
177 virtual QSizeF minFrameSize(
int frameIndex = -1 )
const;
202 virtual double findNearbyPageBreak(
double yPos );
214 void removeFrame(
int index,
bool removeEmptyPages =
false );
242 bool writeXml( QDomElement &parentElement, QDomDocument &document,
const QgsReadWriteContext &context,
bool includeFrames =
false )
const;
252 bool readXml(
const QDomElement &itemElement,
const QDomDocument &document,
const QgsReadWriteContext &context,
bool includeFrames =
false );
258 QList<QgsLayoutFrame *> frames()
const;
291 virtual QString displayName()
const;
305 void beginCommand( const QString &commandText, UndoCommand command = UndoNone );
319 void cancelCommand();
329 virtual
void finalizeRestoreFromXml();
336 void refresh() override;
350 virtual
void recalculateFrameSizes();
360 void recalculateFrameRects();
376 void contentsChanged();
388 virtual
bool writePropertiesToElement( QDomElement &element, QDomDocument &document, const
QgsReadWriteContext &context ) const;
405 virtual
bool readPropertiesFromElement( const QDomElement &element, const QDomDocument &document, const
QgsReadWriteContext &context );
416 void handlePageChange();
428 bool mIsRecalculatingSize = false;
430 bool mBlockUpdates = false;
431 bool mBlockUndoCommands = false;
433 QList< QString > mFrameUuids;
434 QList< QString > mFrameTemplateUuids;
438 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)