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

Adapter — present a Rule as an ILayerStyleSubject (Slice Z.2). More...

#include "ui/dialogs/ilayerstylesubject.h"
#include <QString>
#include <memory>
#include <vector>
Include dependency graph for rulestylesubject.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openswmmvis::ui::RuleStyleSubject
 Wraps a Rule as one ILayerStyleSubject for the legacy dialog. More...
 

Namespaces

namespace  OpenSWMM
 
namespace  OpenSWMM::Render
 
namespace  openswmmvis
 
namespace  openswmmvis::ui
 

Functions

std::vector< std::unique_ptr< ILayerStyleSubject > > openswmmvis::ui::subjectsFromRuleList (OpenSWMM::Render::RuleList *list)
 Build one RuleStyleSubject per Rule in list. Empty / null list yields an empty vector. RoutingIds are auto-assigned as "rule.0", "rule.1", ... — stable for the duration of the dialog session.
 

Detailed Description

Adapter — present a Rule as an ILayerStyleSubject (Slice Z.2).

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
    Slice Z.2 (RENDERING_RULE_MODEL_PLAN.md §16) — backwards-compat
    seam. The shipped §W editors (FeatureStyleEditor,
    SwmmElementSymbolEditor, GisVectorSymbolEditor,
    RasterColorRampEditor) bind to ILayerStyleSubject's
    propertyObject() to read/write Q_PROPERTYs. Rule is a QObject
    with Q_PROPERTYs (name / isVisible / filterExpression /
    minScale / maxScale / blendMode); wrapping a Rule as a subject
    lets the dialog show it as a tab via the existing QPropertyModel
    path without touching any editor.

    `subjectsFromRuleList` is the bulk helper Z.3's SymbologyTab
    calls to enumerate Rules as subjects. Z.2 only ships the
    adapter + helper; the SymbologyTab integration is Z.3.