QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Slots | Public Member Functions | 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 ()
QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const
QModelIndex parent (const QModelIndex &index) const
int rowCount (const QModelIndex &parent=QModelIndex()) const
int columnCount (const QModelIndex &parent=QModelIndex()) const
QVariant data (const QModelIndex &index, int role) const
Qt::ItemFlags flags (const QModelIndex &index) const
bool setData (const QModelIndex &index, const QVariant &value, int role)
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
Qt::DropActions supportedDropActions () const
virtual QStringList mimeTypes () const
virtual QMimeData * mimeData (const QModelIndexList &indexes) const
bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
bool removeRows (int row, int count, const QModelIndex &parent=QModelIndex())
void clear ()
 Clears all items from z-order list and resets the model.
int zOrderListSize () const
 Returns the size of the z-order list, which includes items which may have been removed from the composition.
void rebuildZList ()
 Rebuilds the z-order list, based on the current stacking of items in the composition.
void addItemAtTop (QgsComposerItem *item)
 Adds an item to the top of the composition z stack.
void removeItem (QgsComposerItem *item)
 Removes an item from the z-order list.
bool reorderItemUp (QgsComposerItem *item)
 Moves an item up the z-order list.
bool reorderItemDown (QgsComposerItem *item)
 Moves an item down the z-order list.
bool reorderItemToTop (QgsComposerItem *item)
 Moves an item to the top of the z-order list.
bool reorderItemToBottom (QgsComposerItem *item)
 Moves an item to the bottom of the z-order list.
QgsComposerItemgetComposerItemAbove (QgsComposerItem *item) const
 Finds the next composer item above an item.
QgsComposerItemgetComposerItemBelow (QgsComposerItem *item) const
 Finds the next composer item below an item.
QList< QgsComposerItem * > * zOrderList ()
 Returns the item z-order list.
void setItemRemoved (QgsComposerItem *item)
 Marks an item as removed from the composition.
void setItemRestored (QgsComposerItem *item)
 Restores an item to the composition.
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 updateItemVisibility (QgsComposerItem *item)
 Must be called when an item's visibility changes.
void updateItemSelectStatus (QgsComposerItem *item)
 Must be called when an item's selection status changes.

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.

Constructor & Destructor Documentation

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

Constructor.

Parameters
compositioncomposition to attach to
parentparent object
QgsComposerModel::~QgsComposerModel ( )

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
void QgsComposerModel::clear ( )

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

Note
added in QGIS 2.5
int QgsComposerModel::columnCount ( const QModelIndex &  parent = QModelIndex()) const
QVariant QgsComposerModel::data ( const QModelIndex &  index,
int  role 
) const
bool QgsComposerModel::dropMimeData ( const QMimeData *  data,
Qt::DropAction  action,
int  row,
int  column,
const QModelIndex &  parent 
)
Qt::ItemFlags QgsComposerModel::flags ( const QModelIndex &  index) const
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
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
QVariant QgsComposerModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
QModelIndex QgsComposerModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const
QMimeData * QgsComposerModel::mimeData ( const QModelIndexList &  indexes) const
virtual
QStringList QgsComposerModel::mimeTypes ( ) const
virtual
QModelIndex QgsComposerModel::parent ( const QModelIndex &  index) const
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
void QgsComposerModel::removeItem ( QgsComposerItem item)

Removes an item from the z-order list.

Parameters
itemitem to remove
Note
added in QGIS 2.5
bool QgsComposerModel::removeRows ( int  row,
int  count,
const QModelIndex &  parent = QModelIndex() 
)
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
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
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
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
int QgsComposerModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
bool QgsComposerModel::setData ( const QModelIndex &  index,
const QVariant &  value,
int  role = Qt::EditRole 
)
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
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
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
Qt::DropActions QgsComposerModel::supportedDropActions ( ) const
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
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
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
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
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
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

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