17 #ifndef QGSLAYOUTPAGECOLLECTION_H
18 #define QGSLAYOUTPAGECOLLECTION_H
20 #include "qgis_core.h"
53 QString
stringType()
const override {
return QStringLiteral(
"LayoutPageCollection" ); }
61 QList< QgsLayoutItemPage * > pages();
67 int pageCount()
const;
99 QList< QgsLayoutItemPage * > visiblePages(
const QRectF ®ion )
const;
106 QList< int > visiblePageNumbers(
const QRectF ®ion )
const;
113 bool pageIsEmpty(
int page )
const;
118 QList< QgsLayoutItem *> itemsOnPage(
int page )
const;
127 const QList<QGraphicsItem *> graphicsItemList = mLayout->items();
128 for ( QGraphicsItem *graphicsItem : graphicsItemList )
130 T *item =
dynamic_cast<T *
>( graphicsItem );
131 if ( item && item->page() == page )
133 itemList.push_back( item );
146 bool shouldExportPage(
int page )
const;
200 void deletePage(
int pageNumber );
245 void beginPageSizeChange();
253 void endPageSizeChange();
267 double maximumPageWidth() const;
275 QSizeF maximumPageSize() const;
283 bool hasUniformPageSizes() const;
299 int pageNumberForPoint( QPointF point ) const;
316 int predictPageNumberForPoint( QPointF point ) const;
334 QPointF pagePositionToLayoutPosition(
int page, const
QgsLayoutPoint &position ) const;
347 QPointF positionOnPage( QPointF point ) const;
352 double spaceBetweenPages() const;
357 double pageShadowWidth() const;
373 bool writeXml( QDomElement &parentElement, QDomDocument &document, const
QgsReadWriteContext &context ) const override;
379 bool readXml( const QDomElement &collectionElement, const QDomDocument &document, const
QgsReadWriteContext &context ) override;
411 void pageAboutToBeRemoved(
int pageNumber );
424 bool mBlockUndoCommands = false;
426 QMap< QString, QPair<
int,
QgsLayoutPoint > > mPreviousItemPositions;
428 void createDefaultPageStyleSymbol();
430 friend class QgsLayoutPageCollectionUndoCommand;
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
Stores and manages the snap guides used by a layout.
Item representing the paper in a layout.
A manager for a collection of pages in a layout.
void itemsOnPage(QList< T * > &itemList, int page) const
Returns layout items of a specific type on a specified page.
QString stringType() const override
Returns the object type as a string.
This class provides a method of storing points, consisting of an x and y coordinate,...
An interface for layout objects which can be stored and read from DOM elements.
virtual QgsLayout * layout()=0
Returns the layout the object belongs to.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
The QgsMargins class defines the four margins of a rectangle.
The class is used as a container of context for various read/write operations on other objects.
Helper functions for various unit types.
std::unique_ptr< GEOSGeometry, GeosDeleter > unique_ptr
Scoped GEOS pointer.