#include "StylerEditor.h" #include "../Common.h" #include "BorderStylerEditor.h" #include "CompoundStylerEditor.h" #include "ContentBrushStylerEditor.h" #include "CursorStylerEditor.h" #include "FontStylerEditor.h" #include "MarginStylerEditor.h" #include "PaddingStylerEditor.h" #include "PreferredSizeStylerEditor.h" #include "cru/ui/controls/FlexLayout.h" #include "cru/ui/render/FlexLayoutRenderObject.h" #include "cru/ui/style/Styler.h" namespace cru::theme_builder::components::stylers { StylerEditor::StylerEditor() {} StylerEditor::~StylerEditor() {} 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 if (auto preferred_size_styler = dynamic_cast(styler)) { auto editor = std::make_unique(); editor->SetValue(preferred_size_styler); return editor; } else if (auto margin_styler = dynamic_cast(styler)) { auto editor = std::make_unique(); editor->SetValue(margin_styler); return editor; } else if (auto padding_styler = dynamic_cast(styler)) { auto editor = std::make_unique(); editor->SetValue(padding_styler); return editor; } else if (auto content_brush_styler = dynamic_cast(styler)) { auto editor = std::make_unique(); editor->SetValue(content_brush_styler); return editor; } else if (auto font_styler = dynamic_cast(styler)) { auto editor = std::make_unique(); editor->SetValue(font_styler); return editor; } else { throw Exception(u"Unknown styler type"); } } } // namespace cru::theme_builder::components::stylers