QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Types | Public Slots | Public Member Functions | Protected Attributes | Friends | List of all members
QgsComposerModel Class Reference

A model for items attached to a composition. More...

#include <qgscomposermodel.h>

Inheritance diagram for QgsComposerModel:
Inheritance graph
[legend]

Public Types

enum  Columns { Visibility = 0, LockStatus, ItemId }
 Columns returned by the model. More...
 

Public Slots

void setSelected (const QModelIndex &index)
 Sets an item as the current selection from a QModelIndex. More...
 

Public Member Functions

 QgsComposerModel (QgsComposition *composition, QObject *parent=nullptr)
 Constructor. More...
 
 ~QgsComposerModel ()
 
void addItemAtTop (QgsComposerItem *item)
 Adds an item to the top of the composition z stack. More...
 
void clear ()
 Clears all items from z-order list and resets the model. More...
 
int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
QVariant data (const QModelIndex &index, int role) const override
 
bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 
QgsComposerItemgetComposerItemAbove (QgsComposerItem *item) const
 Finds the next composer item above an item. More...
 
QgsComposerItemgetComposerItemBelow (QgsComposerItem *item) const
 Finds the next composer item below an item. More...
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const override
 
QModelIndex indexForItem (QgsComposerItem *item, const int column=0)
 Returns the QModelIndex corresponding to a QgsComposerItem, if possible. More...
 
virtual QMimeDatamimeData (const QModelIndexList &indexes) const override
 
virtual QStringList mimeTypes () const override
 
QModelIndex parent (const QModelIndex &index) const override
 
void rebuildZList ()
 Rebuilds the z-order list, based on the current stacking of items in the composition. More...
 
void removeItem (QgsComposerItem *item)
 Removes an item from the z-order list. More...
 
bool removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) override
 
bool reorderItemDown (QgsComposerItem *item)
 Moves an item down the z-order list. More...
 
bool reorderItemToBottom (QgsComposerItem *item)
 Moves an item to the bottom of the z-order list. More...
 
bool reorderItemToTop (QgsComposerItem *item)
 Moves an item to the top of the z-order list. More...
 
bool reorderItemUp (QgsComposerItem *item)
 Moves an item up the z-order list. More...
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
bool setData (const QModelIndex &index, const QVariant &value, int role) override
 
void setItemRemoved (QgsComposerItem *item)
 Marks an item as removed from the composition. More...
 
void setItemRestored (QgsComposerItem *item)
 Restores an item to the composition. More...
 
Qt::DropActions supportedDropActions () const override
 
void updateItemDisplayName (QgsComposerItem *item)
 Must be called when an item's display name is modified. More...
 
void updateItemLockStatus (QgsComposerItem *item)
 Must be called when an item's lock status changes. More...
 
void updateItemSelectStatus (QgsComposerItem *item)
 Must be called when an item's selection status changes. More...
 
void updateItemVisibility (QgsComposerItem *item)
 Must be called when an item's visibility changes. More...
 
QList< QgsComposerItem * > * zOrderList ()
 Returns the item z-order list. More...
 
int zOrderListSize () const
 Returns the size of the z-order list, which includes items which may have been removed from the composition. More...
 
- Public Member Functions inherited from QAbstractItemModel
 QAbstractItemModel (QObject *parent)
 
virtual ~QAbstractItemModel ()
 
virtual QModelIndex buddy (const QModelIndex &index) const
 
virtual bool canFetchMore (const QModelIndex &parent) const
 
virtual int columnCount (const QModelIndex &parent) const=0
 
void columnsAboutToBeInserted (const QModelIndex &parent, int start, int end)
 
void columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn)
 
void columnsAboutToBeRemoved (const QModelIndex &parent, int start, int end)
 
void columnsInserted (const QModelIndex &parent, int start, int end)
 
void columnsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn)
 
void columnsRemoved (const QModelIndex &parent, int start, int end)
 
virtual QVariant data (const QModelIndex &index, int role) const=0
 
void dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight)
 
virtual void fetchMore (const QModelIndex &parent)
 
virtual bool hasChildren (const QModelIndex &parent) const
 
bool hasIndex (int row, int column, const QModelIndex &parent) const
 
void headerDataChanged (Qt::Orientation orientation, int first, int last)
 
virtual QModelIndex index (int row, int column, const QModelIndex &parent) const=0
 
bool insertColumn (int column, const QModelIndex &parent)
 
virtual bool insertColumns (int column, int count, const QModelIndex &parent)
 
bool insertRow (int row, const QModelIndex &parent)
 
virtual bool insertRows (int row, int count, const QModelIndex &parent)
 
virtual QMap< int, QVariantitemData (const QModelIndex &index) const
 
void layoutAboutToBeChanged ()
 
void layoutChanged ()
 
