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
openswmmvis::ui::KindRendererPanel Class Reference

#include <kindrendererpanel.h>

Inheritance diagram for openswmmvis::ui::KindRendererPanel:
Collaboration diagram for openswmmvis::ui::KindRendererPanel:

Public Member Functions

 KindRendererPanel (OpenSWMMVisLayer *hostLayer, OpenSWMMVis::SwmmCategory category, QWidget *parent=nullptr)
 
 KindRendererPanel (OpenSWMM::Render::Rule *rule, QWidget *parent=nullptr)
 
 KindRendererPanel (OpenSWMM::Render::Rule *rule, OpenSWMMVisLayer *hostLayer, OpenSWMMVis::SwmmCategory category, QWidget *parent=nullptr)
 
 ~KindRendererPanel () override
 
void refreshFromModel ()
 

Constructor & Destructor Documentation

◆ KindRendererPanel() [1/3]

openswmmvis::ui::KindRendererPanel::KindRendererPanel ( OpenSWMMVisLayer hostLayer,
OpenSWMMVis::SwmmCategory  category,
QWidget *  parent = nullptr 
)
Parameters
hostLayerEither a SWMMModelLayer or a SWMMResultsLayer. The panel uses the layer's kindRenderer / setKindRenderer / resetKindRendererToDefaults API to read and write per-kind renderers.
Here is the call graph for this function:

◆ KindRendererPanel() [2/3]

openswmmvis::ui::KindRendererPanel::KindRendererPanel ( OpenSWMM::Render::Rule rule,
QWidget *  parent = nullptr 
)
explicit

Slice B.6a — Rule-aware constructor. The panel reads/writes the Rule's owned IFeatureRenderer directly. rule must outlive the panel; the panel does not take ownership.

Here is the call graph for this function:

◆ KindRendererPanel() [3/3]

openswmmvis::ui::KindRendererPanel::KindRendererPanel ( OpenSWMM::Render::Rule rule,
OpenSWMMVisLayer hostLayer,
OpenSWMMVis::SwmmCategory  category,
QWidget *  parent = nullptr 
)

Rule-aware constructor that ALSO knows which kind of which layer the Rule mirrors.

The renderer still reads and writes through rule (it takes priority in currentRenderer / installRenderer / resetToDefaults, so behaviour is unchanged). The extra context exists for the controls that are NOT renderer state and therefore cannot be reached through a Rule at all — today that is the flow-direction-arrow group, which lives on the layer's per-kind channel (SWMMElementSymbol for model layers, LineFeatureSublayerStyle for results layers).

Without this, the rule-only constructor left the panel with a null host and a CatJunctions sentinel category, so isLinkKind() was false and the arrow group stayed hidden for every rule-backed kind — which is every kind on a results layer.

Here is the call graph for this function:

◆ ~KindRendererPanel()

openswmmvis::ui::KindRendererPanel::~KindRendererPanel ( )
overridedefault

Member Function Documentation

◆ refreshFromModel()

void openswmmvis::ui::KindRendererPanel::refreshFromModel ( )

Re-read the current renderer from the host layer and update the panel's controls. Called by the dialog after a Cancel rollback.

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: