19 #include "qgis_core.h"
20 #include <QGraphicsScene>
63 ZMouseHandles = 10000,
65 ZSnapIndicator = 10002,
96 void initializeDefaults();
121 template<class T>
void layoutItems( QList<T *> &itemList ) const
SIP_SKIP
124 QList<QGraphicsItem *> graphicsItemList = items();
125 QList<QGraphicsItem *>::iterator itemIt = graphicsItemList.begin();
126 for ( ; itemIt != graphicsItemList.end(); ++itemIt )
128 T *item =
dynamic_cast<T *
>( *itemIt );
131 itemList.push_back( item );
143 const QList<QGraphicsItem *> itemList( items() );
144 const QList<QgsLayoutMultiFrame *> frameList( multiFrames() );
145 for (
const auto &obj : itemList )
147 T *item =
dynamic_cast<T *
>( obj );
150 objectList.push_back( item );
153 for (
const auto &obj : frameList )
155 T *item =
dynamic_cast<T *
>( obj );
158 objectList.push_back( item );
169 QList<QgsLayoutItem *> selectedLayoutItems(
bool includeLockedItems =
true );
196 bool raiseItem(
QgsLayoutItem *item,
bool deferUpdate =
false );
210 bool lowerItem(
QgsLayoutItem *item,
bool deferUpdate =
false );
224 bool moveItemToTop(
QgsLayoutItem *item,
bool deferUpdate =
false );
237 bool moveItemToBottom(
QgsLayoutItem *item,
bool deferUpdate =
false );
244 void updateZValues(
bool addUndoCommands =
true );
261 QgsLayoutItem *itemByUuid(
const QString &uuid,
bool includeTemplateUuids =
false )
const;
278 QgsLayoutItem *itemByTemplateUuid(
const QString &uuid )
const;
301 QgsLayoutMultiFrame *multiFrameByUuid(
const QString &uuid,
bool includeTemplateUuids =
false )
const;
307 QgsLayoutItem *layoutItemAt( QPointF position,
bool ignoreLocked =
false )
const;
344 QSizeF convertToLayoutUnits(
const QgsLayoutSize &size )
const;
352 QPointF convertToLayoutUnits(
const QgsLayoutPoint &point )
const;
429 void reloadSettings();
455 void setCustomProperty(
const QString &key,
const QVariant &value );
466 QVariant customProperty(
const QString &key,
const QVariant &defaultValue = QVariant() )
const;
475 void removeCustomProperty(
const QString &key );
483 QStringList customProperties()
const;
521 QRectF layoutBounds(
bool ignorePages =
false,
double margin = 0.0 )
const;
533 QRectF pageItemBounds(
int page,
bool visibleOnly =
false )
const;
567 QList< QgsLayoutMultiFrame * > multiFrames()
const;
587 QList< QgsLayoutItem * > loadFromTemplate(
const QDomDocument &document,
const QgsReadWriteContext &context,
bool clearExisting =
true,
bool *ok
SIP_OUT =
nullptr );
593 virtual QDomElement writeXml( QDomDocument &document,
const QgsReadWriteContext &context )
const;
599 virtual bool readXml(
const QDomElement &layoutElement,
const QDomDocument &document,
const QgsReadWriteContext &context );
613 QList< QgsLayoutItem * > addItemsFromXml(
const QDomElement &parentElement,
const QDomDocument &document,
615 QPointF *position =
nullptr,
bool pasteInPlace =
false );
689 void variablesChanged();
708 void backgroundTaskCountChanged(
int total );
711 void itemBackgroundTaskCountChanged(
int count );
733 QString mWorldFileMapId;
738 void writeXmlLayoutSettings( QDomElement &element, QDomDocument &document, const
QgsReadWriteContext &context ) const;
740 bool readXmlLayoutSettings( const QDomElement &layoutElement, const QDomDocument &document, const
QgsReadWriteContext &context );
752 void deleteAndRemoveMultiFrames();
755 QPointF minPointFromXml( const QDomElement &elem ) const;
760 friend class QgsLayoutItemAddItemCommand;
761 friend class QgsLayoutItemDeleteUndoCommand;
762 friend class QgsLayoutItemUndoCommand;
763 friend class QgsLayoutUndoCommand;
764 friend class QgsLayoutItemGroupUndoCommand;