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 );
227 void setResizeMode( ResizeMode mode );
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();
337 void refresh() override;
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