![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Interactive Qt Charts view for editing a CurveProvider on the plot. More...
#include "ui/widgets/interactivechartview.h"#include <QPoint>#include <QPointer>#include <QVector>Go to the source code of this file.
Classes | |
| class | openswmmvis::ui::CurveEditChartView |
Namespaces | |
| namespace | openswmmvis |
| namespace | openswmmvis::curve |
| namespace | openswmmvis::ui |
Interactive Qt Charts view for editing a CurveProvider on the plot.
Mirrors TimeseriesEditChartView (Slice BQ Phase 6.7.3.5): a thin subclass of InteractiveChartView that adds an orthogonal EditMode axis on top of the base Select/Pan/Zoom modes:
MVC contract (per [[feedback_mvc_synchronized_uis]]): the chart view is one of N views on the bound CurveProvider. Live in-flight drag mutates the provider via setPointAt per frame so the table view (and any other subscriber) re-renders in sync. On drag completion the view rewinds the provider to its pre-drag state and pushes a single BulkSetCurvePointsCommand so Cmd-Z reverts the drag in one step.
The chart, axes, and line/scatter series remain owned by the parent dialog — the view's role is overlay state (selection-highlight scatter) and mouse-event interpretation. This keeps the existing chart-construction code in CurveEditorDialog::buildUi_ untouched.