22#ifndef SWMMOBJECTTREEMODEL_H
23#define SWMMOBJECTTREEMODEL_H
25#include <QAbstractItemModel>
96 QModelIndex
index(
int row,
int column,
97 const QModelIndex &
parent = {})
const override;
98 QModelIndex
parent(
const QModelIndex &child)
const override;
102 int role = Qt::DisplayRole)
const override;
104 const QVariant &value,
105 int role = Qt::EditRole)
override;
106 Qt::ItemFlags
flags(
const QModelIndex &
index)
const override;
107 QVariant
headerData(
int section, Qt::Orientation orientation,
108 int role = Qt::DisplayRole)
const override;
113 QMimeData *
mimeData(
const QModelIndexList &indexes)
const override;
116 const QModelIndex &
parent)
const override;
119 const QModelIndex &
parent)
override;
136 bool m_reloadPending =
false;
141 static constexpr quintptr kCategoryId = std::numeric_limits<quintptr>::max();
142 static constexpr quintptr kDataCategoryId = std::numeric_limits<quintptr>::max() - 1;
143 static constexpr quintptr kSeparatorId = std::numeric_limits<quintptr>::max() - 2;
145 QPointer<SWMMModelLayer> m_layer;
151 QVector<SWMMModelLayer::Category> m_visible;
157 QVector<SWMMModelLayer::DataCategory> m_visibleData;
Renders the SWMM network elements (nodes, links, subcatchments, rain gages) for one OpenSWMMEngine mo...
Definition swmmmodellayer.h:133
DataCategory
Slice BM.0 — non-spatial data-object categories surfaced below the spatial section in the Object Brow...
Definition swmmmodellayer.h:182
Definition swmmobjecttreemodel.h:33
SWMMModelLayer::Category categoryAtTopRow(int topRow) const
Definition swmmobjecttreemodel.cpp:257
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition swmmobjecttreemodel.cpp:539
int rowCount(const QModelIndex &parent={}) const override
Definition swmmobjecttreemodel.cpp:361
QMimeData * mimeData(const QModelIndexList &indexes) const override
Definition swmmobjecttreemodel.cpp:611
int topRowForDataCategory(SWMMModelLayer::DataCategory c) const
Definition swmmobjecttreemodel.cpp:295
~SWMMObjectTreeModel() override
void reload()
Definition swmmobjecttreemodel.cpp:229
int columnCount(const QModelIndex &parent={}) const override
Definition swmmobjecttreemodel.cpp:376
SWMMModelLayer::DataCategory dataCategoryAtTopRow(int topRow) const
Definition swmmobjecttreemodel.cpp:283
void scheduleReload()
Definition swmmobjecttreemodel.cpp:219
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
Definition swmmobjecttreemodel.cpp:491
bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
Definition swmmobjecttreemodel.cpp:670
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
Definition swmmobjecttreemodel.cpp:381
Section
Definition swmmobjecttreemodel.h:51
@ SectionNetwork
Spatial categories (Junctions … Rain Gages)
Definition swmmobjecttreemodel.h:52
@ SectionData
Non-spatial data objects (Curves … Inlets)
Definition swmmobjecttreemodel.h:54
@ SectionDivider
Visual separator row (non-selectable)
Definition swmmobjecttreemodel.h:53
Role
Definition swmmobjecttreemodel.h:40
@ RoleCategory
Definition swmmobjecttreemodel.h:41
@ RoleSection
Definition swmmobjecttreemodel.h:46
@ RoleRow
Definition swmmobjecttreemodel.h:42
@ RoleIsLeaf
Definition swmmobjecttreemodel.h:43
@ RoleDataCategory
Definition swmmobjecttreemodel.h:47
@ RoleObjectRef
Definition swmmobjecttreemodel.h:44
QStringList mimeTypes() const override
Definition swmmobjecttreemodel.cpp:605
Qt::DropActions supportedDropActions() const override
Definition swmmobjecttreemodel.cpp:600
Section sectionAtTopRow(int topRow) const
Definition swmmobjecttreemodel.cpp:272
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Definition swmmobjecttreemodel.cpp:587
QModelIndex indexFor(SWMMModelLayer::Category c, int row) const
Definition swmmobjecttreemodel.cpp:304
void setLayer(SWMMModelLayer *layer)
Definition swmmobjecttreemodel.cpp:162
int topRowForCategory(SWMMModelLayer::Category c) const
Definition swmmobjecttreemodel.cpp:264
bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override
Definition swmmobjecttreemodel.cpp:639
SWMM_FilePathRole role
Definition ioportabilitynormalizer.cpp:22
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
SwmmCategory
Stable ordinal categorising every SWMM-element kind that has per-kind styling, per-kind tree rows,...
Definition swmm_category.h:28
EdgeRef ref
Definition pslgminsize.cpp:377
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
Identifies a single SWMM object.
Definition selectionmanager.h:32
Map layer that renders an OpenSWMMEngine network (nodes, links, subcatchments, rain gages) and provid...