QGIS API Documentation  2.8.2-Wien
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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>

Public Slots

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

Public Member Functions

 QgsComposerModel (QgsComposition *composition, QObject *parent=0)
 Constructor.
 ~QgsComposerModel ()
void addItemAtTop (QgsComposerItem *item)
 Adds an item to the top of the composition z stack.
void clear ()
 Clears all items from z-order list and resets the model.
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.
QgsComposerItemgetComposerItemBelow (QgsComposerItem *item) const
 Finds the next composer item below an item.
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
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.
void removeItem (QgsComposerItem *item)
 Removes an item from the z-order list.
bool removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) override
bool reorderItemDown (QgsComposerItem *item)
 Moves an item down the z-order list.
bool reorderItemToBottom (QgsComposerItem *item)
 Moves an item to the bottom of the z-order list.
bool reorderItemToTop (QgsComposerItem *item)
 Moves an item to the top of the z-order list.
bool reorderItemUp (QgsComposerItem *item)
 Moves an item up the z-order list.
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.
void setItemRestored (QgsComposerItem *item)
 Restores an item to the composition.
Qt::DropActions supportedDropActions () const override
void updateItemDisplayName (QgsComposerItem *item)
 Must be called when an item's display name is modified.
void updateItemLockStatus (QgsComposerItem *item)
 Must be called when an item's lock status changes.
void updateItemSelectStatus (QgsComposerItem *item)
 Must be called when an item's selection status changes.
void updateItemVisibility (QgsComposerItem *item)
 Must be called when an item's visibility changes.
QList< QgsComposerItem * > * zOrderList ()
 Returns the item z-order list.
int zOrderListSize () const
 Returns the size of the z-order list, which includes items which may have been removed from the composition.

Protected Attributes

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

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 47 of file qgscomposermodel.h.

Constructor & Destructor Documentation

QgsComposerModel::QgsComposerModel ( QgsComposition composition,
QObject *  parent = 0 
)
explicit

Constructor.

Parameters
compositioncomposition to attach to
parentparent object

Definition at line 33 of file qgscomposermodel.cpp.

QgsComposerModel::~QgsComposerModel ( )

Definition at line 40 of file qgscomposermodel.cpp.

Member Function Documentation

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 525 of file qgscomposermodel.cpp.

void QgsComposerModel::clear ( )

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

Note
added in QGIS 2.5

Definition at line 448 of file qgscomposermodel.cpp.

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

Definition at line 119 of file qgscomposermodel.cpp.

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

Definition at line 125 of file qgscomposermodel.cpp.

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

Definition at line 326 of file qgscomposermodel.cpp.

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

Definition at line 912 of file qgscomposermodel.cpp.

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 866 of file qgscomposermodel.cpp.

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 887 of file qgscomposermodel.cpp.

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

Definition at line 234 of file qgscomposermodel.cpp.

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

Definition at line 56 of file qgscomposermodel.cpp.

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

Definition at line 296 of file qgscomposermodel.cpp.

QStringList QgsComposerModel::mimeTypes ( ) const
overridevirtual

Definition at line 289 of file qgscomposermodel.cpp.

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

Definition at line 91 of file qgscomposermodel.cpp.

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 462 of file qgscomposermodel.cpp.

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 534 of file qgscomposermodel.cpp.

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

Definition at line 431 of file qgscomposermodel.cpp.

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 744 of file qgscomposermodel.cpp.

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 830 of file qgscomposermodel.cpp.

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 794 of file qgscomposermodel.cpp.

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 694 of file qgscomposermodel.cpp.

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

Definition at line 99 of file qgscomposermodel.cpp.

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

Definition at line 197 of file qgscomposermodel.cpp.

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 569 of file qgscomposermodel.cpp.

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 599 of file qgscomposermodel.cpp.

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 950 of file qgscomposermodel.cpp.

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

Definition at line 284 of file qgscomposermodel.cpp.

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 618 of file qgscomposermodel.cpp.

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 637 of file qgscomposermodel.cpp.

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 675 of file qgscomposermodel.cpp.

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 656 of file qgscomposermodel.cpp.

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 906 of file qgscomposermodel.cpp.

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 457 of file qgscomposermodel.cpp.

Friends And Related Function Documentation

friend class TestQgsComposerModel
friend

Definition at line 289 of file qgscomposermodel.h.

Member Data Documentation

QList<QgsComposerItem*> QgsComposerModel::mItemsInScene
protected

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

Definition at line 246 of file qgscomposermodel.h.

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 243 of file qgscomposermodel.h.


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