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

MVC-style editor widget for a single styleable subject. More...

#include <QWidget>
#include <QString>
#include <functional>
#include <memory>
Include dependency graph for istyleeditorwidget.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openswmmvis::ui::IStyleEditorWidget
 Custom editor widget for one style subject. More...
 
class  openswmmvis::ui::StyleEditorRegistry
 Maps a property-object class name to an editor-widget factory. More...
 
class  openswmmvis::ui::StyleEditorRegistrar
 

Namespaces

namespace  openswmmvis
 
namespace  openswmmvis::ui
 

Macros

#define REGISTER_STYLE_EDITOR(CLASSNAME, FACTORY_BODY)
 

Detailed Description

MVC-style editor widget for a single styleable subject.

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 U-V1. The unified LayerStyleDialog consults a registry to
    find a custom editor widget for each ILayerStyleSubject. When a
    registered editor exists (e.g. FeatureStyleEditor for a
    FeatureSublayerStyle) the dialog embeds it. Otherwise the dialog
    falls back to the QPropertyModel-driven generic tree editor.

    Custom editors give us QGIS / ArcGIS-style affordances — color
    buttons with swatches, marker shape grids, dash style combos,
    live preview panels — that QPropertyModel's generic tree can't
    match. They bind directly to the propertyObject's Q_PROPERTYs
    and listen for the bag's NOTIFY signal so external mutations
    (e.g. cancel rollback, .oswp load) refresh the UI.

Macro Definition Documentation

◆ REGISTER_STYLE_EDITOR

#define REGISTER_STYLE_EDITOR (   CLASSNAME,
  FACTORY_BODY 
)
Value:
static const openswmmvis::ui::StyleEditorRegistrar \
s_register_##CLASSNAME(QStringLiteral(#CLASSNAME), FACTORY_BODY);