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
mapundostack.h File Reference
#include <QDateTime>
#include <QObject>
#include <QPair>
#include <QPointF>
#include <QPointer>
#include <QString>
#include <QUndoStack>
#include <QVector>
#include "map/mapextent.h"
#include "layers/swmmmodellayer.h"
#include "selection/selectionmanager.h"
Include dependency graph for mapundostack.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  NodeSnapshot
 
struct  LinkSnapshot
 
struct  GageSnapshot
 
struct  SubcatchSnapshot
 
class  MapUndoStack
 An undo/redo stack for map operations with a configurable maximum depth. More...
 
class  MapCommand
 Abstract base for all undoable commands that affect the MapCanvas. More...
 
class  PanZoomCommand
 Records an extent change (pan or zoom) for undo/redo. More...
 
class  ChangeCRSCommand
 Records a canvas CRS change for undo/redo. More...
 
class  AddLayerCommand
 Records adding a layer to the canvas layer stack. More...
 
class  RemoveLayerCommand
 Records removing a layer from the canvas layer stack. More...
 
class  MoveLayerCommand
 Records reordering a layer within the canvas stack. More...
 
class  MoveSublayerCommand
 Records reordering one sublayer inside an ISublayerHost layer's paint stack (Slice LTR-2026-09-19). Applies through MapCanvas::moveSublayer(host, from, to, pushUndo = false) so the canvas emits sublayerOrderChanged() on both redo and undo. More...
 
class  MoveNodeCommand
 Records a node coordinate change for undo/redo. More...
 
struct  MoveNodeCommand::LengthRec
 Per-link length snapshot used by auto-length. More...
 
class  MoveGageCommand
 Records a rain-gage coordinate change for undo/redo — the [SYMBOLS] twin of MoveNodeCommand. More...
 
class  EditVertexCommand
 Records a change to a link's interior polyline vertices. More...
 
class  FlipLinkCommand
 Reverses a link's direction — upstream node becomes downstream. More...
 
class  EditSubcatchCommand
 Records a change to a subcatchment's polygon vertices. More...
 
class  AddNodeCommand
 Records the creation of a SWMM node. More...
 
class  AddLinkCommand
 Records the creation of a SWMM link (conduit/pump/orifice/weir/outlet). More...
 
class  AddGageCommand
 Records the creation of a rain gage. More...
 
class  AddSubcatchmentCommand
 Records the creation of a subcatchment polygon. More...
 
class  AssignSubcatchGagesCommand
 Reassigns the rain gage of many subcatchments as ONE undo step. More...
 
class  ConfigureGageCommand
 Snapshot/restore of a rain gage's data-source configuration. More...
 
struct  ConfigureGageCommand::Config
 The subset of gage state this command owns. More...
 
class  BulkEditCommand
 Macro command that holds one SWMMModelLayer::BulkEdit scope open across every child command. More...
 
class  DeleteObjectCommand
 Undoable deletion of a node, link, rain gage, or subcatchment. More...
 
class  BatchDeleteCommand
 Undoable bulk deletion (perf-plan Phase A2): one engine swmm_*_delete_many call per kind instead of K per-object deletes. More...
 
struct  BatchDeleteCommand::Target
 
class  DeleteDataObjectCommand
 Undoable deletion of a non-spatial data object (curve, time series, or transect) held in a SWMMModelLayer registry. More...
 
class  ReorderLayersCommand
 Records a full layer-stack reorder (e.g. moving an entire category group) as a single undoable step. More...
 
class  ReorderCategoriesCommand
 Records a SWMM object category order change for undo/redo. More...
 
class  ReorderObjectsCommand
 Records a per-category object order change for undo/redo. More...
 
class  AddAnnotationCommand
 Records the placement of a single text annotation. More...
 
class  InsertVirtualJunctionCommand
 Records a conduit split that inserts a virtual junction. More...
 
class  InsertJunctionSplitCommand
 Records a conduit split that inserts a plain (non-virtual) junction. More...
 
class  InsertNodeSplitCommand
 Records "place a node ON a conduit": the conduit is split at the picked point and a node of the requested SWMM type is inserted there (ADDNODE_SPLIT_REDESIGN_PLAN_2026-09-10.md step 2). More...
 
struct  GeneratedOutfallSpec
 How a node the channel burn converts is configured as an outfall (CHANNEL_BURN_IN_PLAN_2026-09-21.md §6). More...
 
class  ConvertNodeTypeCommand
 Undoable node retype, with the burn's outfall configuration (CHANNEL_BURN_IN_PLAN_2026-09-21.md §6). More...
 
class  FuseVirtualJunctionCommand
 Records the re-fusion (deletion) of a virtual junction. More...
 
class  SetInletUsageCommand
 Records a change to one inlet-usage row (conduit host or inlet junction host — the same command serves both, per §2.4/§3.4 of workplans/INLET_EDITOR_AND_INLET_JUNCTION_GUI_PLAN_2026-09-05.md). More...
 
class  InsertInletJunctionCommand
 Records a STREET-conduit split that inserts a configured inlet junction (swmm_conduit_split_inlet). More...
 
class  FuseInletJunctionCommand
 Records the re-fusion (deletion) of an inlet junction. More...
 

Detailed Description

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Version
Discription\n
License\n
Date
2026