QGIS API Documentation  2.99.0-Master (8ec3eaf)
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 QMimeData * mimeData (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...
 

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. Starts with item at position 1 (position 0 is always paper item) More...
 

Friends

class TestQgsComposerModel
 

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 
)
override

Definition at line 314 of file qgscomposermodel.cpp.

§ flags()

Qt::ItemFlags QgsComposerModel::flags ( const QModelIndex &  index) const
override

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
override

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

Definition at line 284 of file qgscomposermodel.cpp.

§ mimeTypes()

QStringList QgsComposerModel::mimeTypes ( ) const
overridevirtual

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() 
)
override

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 
)
override

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
override

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

§ 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: