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
timeseriestablemodel.h File Reference

Slice BQ Phase 6.7.3.4 — QAbstractTableModel over N TimeseriesProvider siblings; drives the editor dialog's left-pane grid. More...

#include <QAbstractTableModel>
#include <QPointer>
#include <QVector>
Include dependency graph for timeseriestablemodel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openswmmvis::ui::TimeseriesTableModel
 

Namespaces

namespace  openswmmvis
 
namespace  openswmmvis::timeseries
 
namespace  openswmmvis::ui
 

Detailed Description

Slice BQ Phase 6.7.3.4 — QAbstractTableModel over N TimeseriesProvider siblings; drives the editor dialog's left-pane grid.

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

Layout modes (auto-selected from the bound providers' time grids):

  • Shared grid (every provider's points() array shares the same count + same QDateTime at every index): wide table with [Time | V0 | V1 | ... | V(N-1)]. One row per shared time stamp; each value column edits a separate provider. This is the layout the user asked for (one CSV → multiple sibling Tseries).
  • Divergent grid (any provider's time vector differs): the model binds to provider 0 only and exposes [Time | Value]. The dialog surfaces a status hint when this happens. A future sub-phase can extend with a union-of-times pivot.

Mutations go through QUndoCommand subclasses pushed to the optional undo stack (setUndoStack). When no stack is bound, mutations apply directly to the provider — still subject to the strict-monotone-time invariant; rejections surface via the provider's mutationRejected signal.

Read-only when any bound provider is in ExternalFile source mode (per Phase 6.7.3.4 spec — "grid greys out and the user is prompted to click Convert-to-Inline").