QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
The QgsLayerTreeModel class is model implementation for Qt item views framework. More...
#include <qgslayertreemodel.h>
Classes | |
struct | LayerLegendData |
Structure that stores all data associated with one map layer. More... | |
struct | LayerLegendTree |
Structure that stores tree representation of map layer's legend. More... | |
Public Types | |
enum | Flag { ShowLegend = 0x0001, ShowSymbology = 0x0001, ShowRasterPreviewIcon = 0x0002, ShowLegendAsTree = 0x0004, DeferredLegendInvalidation = 0x0008, UseEmbeddedWidgets = 0x0010, AllowNodeReorder = 0x1000, AllowNodeRename = 0x2000, AllowNodeChangeVisibility = 0x4000, AllowLegendChangeState = 0x8000, AllowSymbologyChangeState = 0x8000 } |
Public Member Functions | |
QgsLayerTreeModel (QgsLayerTreeGroup *rootNode, QObject *parent=nullptr) | |
Construct a new tree model with given layer tree (root node must not be null pointer). More... | |
~QgsLayerTreeModel () | |
int | autoCollapseLegendNodes () const |
Return at what number of legend nodes the layer node should be collapsed. -1 means no auto-collapse (default). More... | |
Q_DECL_DEPRECATED int | autoCollapseSymbologyNodes () const |
int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
QModelIndex | currentIndex () const |
Get index of the item marked as current. Item marked as current is underlined. More... | |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
QgsLayerTreeModelLegendNode * | findLegendNode (const QString &layerId, const QString &ruleKey) const |
Searches through the layer tree to find a legend node with a matching layer ID and rule key. More... | |
Qt::ItemFlags | flags (const QModelIndex &index) const override |
Flags | flags () const |
Return OR-ed combination of model flags. More... | |
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
QgsLayerTreeNode * | index2node (const QModelIndex &index) const |
Return layer tree node for given index. More... | |
QList< QgsLayerTreeNode * > | indexes2nodes (const QModelIndexList &list, bool skipInternal=false) const |
Convert a list of indexes to a list of layer tree nodes. More... | |
Q_DECL_DEPRECATED bool | isIndexSymbologyNode (const QModelIndex &index) const |
Return true if index represents a legend node (instead of layer node) More... | |
QList< QgsLayerTreeModelLegendNode * > | layerLegendNodes (QgsLayerTreeLayer *nodeLayer, bool skipNodeEmbeddedInParent=false) |
Return filtered list of active legend nodes attached to a particular layer node (by default it returns also legend node embedded in parent layer node (if any) unless skipNodeEmbeddedInParent is true) More... | |
Q_DECL_DEPRECATED QgsLayerTreeLayer * | layerNodeForSymbologyNode (const QModelIndex &index) const |
Return layer node to which a legend node belongs to. More... | |
QList< QgsLayerTreeModelLegendNode * > | layerOriginalLegendNodes (QgsLayerTreeLayer *nodeLayer) |
Return original (unfiltered) list of legend nodes attached to a particular layer node. More... | |
QMap< QString, QString > | layerStyleOverrides () const |
Get map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one. More... | |
QFont | layerTreeNodeFont (int nodeType) const |
Get font for a particular type of layer tree node. nodeType should come from QgsLayerTreeNode::NodeType enumeration. More... | |
Q_DECL_DEPRECATED const QgsMapSettings * | legendFilterByMap () const |
Returns the current map settings used for legend filtering. More... | |
double | legendFilterByScale () const |
const QgsMapSettings * | legendFilterMapSettings () const |
Returns the current map settings used for the current legend filter (or null if none is enabled) More... | |
void | legendMapViewData (double *mapUnitsPerPixel, int *dpi, double *scale) |
Get hints about map view - to be used in legend nodes. More... | |
QModelIndex | legendNode2index (QgsLayerTreeModelLegendNode *legendNode) |
Return index for a given legend node. More... | |
QgsLayerTreeModelLegendNode * | legendNodeEmbeddedInParent (QgsLayerTreeLayer *nodeLayer) const |
Return legend node that may be embbeded in parent (i.e. More... | |
QMimeData * | mimeData (const QModelIndexList &indexes) const override |
QStringList | mimeTypes () const override |
QModelIndex | node2index (QgsLayerTreeNode *node) const |
Return index for a given node. If the node does not belong to the layer tree, the result is undefined. More... | |
QModelIndex | parent (const QModelIndex &child) const override |
void | refreshLayerLegend (QgsLayerTreeLayer *nodeLayer) |
Force a refresh of legend nodes of a layer node. More... | |
Q_DECL_DEPRECATED void | refreshLayerSymbology (QgsLayerTreeLayer *nodeLayer) |
bool | removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) override |
QgsLayerTreeGroup * | rootGroup () const |
Return pointer to the root node of the layer tree. Always a non-null pointer. More... | |
int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
void | setAutoCollapseLegendNodes (int nodeCount) |
Set at what number of legend nodes the layer node should be collapsed. Setting -1 disables the auto-collapse (default). More... | |
Q_DECL_DEPRECATED void | setAutoCollapseSymbologyNodes (int nodeCount) |
void | setCurrentIndex (const QModelIndex ¤tIndex) |
Set index of the current item. May be used by view. Item marked as current is underlined. More... | |
bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override |
void | setFlag (Flag f, bool on=true) |
Enable or disable a model flag. More... | |
void | setFlags (const QgsLayerTreeModel::Flags &f) |
Set OR-ed combination of model flags. More... | |
void | setLayerStyleOverrides (const QMap< QString, QString > &overrides) |
Set map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one. More... | |
void | setLayerTreeNodeFont (int nodeType, const QFont &font) |
Set font for a particular type of layer tree node. nodeType should come from QgsLayerTreeNode::NodeType enumeration. More... | |
void | setLegendFilter (const QgsMapSettings *settings, bool useExtent=true, const QgsGeometry &polygon=QgsGeometry(), bool useExpressions=true) |
Filter display of legend nodes for given map settings. More... | |
void | setLegendFilterByMap (const QgsMapSettings *settings) |
Force only display of legend nodes which are valid for given map settings. More... | |
void | setLegendFilterByScale (double scaleDenominator) |
Force only display of legend nodes which are valid for given scale denominator. More... | |
void | setLegendMapViewData (double mapUnitsPerPixel, int dpi, double scale) |
Give the layer tree model hints about the currently associated map view so that legend nodes that use map units can be scaled currectly. More... | |
void | setRootGroup (QgsLayerTreeGroup *newRootGroup) |
Reset the model and use a new root group node. More... | |
Qt::DropActions | supportedDropActions () const override |
bool | testFlag (Flag f) const |
Check whether a flag is enabled. 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 |
virtual QVariant | headerData (int section, Qt::Orientation orientation, int role) 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, QVariant > | itemData (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) |
QObject * | child (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< QByteArray > | dynamicPropertyNames () const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name) const |
QList< T > | findChildren (const QRegExp ®Exp) 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 QMetaObject * | metaObject () const |
void | moveToThread (QThread *targetThread) |
const char * | name () const |
const char * | name (const char *defaultName) const |
QString | objectName () const |
QObject * | parent () 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) |
QThread * | thread () const |
Static Public Member Functions | |
static QgsLayerTreeModelLegendNode * | index2legendNode (const QModelIndex &index) |
Return legend node for given index. More... | |
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 Slots | |
void | invalidateLegendMapBasedData () |
void | layerLegendChanged () |
void | layerNeedsUpdate () |
void | legendNodeDataChanged () |
void | nodeAddedChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo) |
void | nodeCustomPropertyChanged (QgsLayerTreeNode *node, const QString &key) |
void | nodeLayerLoaded () |
void | nodeLayerWillBeUnloaded () |
void | nodeNameChanged (QgsLayerTreeNode *node, const QString &name) |
Updates model when node's name has changed. More... | |
void | nodeRemovedChildren () |
void | nodeVisibilityChanged (QgsLayerTreeNode *node) |
void | nodeWillAddChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo) |
void | nodeWillRemoveChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo) |
Protected Member Functions | |
void | addLegendToLayer (QgsLayerTreeLayer *nodeL) |
void | connectToLayer (QgsLayerTreeLayer *nodeLayer) |
void | connectToLayers (QgsLayerTreeGroup *parentGroup) |
void | connectToRootNode () |
void | disconnectFromLayer (QgsLayerTreeLayer *nodeLayer) |
void | disconnectFromLayers (QgsLayerTreeGroup *parentGroup) |
void | disconnectFromRootNode () |
QList< QgsLayerTreeModelLegendNode * > | filterLegendNodes (const QList< QgsLayerTreeModelLegendNode *> &nodes) |
Filter nodes from QgsMapLayerLegend according to the current filtering rules. More... | |
QModelIndex | indexOfParentLayerTreeNode (QgsLayerTreeNode *parentNode) const |
void | legendCleanup () |
bool | legendEmbeddedInParent (QgsLayerTreeLayer *nodeLayer) const |
QIcon | legendIconEmbeddedInParent (QgsLayerTreeLayer *nodeLayer) const |
void | legendInvalidateMapBasedData () |
QVariant | legendNodeData (QgsLayerTreeModelLegendNode *node, int role) const |
Qt::ItemFlags | legendNodeFlags (QgsLayerTreeModelLegendNode *node) const |
QModelIndex | legendNodeIndex (int row, int column, QgsLayerTreeModelLegendNode *node) const |
int | legendNodeRowCount (QgsLayerTreeModelLegendNode *node) const |
QModelIndex | legendParent (QgsLayerTreeModelLegendNode *legendNode) const |
QModelIndex | legendRootIndex (int row, int column, QgsLayerTreeLayer *nL) const |
int | legendRootRowCount (QgsLayerTreeLayer *nL) const |
void | recursivelyEmitDataChanged (const QModelIndex &index=QModelIndex()) |
emit dataChanged() for layer tree node items More... | |
void | refreshScaleBasedLayers (const QModelIndex &index=QModelIndex()) |
Updates layer data for scale dependent layers, should be called when map scale changes. More... | |
void | removeLegendFromLayer (QgsLayerTreeLayer *nodeLayer) |
LayerLegendTree * | tryBuildLegendTree (const QList< QgsLayerTreeModelLegendNode *> &nodes) |
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 |
QObject * | sender () const |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *event) |
Static Protected Member Functions | |
static const QIcon & | iconGroup () |
Static Protected Member Functions inherited from QObject | |
QByteArray | normalizeSignalSlot (const char *signalSlot) |
Protected Attributes | |
int | mAutoCollapseLegendNodesCount |
Minimal number of nodes when legend should be automatically collapsed. -1 = disabled. More... | |
QPersistentModelIndex | mCurrentIndex |
Current index - will be underlined. More... | |
QTimer | mDeferLegendInvalidationTimer |
Flags | mFlags |
Set of flags for the model. More... | |
QFont | mFontGroup |
QFont | mFontLayer |
QMap< QString, QString > | mLayerStyleOverrides |
Overrides of map layers' styles: key = layer ID, value = style XML. More... | |
QMap< QgsLayerTreeLayer *, LayerLegendData > | mLegend |
Per layer data about layer's legend nodes. More... | |
double | mLegendFilterByScale |
scale denominator for filtering of legend nodes (<= 0 means no filtering) More... | |
QScopedPointer< QgsMapHitTest > | mLegendFilterHitTest |
QScopedPointer< QgsMapSettings > | mLegendFilterMapSettings |
bool | mLegendFilterUsesExtent |
whether to use map filtering More... | |
int | mLegendMapViewDpi |
double | mLegendMapViewMupp |
double | mLegendMapViewScale |
QgsLayerTreeGroup * | mRootNode |
Pointer to the root node of the layer tree. Not owned by the model. More... | |
Additional Inherited Members | |
Properties inherited from QObject | |
objectName | |
The QgsLayerTreeModel class is model implementation for Qt item views framework.
The model can be used in any QTreeView, it is however recommended to use it with QgsLayerTreeView which brings additional functionality specific to layer tree handling.
The model listens to the changes in the layer tree and signals the changes as appropriate, so that any view that uses the model is updated accordingly.
Behavior of the model can be customized with flags. For example, whether to show legend or whether to allow changes to the layer tree.
Definition at line 49 of file qgslayertreemodel.h.
Enumerator | |
---|---|
ShowLegend | Add legend nodes for layer nodes. |
ShowSymbology | deprecated - use ShowLegend |
ShowRasterPreviewIcon | Will use real preview of raster layer as icon (may be slow) |
ShowLegendAsTree | For legends that support it, will show them in a tree instead of a list (needs also ShowLegend). Added in 2.8. |
DeferredLegendInvalidation | defer legend model invalidation |
UseEmbeddedWidgets | Layer nodes may optionally include extra embedded widgets (if used in QgsLayerTreeView). Added in 2.16. |
AllowNodeReorder | Allow reordering with drag'n'drop. |
AllowNodeRename | Allow renaming of groups and layers. |
AllowNodeChangeVisibility | Allow user to set node visibility with a check box. |
AllowLegendChangeState | Allow check boxes for legend nodes (if supported by layer's legend) |
AllowSymbologyChangeState | deprecated - use AllowLegendChangeState |
Definition at line 75 of file qgslayertreemodel.h.
|
explicit |
Construct a new tree model with given layer tree (root node must not be null pointer).
The root node is not transferred by the model.
Definition at line 65 of file qgslayertreemodel.cpp.
QgsLayerTreeModel::~QgsLayerTreeModel | ( | ) |
Definition at line 84 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1208 of file qgslayertreemodel.cpp.
|
inline |
Return at what number of legend nodes the layer node should be collapsed. -1 means no auto-collapse (default).
Definition at line 169 of file qgslayertreemodel.h.
|
inline |
Definition at line 226 of file qgslayertreemodel.h.
|
override |
Definition at line 119 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 855 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 932 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 954 of file qgslayertreemodel.cpp.
QModelIndex QgsLayerTreeModel::currentIndex | ( | ) | const |
Get index of the item marked as current. Item marked as current is underlined.
Definition at line 560 of file qgslayertreemodel.cpp.
|
override |
Definition at line 184 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 913 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 943 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 970 of file qgslayertreemodel.cpp.
|
overridevirtual |
Reimplemented from QAbstractItemModel.
Definition at line 1047 of file qgslayertreemodel.cpp.
|
protected |
Filter nodes from QgsMapLayerLegend according to the current filtering rules.
Definition at line 1139 of file qgslayertreemodel.cpp.
QgsLayerTreeModelLegendNode * QgsLayerTreeModel::findLegendNode | ( | const QString & | layerId, |
const QString & | ruleKey | ||
) | const |
Searches through the layer tree to find a legend node with a matching layer ID and rule key.
layerId | map layer ID |
ruleKey | legend node rule key |
Definition at line 1484 of file qgslayertreemodel.cpp.
|
overridevirtual |
Reimplemented from QAbstractItemModel.
Definition at line 351 of file qgslayertreemodel.cpp.
QgsLayerTreeModel::Flags QgsLayerTreeModel::flags | ( | ) | const |
Return OR-ed combination of model flags.
Definition at line 1119 of file qgslayertreemodel.cpp.
|
staticprotected |
Definition at line 1129 of file qgslayertreemodel.cpp.
|
override |
Definition at line 125 of file qgslayertreemodel.cpp.
|
static |
Return legend node for given index.
Returns null for invalid index
Definition at line 1330 of file qgslayertreemodel.cpp.
QgsLayerTreeNode * QgsLayerTreeModel::index2node | ( | const QModelIndex & | index | ) | const |
Return layer tree node for given index.
Returns root node for invalid index. Returns null pointer if index does not refer to a layer tree node (e.g. it is a legend node)
Definition at line 89 of file qgslayertreemodel.cpp.
QList< QgsLayerTreeNode * > QgsLayerTreeModel::indexes2nodes | ( | const QModelIndexList & | list, |
bool | skipInternal = false |
||
) | const |
Convert a list of indexes to a list of layer tree nodes.
Indices that do not represent layer tree nodes are skipped.
Definition at line 483 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 169 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 1514 of file qgslayertreemodel.cpp.
bool QgsLayerTreeModel::isIndexSymbologyNode | ( | const QModelIndex & | index | ) | const |
Return true if index represents a legend node (instead of layer node)
Definition at line 509 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 809 of file qgslayertreemodel.cpp.
QList< QgsLayerTreeModelLegendNode * > QgsLayerTreeModel::layerLegendNodes | ( | QgsLayerTreeLayer * | nodeLayer, |
bool | skipNodeEmbeddedInParent = false |
||
) |
Return filtered list of active legend nodes attached to a particular layer node (by default it returns also legend node embedded in parent layer node (if any) unless skipNodeEmbeddedInParent is true)
Definition at line 1467 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 825 of file qgslayertreemodel.cpp.
QgsLayerTreeLayer * QgsLayerTreeModel::layerNodeForSymbologyNode | ( | const QModelIndex & | index | ) | const |
Return layer node to which a legend node belongs to.
Returns null pointer if index is not a legend node.
Definition at line 514 of file qgslayertreemodel.cpp.
QList< QgsLayerTreeModelLegendNode * > QgsLayerTreeModel::layerOriginalLegendNodes | ( | QgsLayerTreeLayer * | nodeLayer | ) |
Return original (unfiltered) list of legend nodes attached to a particular layer node.
Definition at line 1479 of file qgslayertreemodel.cpp.
Get map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one.
Definition at line 705 of file qgslayertreemodel.cpp.
QFont QgsLayerTreeModel::layerTreeNodeFont | ( | int | nodeType | ) | const |
Get font for a particular type of layer tree node. nodeType should come from QgsLayerTreeNode::NodeType enumeration.
Definition at line 602 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1186 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1447 of file qgslayertreemodel.cpp.
|
inline |
Returns the current map settings used for legend filtering.
Definition at line 193 of file qgslayertreemodel.h.
|
inline |
Definition at line 175 of file qgslayertreemodel.h.
|
inline |
Returns the current map settings used for the current legend filter (or null if none is enabled)
Definition at line 197 of file qgslayertreemodel.h.
|
protected |
Definition at line 1458 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1506 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::legendMapViewData | ( | double * | mapUnitsPerPixel, |
int * | dpi, | ||
double * | scale | ||
) |
Get hints about map view - to be used in legend nodes.
Arguments that are not null will receive values. If there are no valid map view data (from previous call to setLegendMapViewData()), returned values are zeros.
Definition at line 698 of file qgslayertreemodel.cpp.
QModelIndex QgsLayerTreeModel::legendNode2index | ( | QgsLayerTreeModelLegendNode * | legendNode | ) |
Return index for a given legend node.
If the legend node does not belong to the layer tree, the result is undefined. If the legend node is belongs to the tree but it is filtered out, invalid model index is returned.
Definition at line 1336 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1430 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 843 of file qgslayertreemodel.cpp.
QgsLayerTreeModelLegendNode * QgsLayerTreeModel::legendNodeEmbeddedInParent | ( | QgsLayerTreeLayer * | nodeLayer | ) | const |
Return legend node that may be embbeded in parent (i.e.
its icon will be used for layer's icon).
Definition at line 1452 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1438 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1400 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1365 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1410 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1389 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1375 of file qgslayertreemodel.cpp.
|
overridevirtual |
Reimplemented from QAbstractItemModel.
Definition at line 1023 of file qgslayertreemodel.cpp.
|
overridevirtual |
Reimplemented from QAbstractItemModel.
Definition at line 1015 of file qgslayertreemodel.cpp.
QModelIndex QgsLayerTreeModel::node2index | ( | QgsLayerTreeNode * | node | ) | const |
Return index for a given node. If the node does not belong to the layer tree, the result is undefined.
Definition at line 447 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 736 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 780 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 787 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 797 of file qgslayertreemodel.cpp.
|
protectedslot |
Updates model when node's name has changed.
Definition at line 770 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 757 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 762 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 715 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 746 of file qgslayertreemodel.cpp.
|
override |
Definition at line 147 of file qgslayertreemodel.cpp.
|
protected |
emit dataChanged() for layer tree node items
Definition at line 977 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::refreshLayerLegend | ( | QgsLayerTreeLayer * | nodeLayer | ) |
Force a refresh of legend nodes of a layer node.
Not necessary to call when layer's renderer is changed as the model listens to these events.
Definition at line 540 of file qgslayertreemodel.cpp.
|
inline |
Definition at line 222 of file qgslayertreemodel.h.
|
protected |
Updates layer data for scale dependent layers, should be called when map scale changes.
Emits dataChanged() for all scale dependent layers.
Definition at line 991 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1197 of file qgslayertreemodel.cpp.
|
overridevirtual |
Reimplemented from QAbstractItemModel.
Definition at line 1095 of file qgslayertreemodel.cpp.
QgsLayerTreeGroup * QgsLayerTreeModel::rootGroup | ( | ) | const |
Return pointer to the root node of the layer tree. Always a non-null pointer.
Definition at line 520 of file qgslayertreemodel.cpp.
|
override |
Definition at line 99 of file qgslayertreemodel.cpp.
|
inline |
Set at what number of legend nodes the layer node should be collapsed. Setting -1 disables the auto-collapse (default).
Definition at line 167 of file qgslayertreemodel.h.
|
inline |
Definition at line 224 of file qgslayertreemodel.h.
void QgsLayerTreeModel::setCurrentIndex | ( | const QModelIndex & | currentIndex | ) |
Set index of the current item. May be used by view. Item marked as current is underlined.
Definition at line 565 of file qgslayertreemodel.cpp.
|
overridevirtual |
Reimplemented from QAbstractItemModel.
Definition at line 388 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::setFlag | ( | QgsLayerTreeModel::Flag | f, |
bool | on = true |
||
) |
Enable or disable a model flag.
Definition at line 1111 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::setFlags | ( | const QgsLayerTreeModel::Flags & | f | ) |
Set OR-ed combination of model flags.
Definition at line 1106 of file qgslayertreemodel.cpp.
Set map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one.
Definition at line 710 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::setLayerTreeNodeFont | ( | int | nodeType, |
const QFont & | font | ||
) |
Set font for a particular type of layer tree node. nodeType should come from QgsLayerTreeNode::NodeType enumeration.
Definition at line 577 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::setLegendFilter | ( | const QgsMapSettings * | settings, |
bool | useExtent = true , |
||
const QgsGeometry & | polygon = QgsGeometry() , |
||
bool | useExpressions = true |
||
) |
Filter display of legend nodes for given map settings.
settings | Map settings. Setting a null pointer or invalid settings will disable any filter. Ownership is not changed, a copy is made |
useExtent | Whether to use the extent of the map settings as a first spatial filter on legend nodes |
polygon | If not empty, this polygon will be used instead of the map extent to filter legend nodes |
useExpressions | Whether to use legend node filter expressions |
Definition at line 630 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::setLegendFilterByMap | ( | const QgsMapSettings * | settings | ) |
Force only display of legend nodes which are valid for given map settings.
Setting null pointer or invalid map settings will disable the functionality. Ownership of map settings pointer does not change, a copy is made.
Definition at line 625 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::setLegendFilterByScale | ( | double | scaleDenominator | ) |
Force only display of legend nodes which are valid for given scale denominator.
Setting value <= 0 will disable the functionality
Definition at line 615 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::setLegendMapViewData | ( | double | mapUnitsPerPixel, |
int | dpi, | ||
double | scale | ||
) |
Give the layer tree model hints about the currently associated map view so that legend nodes that use map units can be scaled currectly.
Definition at line 683 of file qgslayertreemodel.cpp.
void QgsLayerTreeModel::setRootGroup | ( | QgsLayerTreeGroup * | newRootGroup | ) |
Reset the model and use a new root group node.
Definition at line 525 of file qgslayertreemodel.cpp.
|
overridevirtual |
Reimplemented from QAbstractItemModel.
Definition at line 1010 of file qgslayertreemodel.cpp.
bool QgsLayerTreeModel::testFlag | ( | QgsLayerTreeModel::Flag | f | ) | const |
Check whether a flag is enabled.
Definition at line 1124 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1289 of file qgslayertreemodel.cpp.
|
protected |
Minimal number of nodes when legend should be automatically collapsed. -1 = disabled.
Definition at line 301 of file qgslayertreemodel.h.
|
protected |
Current index - will be underlined.
Definition at line 299 of file qgslayertreemodel.h.
|
protected |
Definition at line 366 of file qgslayertreemodel.h.
|
protected |
Set of flags for the model.
Definition at line 297 of file qgslayertreemodel.h.
|
protected |
Definition at line 352 of file qgslayertreemodel.h.
|
protected |
Definition at line 351 of file qgslayertreemodel.h.
Overrides of map layers' styles: key = layer ID, value = style XML.
This allows to show legend that is different from the current style of layers
Definition at line 346 of file qgslayertreemodel.h.
|
protected |
Per layer data about layer's legend nodes.
Definition at line 349 of file qgslayertreemodel.h.
|
protected |
scale denominator for filtering of legend nodes (<= 0 means no filtering)
Definition at line 355 of file qgslayertreemodel.h.
|
protected |
Definition at line 358 of file qgslayertreemodel.h.
|
protected |
Definition at line 357 of file qgslayertreemodel.h.
|
protected |
whether to use map filtering
Definition at line 361 of file qgslayertreemodel.h.
|
protected |
Definition at line 364 of file qgslayertreemodel.h.
|
protected |
Definition at line 363 of file qgslayertreemodel.h.
|
protected |
Definition at line 365 of file qgslayertreemodel.h.
|
protected |
Pointer to the root node of the layer tree. Not owned by the model.
Definition at line 295 of file qgslayertreemodel.h.