![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Abstract interface every concrete editor implements. More...
#include <ipropertyeditor.h>
Public Member Functions | |
| virtual | ~IPropertyEditor ()=default |
| virtual QString | objectKind () const =0 |
| Stable identifier for the object kind this editor handles. | |
| virtual QWidget * | editorForObject (const SWMMObjectRef &ref)=0 |
Build (or reuse) the editor's QWidget bound to ref. | |
| virtual void | apply (const SWMMObjectRef &ref)=0 |
Push the editor's current values back through the engine setters for ref. Called when the user clicks Apply / OK in a modal editor, or on focus-loss for inline editors. | |
Abstract interface every concrete editor implements.
Editors are not QObjects directly so concrete subclasses can choose their own parent / lifetime model. The returned QWidget* from editorForObject is owned by the caller (typically PropertiesPanel), which reparents it into the right-side dock.
|
virtualdefault |
|
pure virtual |
Push the editor's current values back through the engine setters for ref. Called when the user clicks Apply / OK in a modal editor, or on focus-loss for inline editors.
Implementations are responsible for engine-state guards (BUILDING / OPENED checks) — the registry imposes no policy.
|
pure virtual |
Build (or reuse) the editor's QWidget bound to ref.
Returning nullptr means "this editor can't handle that ref" — the registry will fall back to the next match or to the legacy property-tree path. Implementations may cache the widget across calls when the ref's name is unchanged; PropertiesPanel does not assume widget identity.
|
pure virtual |
Stable identifier for the object kind this editor handles.
Lowercase, no spaces, matches the BM.0 data-objects table or the legacy SWMM-GUI form unit name (e.g. "junction", "outfall", "storage", "divider", "conduit", "pump", "orifice", "weir", "outlet", "subcatchment", "raingage", "curve", "timeseries", "pattern", "lid_control", "pollutant", "landuse", "aquifer", "snowpack", "control_rule", "transect", "hydrograph", "street", "inlet", "inlet_usage").
Used as the registry key — must remain stable across releases.