#pragma once #include "../properties/ColorPropertyEditor.h" #include "../properties/CornerRadiusPropertyEditor.h" #include "../properties/OptionalPropertyEditor.h" #include "../properties/ThicknessPropertyEditor.h" #include "StylerEditor.h" #include "cru/base/ClonablePtr.h" namespace cru::theme_builder::components::stylers { class BorderStylerEditor : public StylerEditor { public: BorderStylerEditor(); ~BorderStylerEditor() override; ClonablePtr GetValue(); void SetValue(ui::style::BorderStyler* styler, bool trigger_change = true); void SetValue(const ClonablePtr& styler, bool trigger_change = true) { SetValue(styler.get(), trigger_change); } ClonablePtr GetStyler() override { return GetValue(); } private: properties::OptionalPropertyEditor corner_radius_editor_; properties::OptionalPropertyEditor thickness_editor_; properties::OptionalPropertyEditor brush_editor_; properties::OptionalPropertyEditor foreground_brush_editor_; properties::OptionalPropertyEditor background_brush_editor_; }; } // namespace cru::theme_builder::components::stylers