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

A model that provides group, layer and classification items. More...

#include <qgslegendmodel.h>

Inheritance diagram for QgsLegendModel:
Inheritance graph
[legend]

Public Types

enum  ItemType { GroupItem = 0, LayerItem, ClassificationItem }
 

Public Slots

void addLayer (QgsMapLayer *theMapLayer, double scaleDenominator=-1, const QString &rule="", QStandardItem *parentItem=nullptr)
 
void removeLayer (const QString &layerId)
 

Signals

void layersChanged ()
 

Public Member Functions

 QgsLegendModel ()
 
 ~QgsLegendModel ()
 
QStandardItemaddGroup (QString text=QString::null, int position=-1, QStandardItem *parentItem=nullptr)
 Adds a group. More...
 
bool autoUpdate ()
 
bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
 Implements the drop operation. More...
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 
QMimeDatamimeData (const QModelIndexList &indexes) const override
 For the drag operation. More...
 
QStringList mimeTypes () const override
 
bool readXML (const QDomElement &legendModelElem, const QDomDocument &doc)
 
virtual bool removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) override
 Implemented to support drag operations. More...
 
void setAutoUpdate (bool autoUpdate)
 
void setLayerSet (const QStringList &layerIds, double scaleDenominator=-1, const QString &rule="")
 
void setLayerSetAndGroups (QgsLayerTreeGroup *rootGroup)
 Set layers and groups from a layer tree. More...
 
Q_DECL_DEPRECATED void setLayerSetAndGroups (const QStringList &layerIds, const QList< GroupLayerInfo > &groupInfo)
 Sets layer set and groups. More...
 
Qt::DropActions supportedDropActions () const override
 
void updateItem (QStandardItem *item)
 Tries to automatically update a model entry (e.g. More...
 
void updateItemText (QStandardItem *item)
 Update single item text using item userText and other properties like showFeatureCount. More...
 
void updateLayer (QStandardItem *layerItem)
 Updates the whole symbology of a layer. More...
 
void updateRasterClassificationItem (QStandardItem *classificationItem)
 
void updateVectorV2ClassificationItem (QStandardItem *classificationItem, QgsSymbolV2 *symbol, const QString &itemText)
 Tries to update a single classification item. More...
 
bool writeXML (QDomElement &composerLegendElem, QDomDocument &doc) const
 
- Public Member Functions inherited from QStandardItemModel
 QStandardItemModel (QObject *parent)
 
 QStandardItemModel (int rows, int columns, QObject *parent)
 
 ~QStandardItemModel ()
 
void appendColumn (const QList< QStandardItem * > &items)
 
void appendRow (const QList< QStandardItem * > &items)
 
void appendRow (QStandardItem *item)
 
void clear ()
 
virtual int columnCount (const QModelIndex &parent) const
 
virtual QVariant data (const QModelIndex &index, int role) const
 
QList< QStandardItem * > findItems (const QString &text, QFlags< Qt::MatchFlag > flags, int column) const
 
virtual bool hasChildren (const QModelIndex &parent) const
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role) const
 
QStandardItemhorizontalHeaderItem (int column) const
 
virtual QModelIndex index (int row, int column, const QModelIndex &parent) const
 
QModelIndex indexFromItem (const QStandardItem *item) const
 
void insertColumn (int column, const QList< QStandardItem * > &items)
 
bool insertColumn (int column, const QModelIndex &parent)
 
virtual bool insertColumns (int column, int count, const QModelIndex &parent)
 
void insertRow (int row, const QList< QStandardItem * > &items)
 
void insertRow (int row, QStandardItem *item)
 
bool insertRow (int row, const QModelIndex &parent)
 
virtual bool insertRows (int row, int count, const QModelIndex &parent)
 
QStandardIteminvisibleRootItem () const
 
QStandardItemitem (int row, int column) const
 
void itemChanged (QStandardItem *item)
 
virtual QMap< int, QVariantitemData (const QModelIndex &index) const
 
