![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Slice BQ Phase 6.7.3.1 — MVC model for a single Tseries. More...
#include <QDateTime>#include <QObject>#include <QString>#include <QVector>Go to the source code of this file.
Classes | |
| struct | openswmmvis::timeseries::TimeseriesPoint |
| One (time, value) sample. More... | |
| class | openswmmvis::timeseries::TimeseriesProvider |
Namespaces | |
| namespace | openswmmvis |
| namespace | openswmmvis::timeseries |
Slice BQ Phase 6.7.3.1 — MVC model for a single Tseries.
One TimeseriesProvider per [TIMESERIES] object in the project. Owned by a project-scoped TimeseriesRegistry. Acts as the single source of truth for that Tseries: the editor dialog grid, the editor dialog plot, the Object Browser property pane, and any future scripting hook all subscribe to the provider's Qt signals (per [[feedback_mvc_synchronized_uis]]).
Storage invariant: in Inline / GeopackageObserved modes the point list is strictly ascending in time. Every public mutator validates the post- mutation state against this invariant and refuses any operation that would violate it — emitting mutationRejected(reason) so the caller can surface the rejection (drag-edit needs this so silent reorders don't lose user intent). Bulk operations are atomic: either all points are updated, or none are.
Mutations are intended to flow through QUndoCommand subclasses (Phase 6.7.3 — timeseriesundocommands.h); this class is undo-stack agnostic and exposes the raw apply* methods the commands call.