SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
outputstatsregistry.h File Reference
#include <QList>
#include <QObject>
#include <QPointer>
#include <QString>
#include <QUuid>
Include dependency graph for outputstatsregistry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmmvis::OutputIdentity
 
class  openswmmvis::OutputStatsRegistry
 

Namespaces

namespace  openswmmvis
 

Detailed Description

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later

Slice QA.1 — per-project registry that tags every loaded SWMMResultsLayer with a stable identity. Downstream consumers (the node attribute panel, Slice CB Statistics dashboard, Slice BF tabular results, Slice BH custom reports) read from a single source of truth so the "which output produced these numbers?" answer is uniform across the GUI.

The registry is owned by SWMMVisProjectWindow (one per project window; multi-project = multi-registry per Slice 13's session model). Layers call registerLayer() from their openResults() success path and unregisterLayer() from closeResults(); the registry emits identitiesChanged() on every mutation so panels can refresh their "Stats source:" combos without manual repaints.

The null UUID is reserved as a sentinel meaning "use the editing engine's ambient stats" — consumers that want to keep today's behaviour when no source is explicitly chosen branch on identity.stableId.isNull().