From 3cd44092c44651650a760752a3d374f610ca4f77 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 16 Feb 2022 20:22:25 +0800 Subject: ... --- .../components/stylers/StylerEditor.cpp | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/theme_builder/components/stylers/StylerEditor.cpp (limited to 'src/theme_builder/components/stylers/StylerEditor.cpp') diff --git a/src/theme_builder/components/stylers/StylerEditor.cpp b/src/theme_builder/components/stylers/StylerEditor.cpp new file mode 100644 index 00000000..9c7852d4 --- /dev/null +++ b/src/theme_builder/components/stylers/StylerEditor.cpp @@ -0,0 +1,34 @@ +#include "StylerEditor.h" +#include "BorderStylerEditor.h" +#include "CompoundStylerEditor.h" +#include "CursorStylerEditor.h" +#include "cru/ui/style/Styler.h" + +namespace cru::theme_builder::components::stylers { +StylerEditor::StylerEditor() { + container_.SetFlexDirection(ui::controls::FlexDirection::Vertical); + container_.AddChild(&label_); +} + +StylerEditor::~StylerEditor() { container_.RemoveFromParent(); } + +std::unique_ptr CreateStylerEditor(ui::style::Styler* styler) { + if (auto compound_styler = dynamic_cast(styler)) { + auto result = std::make_unique(); + result->SetValue(compound_styler); + return result; + } else if (auto border_styler = + dynamic_cast(styler)) { + auto editor = std::make_unique(); + editor->SetValue(border_styler); + return editor; + } else if (auto cursor_styler = + dynamic_cast(styler)) { + auto editor = std::make_unique(); + editor->SetValue(cursor_styler); + return editor; + } else { + return nullptr; + } +} +} // namespace cru::theme_builder::components::stylers -- cgit v1.2.3