18 #ifndef QGSLAYOUTMODEL_H
19 #define QGSLAYOUTMODEL_H
21 #include "qgis_core.h"
25 #include <QAbstractItemModel>
26 #include <QSortFilterProxyModel>
27 #include <QStringList>
72 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex() )
const override;
73 QModelIndex parent(
const QModelIndex &index )
const override;
74 int rowCount(
const QModelIndex &parent = QModelIndex() )
const override;
75 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
76 QVariant data(
const QModelIndex &index,
int role )
const override;
77 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
78 bool setData(
const QModelIndex &index,
const QVariant &value,
int role )
override;
79 QVariant headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole )
const override;
80 Qt::DropActions supportedDropActions()
const override;
81 QStringList mimeTypes()
const override;
82 QMimeData *mimeData(
const QModelIndexList &indexes )
const override;
83 bool dropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent )
override;
84 bool removeRows(
int row,
int count,
const QModelIndex &parent = QModelIndex() )
override;
97 int zOrderListSize()
const;
187 QList<QgsLayoutItem *> &zOrderList();
204 void setItemRestored( QgsComposerItem *item );
246 QgsLayoutItem *itemFromIndex(
const QModelIndex &index )
const;
252 QModelIndex indexForItem(
QgsLayoutItem *item,
int column = 0 );
262 void setSelected(
const QModelIndex &index );
269 QList<QgsLayoutItem *> mItemZList;
272 QList<QgsLayoutItem *> mItemsInScene;
286 void refreshItemsInScene();
293 void rebuildSceneItemList();
295 friend class TestQgsLayoutModel;
296 friend class TestQgsLayoutGui;
336 void setExceptedItemList(
const QList< QgsLayoutItem * > &items );
353 QgsLayoutItem *itemFromSourceIndex(
const QModelIndex &sourceIndex )
const;
366 void setAllowEmptyItem(
bool allowEmpty );
373 bool allowEmptyItem()
const;
376 bool filterAcceptsRow(
int sourceRow,
const QModelIndex &sourceParent )
const override;
377 bool lessThan(
const QModelIndex &left,
const QModelIndex &right )
const override;
382 QList< QgsLayoutItem * > mExceptedList;
383 bool mAllowEmpty =
false;
389 #endif //QGSLAYOUTMODEL_H