#include <qgslegendmodel.h>
Public Types | |
| enum | ItemType { GroupItem = 0, LayerItem, ClassificationItem } |
Public Slots | |
| void | removeLayer (const QString &layerId) |
| void | addLayer (QgsMapLayer *theMapLayer) |
Signals | |
| void | layersChanged () |
Public Member Functions | |
| QgsLegendModel () | |
| ~QgsLegendModel () | |
| void | setLayerSetAndGroups (const QStringList &layerIds, const QList< GroupLayerInfo > &groupInfo) |
| Sets layer set and groups. | |
| void | setLayerSet (const QStringList &layerIds) |
| QStandardItem * | addGroup (QString text=tr("Group"), int position=-1) |
| Adds a group to a toplevel position (or -1 if it should be placed at the end of the legend). | |
| void | updateItem (QStandardItem *item) |
| Tries to automatically update a model entry (e.g. | |
| void | updateLayer (QStandardItem *layerItem) |
| Updates the whole symbology of a layer. | |
| void | updateVectorClassificationItem (QStandardItem *classificationItem, QgsSymbol *symbol, QString itemText) |
| Tries to update a single classification item. | |
| void | updateVectorV2ClassificationItem (QStandardItem *classificationItem, QgsSymbolV2 *symbol, QString itemText) |
| void | updateRasterClassificationItem (QStandardItem *classificationItem) |
| bool | writeXML (QDomElement &composerLegendElem, QDomDocument &doc) const |
| bool | readXML (const QDomElement &legendModelElem, const QDomDocument &doc) |
| Qt::DropActions | supportedDropActions () const |
| Qt::ItemFlags | flags (const QModelIndex &index) const |
| virtual bool | removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) |
| Implemented to support drag operations. | |
| QMimeData * | mimeData (const QModelIndexList &indexes) const |
| For the drag operation. | |
| QStringList | mimeTypes () const |
| bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
| Implements the drop operation. | |
Protected Attributes | |
| QStringList | mLayerIds |
| bool | mHasTopLevelWindow |
| True if this application has toplevel windows (normally true). | |
Private Member Functions | |
| int | addVectorLayerItems (QStandardItem *layerItem, QgsVectorLayer *vlayer) |
| Adds classification items of vector layers. | |
| int | addVectorLayerItemsV2 (QStandardItem *layerItem, QgsVectorLayer *vlayer) |
| Adds classification items of vector layers using new symbology. | |
| int | addRasterLayerItem (QStandardItem *layerItem, QgsMapLayer *rlayer) |
| Adds item of raster layer. | |
| QStandardItem * | itemFromSymbol (QgsSymbol *s, int opacity, const QString &layerID) |
| Creates a model item for a vector symbol. | |
Definition at line 40 of file qgslegendmodel.h.
| QgsLegendModel::QgsLegendModel | ( | ) |
Definition at line 36 of file qgslegendmodel.cpp.
References addLayer(), QgsMapLayerRegistry::instance(), mHasTopLevelWindow, and removeLayer().
| QgsLegendModel::~QgsLegendModel | ( | ) |
Definition at line 49 of file qgslegendmodel.cpp.
| 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().
| void QgsLegendModel::setLayerSet | ( | const QStringList & | layerIds | ) |
Definition at line 102 of file qgslegendmodel.cpp.
References addLayer(), QgsMapLayerRegistry::instance(), QgsMapLayerRegistry::mapLayer(), and mLayerIds.
Referenced by setLayerSetAndGroups(), and QgsComposerLegend::updateLegend().
| QStandardItem * QgsLegendModel::addGroup | ( | QString | text = tr( "Group" ), |
|
| int | position = -1 | |||
| ) |
Adds a group to a toplevel position (or -1 if it should be placed at the end of the legend).
Returns a pointer to the added group
Definition at line 119 of file qgslegendmodel.cpp.
Referenced by setLayerSetAndGroups().
| 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 251 of file qgslegendmodel.cpp.
References QgsComposerLegendItem::itemType(), QgsComposerLegendItem::LayerItem, and updateLayer().
| void QgsLegendModel::updateLayer | ( | QStandardItem * | layerItem | ) |
Updates the whole symbology of a layer.
Definition at line 272 of file qgslegendmodel.cpp.
References addRasterLayerItem(), addVectorLayerItems(), addVectorLayerItemsV2(), QgsMapLayerRegistry::instance(), QgsVectorLayer::isUsingRendererV2(), QgsComposerLayerItem::layerID(), QgsMapLayerRegistry::mapLayer(), and QgsMapLayer::name().
Referenced by updateItem().
| void QgsLegendModel::updateVectorClassificationItem | ( | QStandardItem * | classificationItem, | |
| QgsSymbol * | symbol, | |||
| QString | itemText | |||
| ) | [inline] |
| void QgsLegendModel::updateVectorV2ClassificationItem | ( | QStandardItem * | classificationItem, | |
| QgsSymbolV2 * | symbol, | |||
| QString | itemText | |||
| ) | [inline] |
Definition at line 68 of file qgslegendmodel.h.
| void QgsLegendModel::updateRasterClassificationItem | ( | QStandardItem * | classificationItem | ) | [inline] |
Definition at line 69 of file qgslegendmodel.h.
| bool QgsLegendModel::writeXML | ( | QDomElement & | composerLegendElem, | |
| QDomDocument & | doc | |||
| ) | const |
Definition at line 454 of file qgslegendmodel.cpp.
References QgsComposerLegendItem::writeXML().
Referenced by QgsComposerLegend::writeXML().
| bool QgsLegendModel::readXML | ( | const QDomElement & | legendModelElem, | |
| const QDomDocument & | doc | |||
| ) |
Definition at line 480 of file qgslegendmodel.cpp.
References QgsComposerLegendItem::readXML().
Referenced by QgsComposerLegend::readXML().
| Qt::DropActions QgsLegendModel::supportedDropActions | ( | ) | const |
Definition at line 517 of file qgslegendmodel.cpp.
| Qt::ItemFlags QgsLegendModel::flags | ( | const QModelIndex & | index | ) | const |
Definition at line 522 of file qgslegendmodel.cpp.
References QgsComposerLegendItem::GroupItem, QgsComposerLegendItem::itemType(), and QgsComposerLegendItem::LayerItem.
| bool QgsLegendModel::removeRows | ( | int | row, | |
| int | count, | |||
| const QModelIndex & | parent = QModelIndex() | |||
| ) | [virtual] |
| QMimeData * QgsLegendModel::mimeData | ( | const QModelIndexList & | indexes | ) | const |
For the drag operation.
Definition at line 578 of file qgslegendmodel.cpp.
References QgsComposerLegendItem::writeXML().
| QStringList QgsLegendModel::mimeTypes | ( | ) | const |
Definition at line 603 of file qgslegendmodel.cpp.
| bool QgsLegendModel::dropMimeData | ( | const QMimeData * | data, | |
| Qt::DropAction | action, | |||
| int | row, | |||
| int | column, | |||
| const QModelIndex & | parent | |||
| ) |
Implements the drop operation.
Definition at line 610 of file qgslegendmodel.cpp.
References layersChanged(), and QgsComposerLegendItem::readXML().
| void QgsLegendModel::removeLayer | ( | const QString & | layerId | ) | [slot] |
Definition at line 312 of file qgslegendmodel.cpp.
References layersChanged().
Referenced by QgsLegendModel().
| void QgsLegendModel::addLayer | ( | QgsMapLayer * | theMapLayer | ) | [slot] |
Definition at line 335 of file qgslegendmodel.cpp.
References addRasterLayerItem(), addVectorLayerItems(), addVectorLayerItemsV2(), QgsMapLayer::getLayerID(), QgsVectorLayer::isUsingRendererV2(), layersChanged(), QgsMapLayer::name(), QgsMapLayer::RasterLayer, QgsComposerLayerItem::setLayerID(), QgsMapLayer::type(), and QgsMapLayer::VectorLayer.
Referenced by QgsLegendModel(), and setLayerSet().
| void QgsLegendModel::layersChanged | ( | ) | [signal] |
Referenced by addLayer(), dropMimeData(), and removeLayer().
| int QgsLegendModel::addVectorLayerItems | ( | QStandardItem * | layerItem, | |
| QgsVectorLayer * | vlayer | |||
| ) | [private] |
Adds classification items of vector layers.
Definition at line 166 of file qgslegendmodel.cpp.
References QgsVectorLayer::attributeDisplayName(), QgsRenderer::classificationAttributes(), ClassificationItem, QgsMapLayer::getLayerID(), QgsMapLayer::getTransparency(), itemFromSymbol(), QgsVectorLayer::pendingFields(), QgsVectorLayer::renderer(), and QgsRenderer::symbols().
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 133 of file qgslegendmodel.cpp.
References QgsFeatureRendererV2::legendSymbolItems(), mHasTopLevelWindow, QgsVectorLayer::rendererV2(), QgsComposerSymbolV2Item::setSymbolV2(), and QgsSymbolLayerV2Utils::symbolPreviewIcon().
Referenced by addLayer(), and updateLayer().
| int QgsLegendModel::addRasterLayerItem | ( | QStandardItem * | layerItem, | |
| QgsMapLayer * | rlayer | |||
| ) | [private] |
Adds item of raster layer.
Definition at line 225 of file qgslegendmodel.cpp.
References QgsMapLayer::getLayerID(), QgsRasterLayer::legendAsPixmap(), mHasTopLevelWindow, and QgsComposerRasterSymbolItem::setLayerID().
Referenced by addLayer(), and updateLayer().
| QStandardItem * QgsLegendModel::itemFromSymbol | ( | QgsSymbol * | s, | |
| int | opacity, | |||
| const QString & | layerID | |||
| ) | [private] |
Creates a model item for a vector symbol.
The calling function takes ownership
Definition at line 375 of file qgslegendmodel.cpp.
References QgsSymbol::getLineSymbolAsImage(), QgsSymbol::getPointSymbolAsImage(), QgsSymbol::getPolygonSymbolAsImage(), QgsSymbol::label(), QGis::Line, QgsSymbol::lowerValue(), mHasTopLevelWindow, QGis::Point, QGis::Polygon, QgsComposerSymbolItem::setLayerID(), QgsComposerSymbolItem::setSymbol(), QgsSymbol::type(), and QgsSymbol::upperValue().
Referenced by addVectorLayerItems().
QStringList QgsLegendModel::mLayerIds [protected] |
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 114 of file qgslegendmodel.h.
Referenced by addRasterLayerItem(), addVectorLayerItemsV2(), itemFromSymbol(), and QgsLegendModel().
1.5.6