virtual QModelIndexList match (const QModelIndex &start, int role, const QVariant &value, int hits, QFlags< Qt::MatchFlag > flags) const
 
void modelAboutToBeReset ()
 
void modelReset ()
 
virtual QModelIndex parent (const QModelIndex &index) const=0
 
bool removeColumn (int column, const QModelIndex &parent)
 
virtual bool removeColumns (int column, int count, const QModelIndex &parent)
 
bool removeRow (int row, const QModelIndex &parent)
 
virtual void revert ()
 
const QHash< int, QByteArray > & roleNames () const
 
virtual int rowCount (const QModelIndex &parent) const=0
 
void rowsAboutToBeInserted (const QModelIndex &parent, int start, int end)
 
void rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow)
 
void rowsAboutToBeRemoved (const QModelIndex &parent, int start, int end)
 
void rowsInserted (const QModelIndex &parent, int start, int end)
 
void rowsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow)
 
void rowsRemoved (const QModelIndex &parent, int start, int end)
 
virtual bool setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role)
 
virtual bool setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles)
 
void setSupportedDragActions (QFlags< Qt::DropAction > actions)
 
QModelIndex sibling (int row, int column, const QModelIndex &index) const
 
virtual void sort (int column, Qt::SortOrder order)
 
virtual QSize span (const QModelIndex &index) const
 
virtual bool submit ()
 
Qt::DropActions supportedDragActions () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual ~QObject ()
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 

Protected Attributes

QList< QgsComposerItem * > mItemsInScene
 Cached list of items from mItemZList which are currently in the scene. More...
 
QList< QgsComposerItem * > mItemZList
 Maintains z-Order of items. More...
 

Friends

class TestQgsComposerGui
 
class TestQgsComposerModel
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Protected Member Functions inherited from QAbstractItemModel
void beginInsertColumns (const QModelIndex &parent, int first, int last)
 
void beginInsertRows (const QModelIndex &parent, int first, int last)
 
bool beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild)
 
bool beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild)
 
void beginRemoveColumns (const QModelIndex &parent, int first, int last)
 
void beginRemoveRows (const QModelIndex &parent, int first, int last)
 
void beginResetModel ()
 
void changePersistentIndex (const QModelIndex &from, const QModelIndex &to)
 
void changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to)
 
QModelIndex createIndex (int row, int column, void *ptr) const
 
QModelIndex createIndex (int row, int column, int id) const
 
QModelIndex createIndex (int row, int column, quint32 id) const
 
void endInsertColumns ()
 
void endInsertRows ()
 
void endMoveColumns ()
 
void endMoveRows ()
 
void endRemoveColumns ()
 
void endRemoveRows ()
 
void endResetModel ()
 
QModelIndexList persistentIndexList () const
 
void reset ()
 
void resetInternalData ()
 
void setRoleNames (const QHash< int, QByteArray > &roleNames)
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

A model for items attached to a composition.

The model also maintains the z-order for the composition, and must be notified whenever item stacking changes.

Internally, QgsComposerModel maintains two lists. One contains a complete list of all items for the composition, ordered by their position within the z-order stack. This list also contains items which have been removed from the composition, so that undo/redo commands can restore them to their correct position in the stacking order.

The second list contains only items which are currently displayed in the composition's scene. It is used as a cache of the last known stacking order, so that the model can compare the current stacking of items in the composition to the last known state, and emit the corresponding signals as required.

Definition at line 48 of file qgscomposermodel.h.

Member Enumeration Documentation

◆ Columns

Columns returned by the model.

Enumerator
Visibility 

Item visibility check box

LockStatus 

Item lock status check box

ItemId 

Item ID

Definition at line 55 of file qgscomposermodel.h.

Constructor & Destructor Documentation

◆ QgsComposerModel()

QgsComposerModel::QgsComposerModel ( QgsComposition composition,
QObject parent = nullptr 
)
explicit

Constructor.

Parameters
compositioncomposition to attach to
parentparent object

Definition at line 32 of file qgscomposermodel.cpp.

◆ ~QgsComposerModel()

QgsComposerModel::~QgsComposerModel ( )

Definition at line 39 of file qgscomposermodel.cpp.

Member Function Documentation

◆ addItemAtTop()

void QgsComposerModel::addItemAtTop ( QgsComposerItem item)

Adds an item to the top of the composition z stack.

Parameters
itemitem to add. The item must not already exist in the z-order list.
Note
added in QGIS 2.5
See also
reorderItemToTop

Definition at line 512 of file qgscomposermodel.cpp.

◆ clear()

void QgsComposerModel::clear ( )

Clears all items from z-order list and resets the model.

Note
added in QGIS 2.5

Definition at line 436 of file qgscomposermodel.cpp.

◆ columnCount()

int QgsComposerModel::columnCount ( const QModelIndex parent = QModelIndex()) const
override

