16 #ifndef QGSLAYOUTGUIDECOLLECTION_H
17 #define QGSLAYOUTGUIDECOLLECTION_H
19 #include "qgis_core.h"
25 #include <QAbstractListModel>
26 #include <QSortFilterProxyModel>
27 #include <QGraphicsLineItem>
80 Qt::Orientation orientation()
const;
124 QGraphicsLineItem *item();
130 double layoutPosition()
const;
136 void setLayoutPosition(
double position );
147 Qt::Orientation mOrientation = Qt::Vertical;
153 QPointer< QgsLayoutItemPage > mPage;
155 QPointer< QgsLayout > mLayout;
158 QGraphicsLineItem *mLineItem =
nullptr;
178 OrientationRole = Qt::UserRole,
192 QString
stringType()
const override {
return QStringLiteral(
"LayoutGuideCollection" ); }
195 int rowCount(
const QModelIndex & )
const override;
196 int columnCount(
const QModelIndex & )
const override;
197 QVariant data(
const QModelIndex &index,
int role )
const override;
198 bool setData(
const QModelIndex &index,
const QVariant &value,
int role )
override;
199 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
200 QVariant headerData(
int section, Qt::Orientation orientation,
201 int role = Qt::DisplayRole )
const override;
202 bool removeRows(
int row,
int count,
const QModelIndex &parent = QModelIndex() )
override;
220 void setGuideLayoutPosition(
QgsLayoutGuide *guide,
double position );
231 void applyGuidesToAllOtherPages(
int sourcePage );
241 QList< QgsLayoutGuide * > guides();
249 QList< QgsLayoutGuide * > guides( Qt::Orientation orientation,
int page = -1 );
255 QList< QgsLayoutGuide * > guidesOnPage(
int page );
261 bool visible()
const;
267 void setVisible(
bool visible );
273 bool writeXml( QDomElement &parentElement, QDomDocument &document,
const QgsReadWriteContext &context )
const override;
279 bool readXml(
const QDomElement &collectionElement,
const QDomDocument &document,
const QgsReadWriteContext &context )
override;
283 void pageAboutToBeRemoved(
int pageNumber );
296 QList< QgsLayoutGuide * > mGuides;
299 bool mGuidesVisible =
true;
300 bool mBlockUndoCommands =
false;
302 friend class QgsLayoutGuideCollectionUndoCommand;
329 void setPage(
int page );
331 bool filterAcceptsRow(
int sourceRow,
const QModelIndex &sourceParent )
const override;
332 bool lessThan(
const QModelIndex &left,
const QModelIndex &right )
const override;
335 Qt::Orientation mOrientation = Qt::Horizontal;
Stores and manages the snap guides used by a layout.
QString stringType() const override
Returns the object type as a string.
@ PositionRole
Guide position role.
@ LayoutPositionRole
Guide position in layout coordinates.
@ UnitsRole
Guide position units role.
@ PageRole
Guide page role.
Filters QgsLayoutGuideCollection models to guides of a single orientation (horizontal or vertical).
Contains the configuration for a single snap guide used by a layout.
void positionChanged()
Emitted when the guide's position is changed.
Item representing the paper in a layout.
This class provides a method of storing measurements for use in QGIS layouts using a variety of diffe...
A manager for a collection of pages in a layout.
An interface for layout objects which can be stored and read from DOM elements.
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.