25#ifndef OPENSWMMVIS_UI_MODELS_LEGENDLAYERTREEMODEL_H
26#define OPENSWMMVIS_UI_MODELS_LEGENDLAYERTREEMODEL_H
28#include <QAbstractItemModel>
82 QModelIndex
index(
int row,
int column,
const QModelIndex &
parent = {})
const override;
83 QModelIndex
parent(
const QModelIndex &child)
const override;
84 QVariant
data(
const QModelIndex &idx,
int role = Qt::DisplayRole)
const override;
85 bool setData(
const QModelIndex &idx,
const QVariant &value,
int role = Qt::EditRole)
override;
86 Qt::ItemFlags
flags(
const QModelIndex &idx)
const override;
87 QVariant
headerData(
int section, Qt::Orientation orientation,
88 int role = Qt::DisplayRole)
const override;
91 void onCanvasLayersChanged();
92 void onLayerRepaintRequested();
109 QPointer<OpenSWMMVisLayer> layer;
111 QVector<ItemRow> items;
112 bool editableColor =
false;
113 bool editableSize =
false;
116 void rebuildLayerCache();
118 void disconnectAllLayers();
120 QPointer<MapCanvas> m_canvas;
121 QPointer<OpenSWMM::Render::LegendOverlayStyle> m_style;
122 QVector<LayerNode> m_layers;
123 QList<QPointer<OpenSWMMVisLayer>> m_connectedLayers;
128 QList<QPointer<QObject>> m_connectedSublayers;
The central map display widget — QGIS-style hybrid rendering.
Definition mapcanvas.h:63
Model object holding the on-canvas legend's chrome configuration.
Definition legendoverlaystyle.h:50
Abstract base class for all layers displayed in the MapCanvas.
Definition openswmmvislayer.h:116
Definition legendlayertreemodel.h:43
QVariant data(const QModelIndex &idx, int role=Qt::DisplayRole) const override
Definition legendlayertreemodel.cpp:268
CustomRole
Roles used by LegendColorDelegate for direct access to the classKey and the layer pointer without goi...
Definition legendlayertreemodel.h:56
@ ClassKeyRole
Definition legendlayertreemodel.h:57
@ LayerPtrRole
Definition legendlayertreemodel.h:58
@ EditableRole
Definition legendlayertreemodel.h:59
@ SublayerIdRole
Definition legendlayertreemodel.h:61
~LegendLayerTreeModel() override
Definition legendlayertreemodel.cpp:64
bool setData(const QModelIndex &idx, const QVariant &value, int role=Qt::EditRole) override
Definition legendlayertreemodel.cpp:333
int rowCount(const QModelIndex &parent={}) const override
Definition legendlayertreemodel.cpp:238
int columnCount(const QModelIndex &parent={}) const override
Definition legendlayertreemodel.cpp:233
Column
Definition legendlayertreemodel.h:46
@ ColSize
Definition legendlayertreemodel.h:49
@ ColColor
Definition legendlayertreemodel.h:48
@ ColItem
Definition legendlayertreemodel.h:47
@ ColCount
Definition legendlayertreemodel.h:50
void setOverlayStyle(OpenSWMM::Render::LegendOverlayStyle *style)
Optional per-item override store. When set, the model reads visible / userLabel from the style and ro...
Definition legendlayertreemodel.cpp:69
Qt::ItemFlags flags(const QModelIndex &idx) const override
Definition legendlayertreemodel.cpp:398
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Definition legendlayertreemodel.cpp:424
const char * label
Human label for the filter entry.
Definition gdaldrivers.cpp:22
SWMM_FilePathRole role
Definition ioportabilitynormalizer.cpp:22
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
int size()
Number of colors in one full cycle before the palette wraps.
Definition categoricalpalette.cpp:178
Definition gisrasterlayer.h:40
Definition openswmmvislayer.h:43
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString name
Definition sectionmodelbuilders.cpp:474