Definition at line 118 of file qgscomposermodel.cpp.

◆ data()

QVariant QgsComposerModel::data ( const QModelIndex index,
int  role 
) const
override

Definition at line 124 of file qgscomposermodel.cpp.

◆ dropMimeData()

bool QgsComposerModel::dropMimeData ( const QMimeData data,
Qt::DropAction  action,
int  row,
int  column,
const QModelIndex parent 
)
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 314 of file qgscomposermodel.cpp.

◆ flags()

Qt::ItemFlags QgsComposerModel::flags ( const QModelIndex index) const
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 899 of file qgscomposermodel.cpp.

◆ getComposerItemAbove()

QgsComposerItem * QgsComposerModel::getComposerItemAbove ( QgsComposerItem item) const

Finds the next composer item above an item.

This method only considers items which are currently in the composition, and ignores items which have been removed from the composition.

Parameters
itemitem to search above
Returns
item above specified item. If no items were found, no item will be returned.
See also
getComposerItemBelow
Note
added in QGIS 2.5

Definition at line 853 of file qgscomposermodel.cpp.

◆ getComposerItemBelow()

QgsComposerItem * QgsComposerModel::getComposerItemBelow ( QgsComposerItem item) const

Finds the next composer item below an item.

This method only considers items which are currently in the composition, and ignores items which have been removed from the composition.

Parameters
itemitem to search above
Returns
item below specified item. If no items were found, no item will be returned.
See also
getComposerItemAbove
Note
added in QGIS 2.5

Definition at line 874 of file qgscomposermodel.cpp.

◆ headerData()

QVariant QgsComposerModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 229 of file qgscomposermodel.cpp.

◆ index()

QModelIndex QgsComposerModel::index ( int  row,
int  column,
const QModelIndex parent = QModelIndex() 
) const
override

Definition at line 55 of file qgscomposermodel.cpp.

◆ indexForItem()

QModelIndex QgsComposerModel::indexForItem ( QgsComposerItem item,
const int  column = 0 
)

Returns the QModelIndex corresponding to a QgsComposerItem, if possible.

Parameters
itemQgsComposerItem to find index for
columncolumn number for created QModelIndex
Returns
QModelIndex corresponding to item and specified column

Definition at line 920 of file qgscomposermodel.cpp.

◆ mimeData()

QMimeData * QgsComposerModel::mimeData ( const QModelIndexList &  indexes) const
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 284 of file qgscomposermodel.cpp.

◆ mimeTypes()

QStringList QgsComposerModel::mimeTypes ( ) const
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 277 of file qgscomposermodel.cpp.

◆ parent()

QModelIndex QgsComposerModel::parent ( const QModelIndex index) const
override

Definition at line 90 of file qgscomposermodel.cpp.

◆ rebuildZList()

void QgsComposerModel::rebuildZList ( )

Rebuilds the z-order list, based on the current stacking of items in the composition.

This method should be called after adding multiple items to the composition.

Note
added in QGIS 2.5

Definition at line 450 of file qgscomposermodel.cpp.

◆ removeItem()

void QgsComposerModel::removeItem ( QgsComposerItem item)

Removes an item from the z-order list.

Parameters
itemitem to remove
Note
added in QGIS 2.5

Definition at line 521 of file qgscomposermodel.cpp.

◆ removeRows()

bool QgsComposerModel::removeRows ( int  row,
int  count,
const QModelIndex parent = QModelIndex() 
)
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 419 of file qgscomposermodel.cpp.

◆ reorderItemDown()

bool QgsComposerModel::reorderItemDown ( QgsComposerItem item)

Moves an item down the z-order list.

Parameters
itemitem to move
Returns
true if item was moved. Returns false if item was not found in z-order list or was already at the bottom of the z-order list.
See also
reorderItemUp
reorderItemToTop
reorderItemToBottom
Note
added in QGIS 2.5

Definition at line 731 of file qgscomposermodel.cpp.

◆ reorderItemToBottom()

bool QgsComposerModel::reorderItemToBottom ( QgsComposerItem item)

Moves an item to the bottom of the z-order list.

Parameters
itemitem to move
Returns
true if item was moved. Returns false if item was not found in z-order list or was already at the bottom of the z-order list.
See also
reorderItemUp
reorderItemDown
reorderItemToTop
Note
added in QGIS 2.5

Definition at line 817 of file qgscomposermodel.cpp.

◆ reorderItemToTop()

bool QgsComposerModel::reorderItemToTop ( QgsComposerItem item)

Moves an item to the top of the z-order list.

Parameters
itemitem to move
Returns
true if item was moved. Returns false if item was not found in z-order list or was already at the top of the z-order list.
See also
reorderItemUp
reorderItemDown
reorderItemToBottom
Note
added in QGIS 2.5

Definition at line 781 of file qgscomposermodel.cpp.

