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

Public Types

enum  ItemType { GroupItem = 0, LayerItem, ClassificationItem }

Public Slots

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

Signals

void layersChanged ()

Public Member Functions

 QgsLegendModel ()
 ~QgsLegendModel ()
void setLayerSetAndGroups (QgsLayerTreeGroup *rootGroup)
 Set layers and groups from a layer tree.
Q_DECL_DEPRECATED void setLayerSetAndGroups (const QStringList &layerIds, const QList< GroupLayerInfo > &groupInfo)
 Sets layer set and groups.
void setLayerSet (const QStringList &layerIds, double scaleDenominator=-1, QString rule="")
QStandardItem * addGroup (QString text=QString::null, int position=-1, QStandardItem *parentItem=0)
 Adds a group.
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 updateVectorV2ClassificationItem (QStandardItem *classificationItem, QgsSymbolV2 *symbol, QString itemText)
 Tries to update a single classification item.
void updateRasterClassificationItem (QStandardItem *classificationItem)
void updateItemText (QStandardItem *item)
 Update single item text using item userText and other properties like showFeatureCount.
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.
void setAutoUpdate (bool autoUpdate)
bool autoUpdate ()

Protected Attributes

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

Detailed Description

A model that provides group, layer and classification items.

Member Enumeration Documentation

Enumerator:
GroupItem 
LayerItem 
ClassificationItem 

Constructor & Destructor Documentation

QgsLegendModel::QgsLegendModel ( )
QgsLegendModel::~QgsLegendModel ( )

Member Function Documentation

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

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
void QgsLegendModel::addLayer ( QgsMapLayer theMapLayer,
double  scaleDenominator = -1,
QString  rule = "",
QStandardItem *  parentItem = 0 
)
slot
bool QgsLegendModel::autoUpdate ( )
inline
bool QgsLegendModel::dropMimeData ( const QMimeData *  data,
Qt::DropAction  action,
int  row,
int  column,
const QModelIndex &  parent 
)

Implements the drop operation.

Qt::ItemFlags QgsLegendModel::flags ( const QModelIndex &  index) const
void QgsLegendModel::layersChanged ( )
signal
QMimeData * QgsLegendModel::mimeData ( const QModelIndexList &  indexes) const

For the drag operation.

QStringList QgsLegendModel::mimeTypes ( ) const
bool QgsLegendModel::readXML ( const QDomElement &  legendModelElem,
const QDomDocument &  doc 
)
void QgsLegendModel::removeLayer ( const QString &  layerId)
slot
bool QgsLegendModel::removeRows ( int  row,
int  count,
const QModelIndex &  parent = QModelIndex() 
)
virtual

Implemented to support drag operations.

void QgsLegendModel::setAutoUpdate ( bool  autoUpdate)
void QgsLegendModel::setLayerSet ( const QStringList &  layerIds,
double  scaleDenominator = -1,
QString  rule = "" 
)
void QgsLegendModel::setLayerSetAndGroups ( QgsLayerTreeGroup rootGroup)

Set layers and groups from a layer tree.

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

Sets layer set and groups.

Deprecated:
in 2.6
Qt::DropActions QgsLegendModel::supportedDropActions ( ) const
void QgsLegendModel::updateItem ( QStandardItem *  item)

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

a whole layer or only a single item)

void QgsLegendModel::updateItemText ( QStandardItem *  item)

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

void QgsLegendModel::updateLayer ( QStandardItem *  layerItem)

Updates the whole symbology of a layer.

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

Tries to update a single classification item.

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

Member Data Documentation

bool QgsLegendModel::mAutoUpdate
protected

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

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

QStringList QgsLegendModel::mLayerIds
protected

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