QStandardItemitemFromIndex (const QModelIndex &index) const
 
const QStandardItemitemPrototype () const
 
virtual QModelIndex parent (const QModelIndex &child) const
 
virtual bool removeColumns (int column, int count, const QModelIndex &parent)
 
virtual int rowCount (const QModelIndex &parent) const
 
void setColumnCount (int columns)
 
virtual bool setData (const QModelIndex &index, const QVariant &value, int role)
 
virtual bool setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role)
 
void setHorizontalHeaderItem (int column, QStandardItem *item)
 
void setHorizontalHeaderLabels (const QStringList &labels)
 
void setItem (int row, QStandardItem *item)
 
void setItem (int row, int column, QStandardItem *item)
 
virtual bool setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles)
 
void setItemPrototype (const QStandardItem *item)
 
void setRowCount (int rows)
 
void setSortRole (int role)
 
void setVerticalHeaderItem (int row, QStandardItem *item)
 
void setVerticalHeaderLabels (const QStringList &labels)
 
virtual void sort (int column, Qt::SortOrder order)
 
int sortRole () const
 
QList< QStandardItem * > takeColumn (int column)
 
QStandardItemtakeHorizontalHeaderItem (int column)
 
QStandardItemtakeItem (int row, int column)
 
QList< QStandardItem * > takeRow (int row)
 
QStandardItemtakeVerticalHeaderItem (int row)
 
QStandardItemverticalHeaderItem (int row) const
 
- 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)
 
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)
 
bool insertRow (int row, const QModelIndex &parent)
 
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)
 
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)
 
void setSupportedDragActions (QFlags< Qt::DropAction > actions)
 
QModelIndex sibling (int row, int column, const QModelIndex &index) const
 
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

bool mAutoUpdate
 True if the legend is auto updated when layers are added or removed from the map canvas. More...
 
bool mHasTopLevelWindow
 True if this application has toplevel windows (normally true). More...
 
QStringList mLayerIds
 

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 QStandardItemModel
 sortRole
 
- Properties inherited from QObject
 objectName
 

Detailed Description

A model that provides group, layer and classification items.

Definition at line 40 of file qgslegendmodel.h.

Member Enumeration Documentation

◆ ItemType

Enumerator
GroupItem 
LayerItem 
ClassificationItem 

Definition at line 46 of file qgslegendmodel.h.

Constructor & Destructor Documentation

◆ QgsLegendModel()

QgsLegendModel::QgsLegendModel ( )

Definition at line 36 of file qgslegendmodel.cpp.

◆ ~QgsLegendModel()

QgsLegendModel::~QgsLegendModel ( )

Definition at line 50 of file qgslegendmodel.cpp.

Member Function Documentation

◆ addGroup()

QStandardItem * QgsLegendModel::addGroup ( QString  text = QString::null,
int  position = -1,
QStandardItem parentItem = nullptr 
)

Adds a group.

