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

QUndoCommand subclasses for graphical edits on a CurveProvider. More...

#include "curve/curveprovider.h"
#include <QString>
#include <QUndoCommand>
#include <QVector>
Include dependency graph for curveundocommands.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openswmmvis::curve::BulkSetCurvePointsCommand
 Set one or more point coordinates atomically. Indices and the pre/post coordinate vectors must be the same length. Out-of-range indices on apply are skipped. More...
 

Namespaces

namespace  openswmmvis
 
namespace  openswmmvis::curve
 

Detailed Description

QUndoCommand subclasses for graphical edits on a CurveProvider.

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

Scope (per user direction): undo coverage is intentionally limited to the graphical edits driven from CurveEditChartView (drag completion). Right-click insert / delete on the chart and table-cell edits continue to mutate the provider directly — matching the existing curve-editor behaviour. Adding undo for those code paths is a future slice.

Live in-flight drag uses CurveProvider::setPointAt per frame (validated, MVC signals fire so every view re-renders). On mouse release the chart view rewinds the provider to its pre-drag state then pushes a single BulkSetCurvePointsCommand so Cmd-Z reverts the entire drag in one step.