|
QGIS API Documentation
master-59fd5e0
|
A model that provides group, layer and classification items. More...
#include <qgslegendmodel.h>
Public Types | |
| enum | ItemType { GroupItem = 0, LayerItem, ClassificationItem } |
Public Slots | |
| void | addLayer (QgsMapLayer *theMapLayer) |
| void | removeLayer (const QString &layerId) |
Signals | |
| void | layersChanged () |
Public Member Functions | |
| QgsLegendModel () | |
| ~QgsLegendModel () | |
| QStandardItem * | addGroup (QString text=QString::null, int position=-1) |
| Adds a group. | |
| bool | autoUpdate () |
| bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
| Implements the drop operation. | |
| Qt::ItemFlags | flags (const QModelIndex &index) const |
| QMimeData * | mimeData (const QModelIndexList &indexes) const |
| For the drag operation. | |
| QStringList | mimeTypes () const |
| bool | readXML (const QDomElement &legendModelElem, const QDomDocument &doc) |
| virtual bool | removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) |
| Implemented to support drag operations. | |
| void | setAutoUpdate (bool autoUpdate) |
| void | setLayerSet (const QStringList &layerIds) |
| void | setLayerSetAndGroups (const QStringList &layerIds, const QList< GroupLayerInfo > &groupInfo) |
| Sets layer set and groups. | |
| Qt::DropActions | supportedDropActions () const |
| void | updateItem (QStandardItem *item) |
| Tries to automatically update a model entry (e.g. | |
| void | updateItemText (QStandardItem *item) |
| Update single item text using item userText and other properties like showFeatureCount. | |
| void | updateLayer (QStandardItem *layerItem) |
| Updates the whole symbology of a layer. | |
| void | updateRasterClassificationItem (QStandardItem *classificationItem) |
| void | updateVectorV2ClassificationItem (QStandardItem *classificationItem, QgsSymbolV2 *symbol, QString itemText) |
| Tries to update a single classification item. | |
| bool | writeXML (QDomElement &composerLegendElem, QDomDocument &doc) const |
Protected Attributes | |
| bool | mAutoUpdate |
| True if the legend is auto updated when layers are added or removed from the map canvas. | |
| bool | mHasTopLevelWindow |
| True if this application has toplevel windows (normally true). | |
| QStringList | mLayerIds |
Private Member Functions | |
| int | addRasterLayerItems (QStandardItem *layerItem, QgsMapLayer *rlayer) |
| Adds item of raster layer. | |
| int | addVectorLayerItemsV2 (QStandardItem *layerItem, QgsVectorLayer *vlayer) |
| Adds classification items of vector layers using new symbology. | |
| void | updateLayerItemText (QStandardItem *layerItem) |
| void | updateRasterSymbolItemText (QStandardItem *symbolItem) |
| void | updateSymbolV2ItemText (QStandardItem *symbolItem) |
A model that provides group, layer and classification items.
Definition at line 39 of file qgslegendmodel.h.
Definition at line 45 of file qgslegendmodel.h.
Definition at line 35 of file qgslegendmodel.cpp.
References addLayer(), QgsMapLayerRegistry::instance(), mHasTopLevelWindow, and removeLayer().
Definition at line 49 of file qgslegendmodel.cpp.
| QStandardItem * QgsLegendModel::addGroup | ( | QString | text = QString::null, |
| int | position = -1 |
||
| ) |
Adds a group.
| text | name of group (defaults to translation of "Group") |
| position | insertion position (toplevel position (or -1 if it should be placed at the end of the legend). |
Definition at line 118 of file qgslegendmodel.cpp.
References layersChanged(), QgsComposerLegendItem::setUserText(), and tr.
Referenced by setLayerSetAndGroups().
| void QgsLegendModel::addLayer | ( | QgsMapLayer * | theMapLayer | ) | [slot] |
Definition at line 435 of file qgslegendmodel.cpp.
References addRasterLayerItems(), addVectorLayerItemsV2(), QgsMapLayer::id(), layersChanged(), QgsMapLayer::name(), QgsMapLayer::RasterLayer, QgsComposerLayerItem::setDefaultStyle(), QgsComposerLayerItem::setLayerID(), QgsComposerLegendItem::setUserText(), QgsMapLayer::title(), QgsMapLayer::type(), and QgsMapLayer::VectorLayer.
Referenced by QgsLegendModel(), setAutoUpdate(), and setLayerSet().
| int QgsLegendModel::addRasterLayerItems | ( | QStandardItem * | layerItem, |
| QgsMapLayer * | rlayer | ||
| ) | [private] |
Adds item of raster layer.
Definition at line 201 of file qgslegendmodel.cpp.
References QgsMapLayer::id(), QgsRasterLayer::legendSymbologyItems(), mHasTopLevelWindow, QgsComposerRasterSymbolItem::setColor(), QgsComposerRasterSymbolItem::setLayerID(), QgsComposerLegendItem::setUserText(), and QgsComposerLegendItem::userText().
Referenced by addLayer(), and updateLayer().
| int QgsLegendModel::addVectorLayerItemsV2 | ( | QStandardItem * | layerItem, |
| QgsVectorLayer * | vlayer | ||
| ) | [private] |
Adds classification items of vector layers using new symbology.
Definition at line 138 of file qgslegendmodel.cpp.
References QgsVectorLayer::countSymbolFeatures(), QgsFeatureRendererV2::legendSymbolItems(), mHasTopLevelWindow, QgsDebugMsg, QgsVectorLayer::rendererV2(), QgsComposerSymbolV2Item::setSymbolV2(), QgsComposerLegendItem::setUserText(), QgsComposerLayerItem::showFeatureCount(), QgsSymbolLayerV2Utils::symbolPreviewIcon(), updateSymbolV2ItemText(), and QgsComposerLegendItem::userText().
Referenced by addLayer(), and updateLayer().
| bool QgsLegendModel::autoUpdate | ( | ) | [inline] |
Definition at line 96 of file qgslegendmodel.h.
Referenced by setAutoUpdate().
| bool QgsLegendModel::dropMimeData | ( | const QMimeData * | data, |
| Qt::DropAction | action, | ||
| int | row, | ||
| int | column, | ||
| const QModelIndex & | parent | ||
| ) |
Implements the drop operation.
Definition at line 664 of file qgslegendmodel.cpp.
References layersChanged(), and QgsComposerLegendItem::readXML().
| Qt::ItemFlags QgsLegendModel::flags | ( | const QModelIndex & | index | ) | const |
Definition at line 553 of file qgslegendmodel.cpp.
References QgsComposerLegendItem::GroupItem, QgsComposerLegendItem::itemType(), QgsComposerLegendItem::LayerItem, and LayerItem.
| void QgsLegendModel::layersChanged | ( | ) | [signal] |
Referenced by addGroup(), addLayer(), dropMimeData(), and removeLayer().
| QMimeData * QgsLegendModel::mimeData | ( | const QModelIndexList & | indexes | ) | const |
For the drag operation.
Definition at line 632 of file qgslegendmodel.cpp.
References QgsComposerLegendItem::writeXML().
| QStringList QgsLegendModel::mimeTypes | ( | ) | const |
Definition at line 657 of file qgslegendmodel.cpp.
| bool QgsLegendModel::readXML | ( | const QDomElement & | legendModelElem, |
| const QDomDocument & | doc | ||
| ) |
Definition at line 504 of file qgslegendmodel.cpp.
References mHasTopLevelWindow, QgsComposerLegendItem::readXML(), and setAutoUpdate().
Referenced by QgsComposerLegend::readXML().
| void QgsLegendModel::removeLayer | ( | const QString & | layerId | ) | [slot] |
Definition at line 415 of file qgslegendmodel.cpp.
References QgsComposerLayerItem::layerID(), and layersChanged().
Referenced by QgsLegendModel(), and setAutoUpdate().
| bool QgsLegendModel::removeRows | ( | int | row, |
| int | count, | ||
| const QModelIndex & | parent = QModelIndex() |
||
| ) | [virtual] |
Implemented to support drag operations.
Definition at line 604 of file qgslegendmodel.cpp.
| void QgsLegendModel::setAutoUpdate | ( | bool | autoUpdate | ) |
Definition at line 739 of file qgslegendmodel.cpp.
References addLayer(), autoUpdate(), QgsMapLayerRegistry::instance(), mAutoUpdate, and removeLayer().
Referenced by readXML().
| void QgsLegendModel::setLayerSet | ( | const QStringList & | layerIds | ) |
Definition at line 101 of file qgslegendmodel.cpp.
References addLayer(), QgsMapLayerRegistry::instance(), QgsMapLayerRegistry::mapLayer(), and mLayerIds.
Referenced by setLayerSetAndGroups(), and QgsComposerLegend::updateLegend().
| void QgsLegendModel::setLayerSetAndGroups | ( | const QStringList & | layerIds, |
| const QList< GroupLayerInfo > & | groupInfo | ||
| ) |
Sets layer set and groups.
Definition at line 53 of file qgslegendmodel.cpp.
References addGroup(), QgsComposerLayerItem::layerID(), and setLayerSet().
| Qt::DropActions QgsLegendModel::supportedDropActions | ( | ) | const |
Definition at line 548 of file qgslegendmodel.cpp.
| 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 308 of file qgslegendmodel.cpp.
References QgsComposerLegendItem::itemType(), QgsComposerLegendItem::LayerItem, and updateLayer().
| void QgsLegendModel::updateItemText | ( | QStandardItem * | item | ) |
Update single item text using item userText and other properties like showFeatureCount.
Definition at line 329 of file qgslegendmodel.cpp.
References updateLayerItemText(), updateRasterSymbolItemText(), updateSymbolV2ItemText(), and QgsComposerLegendItem::userText().
| void QgsLegendModel::updateLayer | ( | QStandardItem * | layerItem | ) |
Updates the whole symbology of a layer.
Definition at line 368 of file qgslegendmodel.cpp.
References addRasterLayerItems(), addVectorLayerItemsV2(), QgsMapLayerRegistry::instance(), QgsComposerLayerItem::layerID(), QgsMapLayerRegistry::mapLayer(), QgsDebugMsg, and updateLayerItemText().
Referenced by updateItem().
| void QgsLegendModel::updateLayerItemText | ( | QStandardItem * | layerItem | ) | [private] |
Definition at line 395 of file qgslegendmodel.cpp.
References QgsVectorLayer::featureCount(), QgsMapLayerRegistry::instance(), QgsComposerLayerItem::layerID(), QgsMapLayerRegistry::mapLayer(), QgsMapLayer::name(), QgsComposerLayerItem::showFeatureCount(), and QgsComposerLegendItem::userText().
Referenced by updateItemText(), and updateLayer().
| void QgsLegendModel::updateRasterClassificationItem | ( | QStandardItem * | classificationItem | ) | [inline] |
Definition at line 72 of file qgslegendmodel.h.
| void QgsLegendModel::updateRasterSymbolItemText | ( | QStandardItem * | symbolItem | ) | [private] |
Definition at line 287 of file qgslegendmodel.cpp.
References QgsMapLayerRegistry::instance(), QgsComposerLayerItem::layerID(), QgsRasterLayer::legendSymbologyItems(), QgsMapLayerRegistry::mapLayer(), and QgsComposerLegendItem::userText().
Referenced by updateItemText().
| void QgsLegendModel::updateSymbolV2ItemText | ( | QStandardItem * | symbolItem | ) | [private] |
Definition at line 250 of file qgslegendmodel.cpp.
References QgsVectorLayer::countSymbolFeatures(), QgsVectorLayer::featureCount(), QgsMapLayerRegistry::instance(), QgsComposerLayerItem::layerID(), QgsFeatureRendererV2::legendSymbolItems(), QgsMapLayerRegistry::mapLayer(), QgsVectorLayer::rendererV2(), QgsComposerLayerItem::showFeatureCount(), and QgsComposerLegendItem::userText().
Referenced by addVectorLayerItemsV2(), and updateItemText().
| void QgsLegendModel::updateVectorV2ClassificationItem | ( | QStandardItem * | classificationItem, |
| QgsSymbolV2 * | symbol, | ||
| QString | itemText | ||
| ) | [inline] |
Tries to update a single classification item.
Definition at line 70 of file qgslegendmodel.h.
| bool QgsLegendModel::writeXML | ( | QDomElement & | composerLegendElem, |
| QDomDocument & | doc | ||
| ) | const |
Definition at line 477 of file qgslegendmodel.cpp.
References mAutoUpdate, and QgsComposerLegendItem::writeXML().
Referenced by QgsComposerLegend::writeXML().
bool QgsLegendModel::mAutoUpdate [protected] |
True if the legend is auto updated when layers are added or removed from the map canvas.
Definition at line 125 of file qgslegendmodel.h.
Referenced by setAutoUpdate(), and writeXML().
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 122 of file qgslegendmodel.h.
Referenced by addRasterLayerItems(), addVectorLayerItemsV2(), QgsLegendModel(), and readXML().
QStringList QgsLegendModel::mLayerIds [protected] |
Definition at line 119 of file qgslegendmodel.h.
Referenced by setLayerSet().