Parameters
textname of group (defaults to translation of "Group")
positioninsertion position (toplevel position (or -1 if it should be placed at the end of the legend).
parentItemparent item
Returns
a pointer to the added group

Definition at line 144 of file qgslegendmodel.cpp.

◆ addLayer

void QgsLegendModel::addLayer ( QgsMapLayer theMapLayer,
double  scaleDenominator = -1,
const QString rule = "",
QStandardItem parentItem = nullptr 
)
slot

Definition at line 556 of file qgslegendmodel.cpp.

◆ autoUpdate()

bool QgsLegendModel::autoUpdate ( )
inline

Definition at line 104 of file qgslegendmodel.h.

◆ dropMimeData()

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

Implements the drop operation.

Reimplemented from QStandardItemModel.

Definition at line 815 of file qgslegendmodel.cpp.

◆ flags()

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

Reimplemented from QStandardItemModel.

Definition at line 705 of file qgslegendmodel.cpp.

◆ layersChanged

void QgsLegendModel::layersChanged ( )
signal

◆ mimeData()

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

For the drag operation.

Reimplemented from QStandardItemModel.

Definition at line 784 of file qgslegendmodel.cpp.

◆ mimeTypes()

QStringList QgsLegendModel::mimeTypes ( ) const
overridevirtual

Reimplemented from QStandardItemModel.

Definition at line 808 of file qgslegendmodel.cpp.

◆ readXML()

bool QgsLegendModel::readXML ( const QDomElement legendModelElem,
const QDomDocument doc 
)

Definition at line 649 of file qgslegendmodel.cpp.

◆ removeLayer

void QgsLegendModel::removeLayer ( const QString layerId)
slot

Definition at line 528 of file qgslegendmodel.cpp.

◆ removeRows()

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

Implemented to support drag operations.

Reimplemented from QStandardItemModel.

Definition at line 756 of file qgslegendmodel.cpp.

◆ setAutoUpdate()

void QgsLegendModel::setAutoUpdate ( bool  autoUpdate)

Definition at line 890 of file qgslegendmodel.cpp.

◆ setLayerSet()

void QgsLegendModel::setLayerSet ( const QStringList layerIds,
double  scaleDenominator = -1,
const QString rule = "" 
)

Definition at line 127 of file qgslegendmodel.cpp.

◆ setLayerSetAndGroups() [1/2]

void QgsLegendModel::setLayerSetAndGroups ( QgsLayerTreeGroup rootGroup)

Set layers and groups from a layer tree.

Note
added in 2.6

Definition at line 54 of file qgslegendmodel.cpp.

◆ setLayerSetAndGroups() [2/2]

void QgsLegendModel::setLayerSetAndGroups ( const QStringList layerIds,
const QList< GroupLayerInfo > &  groupInfo 
)

Sets layer set and groups.

Deprecated:
in 2.6

Definition at line 79 of file qgslegendmodel.cpp.

◆ supportedDropActions()

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

Reimplemented from QStandardItemModel.

Definition at line 700 of file qgslegendmodel.cpp.

◆ updateItem()

void QgsLegendModel::updateItem ( QStandardItem item)

Tries to automatically update a model entry (e.g.

a whole layer or only a single item)

Definition at line 420 of file qgslegendmodel.cpp.

◆ updateItemText()

void QgsLegendModel::updateItemText ( QStandardItem item)

Update single item text using item userText and other properties like showFeatureCount.

Definition at line 441 of file qgslegendmodel.cpp.

◆ updateLayer()

void QgsLegendModel::updateLayer ( QStandardItem layerItem)

Updates the whole symbology of a layer.

Definition at line 480 of file qgslegendmodel.cpp.

◆ updateRasterClassificationItem()

void QgsLegendModel::updateRasterClassificationItem ( QStandardItem classificationItem)
inline

Definition at line 80 of file qgslegendmodel.h.

◆ updateVectorV2ClassificationItem()

void QgsLegendModel::updateVectorV2ClassificationItem ( QStandardItem classificationItem,
QgsSymbolV2 symbol,
const QString itemText 
)
inline

Tries to update a single classification item.

Definition at line 78 of file qgslegendmodel.h.

◆ writeXML()

bool QgsLegendModel::writeXML ( QDomElement composerLegendElem,
QDomDocument doc 
) const

Definition at line 622 of file qgslegendmodel.cpp.

Member Data Documentation

◆ mAutoUpdate

bool QgsLegendModel::mAutoUpdate
protected

True if the legend is auto updated when layers are added or removed from the map canvas.

Definition at line 137 of file qgslegendmodel.h.

◆ mHasTopLevelWindow

bool QgsLegendModel::mHasTopLevelWindow
protected

True if this application has toplevel windows (normally true).

If this is false, this means that the application might not have a running x-server on unix systems and so QPixmap and QIcon cannot be used

Definition at line 134 of file qgslegendmodel.h.

◆ mLayerIds

QStringList QgsLegendModel::mLayerIds
protected

Definition at line 131 of file qgslegendmodel.h.


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