42 lines
1.7 KiB
C++
42 lines
1.7 KiB
C++
|
|
#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<SizeBoxSlot>(), 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<FMargin_> { return PropertyValue<FMargin_>(STR("Padding")); }
|
||
|
|
auto GetHorizontalAlignment()const -> std::optional<EHorizontalAlignment_> { return PropertyValue<EHorizontalAlignment_>(STR("HorizontalAlignment")); }
|
||
|
|
auto GetVerticalAlignment() const -> std::optional<EVerticalAlignment_> { return PropertyValue<EVerticalAlignment_>(STR("VerticalAlignment")); }
|
||
|
|
};
|
||
|
|
}
|