32#ifndef OPENSWMMVIS_UI_PANELS_MESHATTRIBUTETABLEMODEL_H
33#define OPENSWMMVIS_UI_PANELS_MESHATTRIBUTETABLEMODEL_H
39#include <QAbstractTableModel>
63 [[nodiscard]]
Kind kind()
const {
return m_kind; }
78 [[nodiscard]] QList<openswmmvis::ColumnSpec>
columnSpecs()
const
79 {
return m_columnSpecs; }
99 QVariant
data(
const QModelIndex &
index,
int role = Qt::DisplayRole)
const override;
100 bool setData(
const QModelIndex &
index,
const QVariant &value,
101 int role = Qt::EditRole)
override;
102 Qt::ItemFlags
flags(
const QModelIndex &
index)
const override;
103 QVariant
headerData(
int section, Qt::Orientation orientation,
104 int role = Qt::DisplayRole)
const override;
118 void rebuildColumns();
119 void rebuildEdgeRows();
122 void onLayerAttributeChanged(
const QString &refName);
127 [[nodiscard]]
bool rowIsBoundaryEdge(
int row)
const;
135 [[nodiscard]]
bool cellInfilParamApplies(
int row,
const QByteArray &
key)
const;
143 [[nodiscard]]
int slotForRow(
int row)
const;
147 [[nodiscard]]
bool canPick()
const;
152 [[nodiscard]] QVariant pickerRef(
const QString &
key,
153 const QString ¤t)
const;
155 QPointer<SWMM2DMeshLayer> m_layer;
156 QPointer<SWMMModelLayer> m_modelLayer;
157 QPointer<MapCanvas> m_canvas;
160 QList<openswmmvis::ColumnSpec> m_columnSpecs;
163 QVector<int> m_edgeSlots;
165 QHash<int,int> m_slotRow;
169 int m_firstCellParamCol = -1;
The central map display widget — QGIS-style hybrid rendering.
Definition mapcanvas.h:63
Definition meshattributetablemodel.h:50
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Definition meshattributetablemodel.cpp:874
void objectEdited(const QString &refName)
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
Definition meshattributetablemodel.cpp:585
Kind kind() const
Definition meshattributetablemodel.h:63
QRectF elementExtent(int row, bool *ok=nullptr) const
Definition meshattributetablemodel.cpp:499
SWMM2DMeshLayer * layer() const
Definition meshattributetablemodel.h:62
void setCanvas(MapCanvas *canvas)
Definition meshattributetablemodel.cpp:202
QList< openswmmvis::ColumnSpec > columnSpecs() const
Definition meshattributetablemodel.h:78
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition meshattributetablemodel.cpp:750
int rowCount(const QModelIndex &parent={}) const override
Definition meshattributetablemodel.cpp:546
Kind
Definition meshattributetablemodel.h:54
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
Definition meshattributetablemodel.cpp:799
void setSource(SWMM2DMeshLayer *layer, Kind kind)
Definition meshattributetablemodel.cpp:246
SWMMObjectRef refForRow(int row) const
Definition meshattributetablemodel.cpp:454
int columnCount(const QModelIndex &parent={}) const override
Definition meshattributetablemodel.cpp:557
void setModelLayer(SWMMModelLayer *layer)
Definition meshattributetablemodel.cpp:207
int rowForRef(const SWMMObjectRef &ref) const
Definition meshattributetablemodel.cpp:470
void reload()
Definition meshattributetablemodel.cpp:283
Definition swmm2dmeshlayer.h:64
Renders the SWMM network elements (nodes, links, subcatchments, rain gages) for one OpenSWMMEngine mo...
Definition swmmmodellayer.h:133
bool ok
Definition inpmeshwriter.cpp:575
SWMM_FilePathRole role
Definition ioportabilitynormalizer.cpp:22
const char * key
Definition meshcellparams.cpp:24
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
Per-cell 2D infiltration: value types, tag/override resolution and method↔parameter masks.
InfilProvenance
Definition meshinfil.h:127
EdgeRef ref
Definition pslgminsize.cpp:377
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
Identifies a single SWMM object.
Definition selectionmanager.h:32