![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Rule-driven Symbology tab content (Slice Z.3). More...
#include <QPointer>#include <QWidget>Go to the source code of this file.
Classes | |
| class | openswmmvis::ui::RuleSymbologyTab |
Namespaces | |
| namespace | OpenSWMM |
| namespace | OpenSWMM::Render |
| namespace | openswmmvis |
| namespace | openswmmvis::ui |
Rule-driven Symbology tab content (Slice Z.3).
Replaces the per-kind tree-on-left layout from §X.3.2 with an
Active Rule combo + Rule List, applied uniformly across every
layer kind. See RENDERING_RULE_MODEL_PLAN.md §4 for the layout
spec.
The widget binds to a non-null OpenSWMM::Render::RuleList. Both
the combo and the list view sync to the RuleList's
activeIndex(); editing visibility checkboxes writes through to
Rule::setVisible; drag-reordering writes through to
RuleList::move; the [+] / [Duplicate] / [Delete] / [↑] / [↓]
buttons mutate the RuleList directly.
The body region below the list is a QStackedWidget into which
a renderer-class picker + IRendererPanel is mounted for the
active Rule. Slice Z.3 ships the panel-host wiring; the
per-Rule renderer-edit binding into the existing
FeatureStyleEditor / SwmmElementSymbolEditor /
GisVectorSymbolEditor / RasterColorRampEditor surface is
delivered as part of the Rule-aware RendererPanelContext
extension in a follow-up slice (Z.3a — flagged in the
RuleSymbologyTab body placeholder until then).
Cancel rollback: the widget does not snapshot — that is the
enclosing LayerStyleDialog's job (§W U-3 captures snapshots of
every ILayerStyleSubject on open and restores on Cancel; the
Rule's Q_PROPERTYs ride that path via the §W default
JsonPropertySnapshot).