21#ifndef OPENSWMMVIS_UI_DIALOGS_ISTYLEEDITORWIDGET_H
22#define OPENSWMMVIS_UI_DIALOGS_ISTYLEEDITORWIDGET_H
47 using QWidget::QWidget;
80 QWidget *
parent =
nullptr)
const;
85 struct Entry { QString className;
Factory factory; };
86 std::vector<Entry> m_entries;
101#define REGISTER_STYLE_EDITOR(CLASSNAME, FACTORY_BODY) \
102 static const openswmmvis::ui::StyleEditorRegistrar \
103 s_register_##CLASSNAME(QStringLiteral(#CLASSNAME), FACTORY_BODY);
Definition istyleeditorwidget.h:92
StyleEditorRegistrar(const QString &className, StyleEditorRegistry::Factory factory)
Definition istyleeditorwidget.h:94
Maps a property-object class name to an editor-widget factory.
Definition istyleeditorwidget.h:66
std::function< IStyleEditorWidget *(QObject *propertyObject, QWidget *parent)> Factory
Definition istyleeditorwidget.h:68
static StyleEditorRegistry & instance()
Definition istyleeditorwidget.cpp:13
void registerFactory(const QString &className, Factory factory)
Definition istyleeditorwidget.cpp:19
IStyleEditorWidget * createEditorFor(QObject *propertyObject, QWidget *parent=nullptr) const
Definition istyleeditorwidget.cpp:25
Definition openswmmvislayer.h:43
QVector< int > parent
union-find
Definition pslgminsize.cpp:176