#pragma once #include "../properties/ColorPropertyEditor.h" #include "../properties/CornerRadiusPropertyEditor.h" #include "../properties/OptionalPropertyEditor.h" #include "../properties/ThicknessPropertyEditor.h" #include "cru/common/ClonablePtr.h" #include "cru/common/Event.h" #include "cru/ui/components/Component.h" #include "cru/ui/controls/CheckBox.h" #include "cru/ui/controls/FlexLayout.h" #include "cru/ui/style/Styler.h" namespace cru::theme_builder::components::styler { class BorderStylerEditor : public ui::components::Component { public: BorderStylerEditor(); ~BorderStylerEditor() override; ui::controls::Control* GetRootControl() override { return nullptr; } ClonablePtr GetValue(); void SetValue(const ClonablePtr& styler); IEvent* ChangeEvent() { return &change_event_; } private: ui::controls::FlexLayout container_; properties::OptionalPropertyEditor corner_radius_editor_; properties::OptionalPropertyEditor thickness_editor_; properties::OptionalPropertyEditor brush_editor_; properties::OptionalPropertyEditor foreground_brush_editor_; properties::OptionalPropertyEditor background_brush_editor_; Event change_event_; }; } // namespace cru::theme_builder::components::styler