QGIS API Documentation  2.11.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules 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>

Inheritance diagram for QgsComposerModel:
Inheritance graph
[legend]

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=0)
 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
 
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 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 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 
)
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 326 of file qgscomposermodel.cpp.

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

Reimplemented from QAbstractItemModel.

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
overridevirtual

Reimplemented from QAbstractItemModel.

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

Reimplemented from QAbstractItemModel.

Definition at line 296 of file qgscomposermodel.cpp.

QStringList QgsComposerModel::mimeTypes ( ) const
overridevirtual

Reimplemented from QAbstractItemModel.

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

Reimplemented from QAbstractItemModel.

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

Reimplemented from QAbstractItemModel.

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
overridevirtual

Reimplemented from QAbstractItemModel.

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: