61 if ( sipCpp->inherits(
"QgsLayerTreeModel" ) )
62 sipType = sipType_QgsLayerTreeModel;
81 int rowCount(
const QModelIndex &parent = QModelIndex() )
const override;
82 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
83 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex() )
const override;
84 QModelIndex parent(
const QModelIndex &child )
const override;
85 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole )
const override;
86 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
87 bool setData(
const QModelIndex &index,
const QVariant &value,
int role = Qt::EditRole )
override;
88 Qt::DropActions supportedDropActions()
const override;
89 QStringList mimeTypes()
const override;
90 QMimeData *mimeData(
const QModelIndexList &indexes )
const override;
91 bool dropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent )
override;
92 bool removeRows(
int row,
int count,
const QModelIndex &parent = QModelIndex() )
override;
100 ShowLegendAsTree = 0x0004,
101 DeferredLegendInvalidation = 0x0008,
102 UseEmbeddedWidgets = 0x0010,
103 UseTextFormatting = 0x0020,
106 AllowNodeReorder = 0x1000,
107 AllowNodeRename = 0x2000,
108 AllowNodeChangeVisibility = 0x4000,
109 AllowLegendChangeState = 0x8000,
110 ActionHierarchical = 0x10000,
111 UseThreadedHitTest = 0x20000,
113 Q_DECLARE_FLAGS( Flags, Flag )
116 void setFlags( QgsLayerTreeModel::Flags f );
118 void setFlag( Flag f,
bool on =
true );
122 bool testFlag( Flag f )
const;
137 QList<QgsLayerTreeNode *> indexes2nodes(
const QModelIndexList &list,
bool skipInternal =
false )
const;
156 QList<QgsLayerTreeModelLegendNode *> layerLegendNodes(
QgsLayerTreeLayer *nodeLayer,
bool skipNodeEmbeddedInParent =
false );
162 QList<QgsLayerTreeModelLegendNode *> layerOriginalLegendNodes(
QgsLayerTreeLayer *nodeLayer );
193 QModelIndex currentIndex()
const;
195 void setCurrentIndex(
const QModelIndex ¤tIndex );
198 void setLayerTreeNodeFont(
int nodeType,
const QFont &font );
200 QFont layerTreeNodeFont(
int nodeType )
const;
213 void setLegendFilterByScale(
double scale );
270 void setLegendMapViewData(
double mapUnitsPerPixel,
int dpi,
double scale );
276 void legendMapViewData(
double *mapUnitsPerPixel
SIP_OUT,
int *dpi
SIP_OUT,
double *scale
SIP_OUT ) const;
281 QMap<QString, QString> layerStyleOverrides() const;
286 void setLayerStyleOverrides( const QMap<QString, QString> &overrides );
318 static
int scaleIconSize(
int standardSize );
326 void waitForHitTestBlocking();
336 bool hitTestInProgress() const;
344 void messageEmitted( const QString &message,
Qgis::MessageLevel level =
Qgis::MessageLevel::Info,
int duration = 5 );
354 void hitTestStarted();
364 void hitTestCompleted();
367 void nodeWillAddChildren(
QgsLayerTreeNode *node,
int indexFrom,
int indexTo );
368 void nodeAddedChildren(
QgsLayerTreeNode *node,
int indexFrom,
int indexTo );
369 void nodeWillRemoveChildren(
QgsLayerTreeNode *node,
int indexFrom,
int indexTo );
370 void nodeRemovedChildren();
379 void nodeCustomPropertyChanged(
QgsLayerTreeNode *node, const QString &key );
381 void nodeLayerLoaded();
382 void nodeLayerWillBeUnloaded();
383 void layerLegendChanged();
389 void layerFlagsChanged();
391 void layerNeedsUpdate();
393 void legendNodeDataChanged();
395 void invalidateLegendMapBasedData();
406 void connectToRootNode();
407 void disconnectFromRootNode();
410 void recursivelyEmitDataChanged( const QModelIndex &index = QModelIndex() );
416 void refreshScaleBasedLayers( const QModelIndex &index = QModelIndex(),
double previousScale = 0.0 );
418 static QIcon iconGroup();
423 QModelIndex indexOfParentLayerTreeNode(
QgsLayerTreeNode *parentNode ) const;
434 void legendCleanup();
435 void legendInvalidateMapBasedData();
451 QPersistentModelIndex mCurrentIndex;
453 int mAutoCollapseLegendNodesCount = -1;
469 QMap<QgsLayerTreeModelLegendNode *, QgsLayerTreeModelLegendNode *>
parents;
471 QMap<QgsLayerTreeModelLegendNode *, QList<QgsLayerTreeModelLegendNode *> >
children;
517 QHash<QgsLayerTreeLayer *, LayerLegendData>
mLegend;
529 double mLegendFilterByScale = 0;
537 double mLegendMapViewMupp = 0;
538 int mLegendMapViewDpi = 0;
539 double mLegendMapViewScale = 0;
545 void legendNodeSizeChanged();
546 void hitTestTaskCompleted();
549 void handleHitTestResults();
Contains information about the context of a rendering operation.
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)