16 #ifndef QGSLAYOUTMULTIFRAME_H 17 #define QGSLAYOUTMULTIFRAME_H 19 #include "qgis_core.h" 36 class QStyleOptionGraphicsItem;
67 case QGraphicsItem::UserType + 112:
68 sipType = sipType_QgsLayoutItemHtml;
71 case QGraphicsItem::UserType + 113:
72 sipType = sipType_QgsLayoutItemAttributeTable;
75 case QGraphicsItem::UserType + 114:
76 sipType = sipType_QgsLayoutItemTextTable;
79 case QGraphicsItem::UserType + 116:
80 sipType = sipType_QgsLayoutItemManualTable;
103 UseExistingFrames = 0,
139 QString
uuid()
const {
return mUuid; }
144 virtual QSizeF totalSize()
const = 0;
149 virtual int type()
const = 0;
166 virtual QSizeF fixedFrameSize(
int frameIndex = -1 )
const;
178 virtual QSizeF minFrameSize(
int frameIndex = -1 )
const;
203 virtual double findNearbyPageBreak(
double yPos );
215 void removeFrame(
int index,
bool removeEmptyPages =
false );
243 bool writeXml( QDomElement &parentElement, QDomDocument &document,
const QgsReadWriteContext &context,
bool includeFrames =
false )
const;
253 bool readXml(
const QDomElement &itemElement,
const QDomDocument &document,
const QgsReadWriteContext &context,
bool includeFrames =
false );
259 QList<QgsLayoutFrame *> frames()
const;
292 virtual QString displayName()
const;
306 void beginCommand(
const QString &commandText,
UndoCommand command = UndoNone );
320 void cancelCommand();
330 virtual void finalizeRestoreFromXml();
351 virtual void recalculateFrameSizes();
361 void recalculateFrameRects();
377 void contentsChanged();
389 virtual bool writePropertiesToElement( QDomElement &element, QDomDocument &document,
const QgsReadWriteContext &context )
const;
406 virtual bool readPropertiesFromElement(
const QDomElement &element,
const QDomDocument &document,
const QgsReadWriteContext &context );
417 void handlePageChange();
429 bool mIsRecalculatingSize =
false;
431 bool mBlockUpdates =
false;
432 bool mBlockUndoCommands =
false;
434 QList< QString > mFrameUuids;
435 QList< QString > mFrameTemplateUuids;
439 QString mTemplateUuid;
445 #endif // QGSLAYOUTMULTIFRAME_H
QString uuid() const
Returns the multiframe identification string.
The class is used as a container of context for various read/write operations on other objects...
QgsExpressionContext createExpressionContext() const override
Creates an expression context relating to the objects' current state.
virtual QIcon icon() const
Returns the item's icon.
Base class for graphical items within a QgsLayout.
Base class for commands to undo/redo layout and layout object changes.
HTML page break distance.
static QIcon getThemeIcon(const QString &name)
Helper to get a theme icon.
QList< QgsLayoutFrame * > mFrameItems
int frameCount() const
Returns the number of frames associated with this multiframe.
Creates new full page frames on the following page(s) until the entire multiframe content is visible...
Abstract base class for layout items with the ability to distribute the content to several frames (Qg...
Maximum features in table.
Table content font color.
Repeats the same frame on every page.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
A layout table subclass that displays attributes from a vector layer.
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.
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.
ResizeMode
Specifies the behavior for creating new frames to fit the multiframe's content.
Contains information about the context of a rendering operation.
ResizeMode resizeMode() const
Returns the resize mode for the multiframe.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Interface for layout objects which support undo/redo commands.
A base class for objects which belong to a layout.
A layout table subclass that displays manually entered (and formatted) content.
UndoCommand
Multiframe item undo commands, used for collapsing undo commands.
virtual void refresh()
Refreshes the object, causing a recalculation of any property overrides.
DataDefinedProperty
Data defined properties for different item types.
Base class for frame items, which form a layout multiframe item.
A layout multiframe subclass for HTML content.
A text table item that reads text from string lists.