◆ reorderItemUp()

bool QgsComposerModel::reorderItemUp ( QgsComposerItem item)

Moves an item up the z-order list.

Parameters
itemitem to move
Returns
true if item was moved. Returns false if item was not found in z-order list or was already at the top of the z-order list.
See also
reorderItemDown
reorderItemToTop
reorderItemToBottom
Note
added in QGIS 2.5

Definition at line 681 of file qgscomposermodel.cpp.

◆ rowCount()

int QgsComposerModel::rowCount ( const QModelIndex parent = QModelIndex()) const
override

Definition at line 98 of file qgscomposermodel.cpp.

◆ setData()

bool QgsComposerModel::setData ( const QModelIndex index,
const QVariant value,
int  role = Qt::EditRole 
)
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 195 of file qgscomposermodel.cpp.

◆ setItemRemoved()

void QgsComposerModel::setItemRemoved ( QgsComposerItem item)

Marks an item as removed from the composition.

This must be called whenever an item has been removed from the composition.

Parameters
itemto mark as removed from the composition
See also
setItemRestored
Note
added in QGIS 2.5

Definition at line 556 of file qgscomposermodel.cpp.

◆ setItemRestored()

void QgsComposerModel::setItemRestored ( QgsComposerItem item)

Restores an item to the composition.

This must be called whenever an item removed from the composition is restored to the composition.

Parameters
itemto mark as restored to the composition
See also
setItemRemoved
Note
added in QGIS 2.5

Definition at line 586 of file qgscomposermodel.cpp.

◆ setSelected

void QgsComposerModel::setSelected ( const QModelIndex index)
slot

Sets an item as the current selection from a QModelIndex.

Parameters
indexQModelIndex of item to set as selected
Note
added in QGIS 2.5

Definition at line 937 of file qgscomposermodel.cpp.

◆ supportedDropActions()

Qt::DropActions QgsComposerModel::supportedDropActions ( ) const
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 272 of file qgscomposermodel.cpp.

◆ updateItemDisplayName()

void QgsComposerModel::updateItemDisplayName ( QgsComposerItem item)

Must be called when an item's display name is modified.

Parameters
itemitem to update
See also
updateItemLockStatus
updateItemVisibility
updateItemSelectStatus
Note
added in QGIS 2.5

Definition at line 605 of file qgscomposermodel.cpp.

◆ updateItemLockStatus()

void QgsComposerModel::updateItemLockStatus ( QgsComposerItem item)

Must be called when an item's lock status changes.

Parameters
itemitem to update
See also
updateItemDisplayName
updateItemVisibility
updateItemSelectStatus
Note
added in QGIS 2.5

Definition at line 624 of file qgscomposermodel.cpp.

◆ updateItemSelectStatus()

void QgsComposerModel::updateItemSelectStatus ( QgsComposerItem item)

Must be called when an item's selection status changes.

Parameters
itemitem to update
See also
updateItemDisplayName
updateItemVisibility
updateItemLockStatus
Note
added in QGIS 2.5

Definition at line 662 of file qgscomposermodel.cpp.

◆ updateItemVisibility()

void QgsComposerModel::updateItemVisibility ( QgsComposerItem item)

Must be called when an item's visibility changes.

Parameters
itemitem to update
See also
updateItemDisplayName
updateItemLockStatus
updateItemSelectStatus
Note
added in QGIS 2.5

Definition at line 643 of file qgscomposermodel.cpp.

◆ zOrderList()

QList< QgsComposerItem * > * QgsComposerModel::zOrderList ( )

Returns the item z-order list.

This list includes both items currently in the composition and items which have been removed from the composition.

Returns
item z-order list
Note
added in QGIS 2.5

Definition at line 893 of file qgscomposermodel.cpp.

◆ zOrderListSize()

int QgsComposerModel::zOrderListSize ( ) const

Returns the size of the z-order list, which includes items which may have been removed from the composition.

Returns
size of z-order list
Note
added in QGIS 2.5

Definition at line 445 of file qgscomposermodel.cpp.

Friends And Related Function Documentation

◆ TestQgsComposerGui

friend class TestQgsComposerGui
friend

Definition at line 292 of file qgscomposermodel.h.

◆ TestQgsComposerModel

friend class TestQgsComposerModel
friend

Definition at line 291 of file qgscomposermodel.h.

Member Data Documentation

◆ mItemsInScene

QList<QgsComposerItem*> QgsComposerModel::mItemsInScene
protected

Cached list of items from mItemZList which are currently in the scene.

Definition at line 262 of file qgscomposermodel.h.

◆ mItemZList

QList<QgsComposerItem*> QgsComposerModel::mItemZList
protected

Maintains z-Order of items.

Starts with item at position 1 (position 0 is always paper item)

Definition at line 259 of file qgscomposermodel.h.


The documentation for this class was generated from the following files: