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

QUndoCommand subclasses for InletProvider / InletRegistry. More...

#include "inlet/inletprovider.h"
#include <QPointer>
#include <QString>
#include <QUndoCommand>
Include dependency graph for inletundocommands.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openswmmvis::inlet::SetInletTypeCommand
 Switch the inlet type (which groups of parameters apply). More...
 
class  openswmmvis::inlet::SetInletParamsCommand
 Whole-design snapshot write. The dialog captures the design before the property bag pushes its edit and passes both halves here, so one undo entry covers a multi-field group write. More...
 
class  openswmmvis::inlet::SetInletCommentsCommand
 Free-form description ([INLETS] comment line). More...
 
class  openswmmvis::inlet::RenameInletCommand
 Rename via the registry (uniqueness enforced by the registry). More...
 
class  openswmmvis::inlet::AddInletCommand
 Create a new design with default parameters. More...
 
class  openswmmvis::inlet::DeleteInletCommand
 Delete a design. Undo recreates it from the stored snapshot. More...
 

Namespaces

namespace  openswmmvis
 
namespace  openswmmvis::inlet
 

Detailed Description

QUndoCommand subclasses for InletProvider / InletRegistry.

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

Mirrors transectundocommands.h: each command operates on one non-owning InletProvider* (or, for the identity/lifetime commands, on the registry). Commands are pushed onto the InletEditorDialog's QUndoStack so a single Cmd-Z unwinds across the list, the property tree and the drawing view in lock-step — every view subscribes to the provider's signals and re-renders on apply, so the commands themselves do no UI work.

Add / Delete are name-keyed rather than pointer-keyed because InletRegistry::remove destroys the provider: undoing a delete recreates it from the stored snapshot, and the new pointer is republished through providerAdded.