![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Slice BR Phase 6.8.1 — MVC model for a single SWMM control rule. More...
#include <QObject>#include <QString>Go to the source code of this file.
Classes | |
| class | openswmmvis::controls::ControlRuleProvider |
Namespaces | |
| namespace | openswmmvis |
| namespace | openswmmvis::controls |
Enumerations | |
| enum class | openswmmvis::controls::ValidationState { openswmmvis::controls::Pending = 0 , openswmmvis::controls::Valid = 1 , openswmmvis::controls::Invalid = 2 } |
Validator verdict for a rule body. Default Pending until the validator (Phase 6.8.2) has been wired. More... | |
Slice BR Phase 6.8.1 — MVC model for a single SWMM control rule.
One ControlRuleProvider per [CONTROLS] RULE block in the project. Owned by a project-scoped ControlRuleRegistry. Acts as the single source of truth for that rule: the editor dialog's list-pane row, the code-editor body, the validator badge, the Object Browser leaf, and the SWMMControlRulePropertyAdapter property panel all subscribe to the provider's Qt signals (per [[feedback_mvc_synchronized_uis]]).
Storage. The provider carries the rule's name (parsed from the RULE <name> header, mirroring swmm_control_get_id), the full rule body text including that header, and a cached ValidationState (Pending / Valid / Invalid). All mutations route through ControlRuleRegistry (so the registry's name index stays coherent) and ultimately through SWMMModelLayer::applyControlRule* (so the engine round-trips and controlRulesChanged(name) fires).
This file ships in Slice BR Phase 6.8.1 (MVC backbone). The code-editor dialog, syntax highlighter, completer, and validator land in Phase 6.8.2 — until then m_validation stays Pending and the list-view icon defaults to the pending sentinel.