#pragma once #include "PanelSlot.hpp" namespace PalUIExtension::Api { class SizeBoxSlot : public PanelSlot { public: static auto ClassPath() -> const TCHAR* { return STR("/Script/UMG.SizeBoxSlot"); } static auto DebugTag() -> const TCHAR* { return STR("SizeBoxSlot"); } SizeBoxSlot() = default; explicit SizeBoxSlot(UObject* Obj) : PanelSlot(Obj, ClassOf(), DebugTag()) {} // ---- setters (write through the UFUNCTION so SynchronizeProperties runs) auto SetPadding(FMargin_ InPadding) -> bool { struct P { FMargin_ InPadding; } p{ InPadding }; return Call(STR("SetPadding"), p); } auto SetHorizontalAlignment(EHorizontalAlignment_ InHorizontalAlignment) -> bool { struct P { EHorizontalAlignment_ InHorizontalAlignment; } p{ InHorizontalAlignment }; return Call(STR("SetHorizontalAlignment"), p); } auto SetVerticalAlignment(EVerticalAlignment_ InVerticalAlignment) -> bool { struct P { EVerticalAlignment_ InVerticalAlignment; } p{ InVerticalAlignment }; return Call(STR("SetVerticalAlignment"), p); } // ---- property reads auto GetPadding() const -> std::optional { return PropertyValue(STR("Padding")); } auto GetHorizontalAlignment()const -> std::optional { return PropertyValue(STR("HorizontalAlignment")); } auto GetVerticalAlignment() const -> std::optional { return PropertyValue(STR("VerticalAlignment")); } }; }