3#include "../UI/Components/CColorInput.hpp"
4#include "Generics/IXUIElement.hpp"
5#include "Generics/IXUIBindable.hpp"
6#include "Generics/IXUIElementReady.hpp"
15 public std::enable_shared_from_this<XUIColorInput>
26 std::shared_ptr<XUIColorInput> AsShared() {
return std::enable_shared_from_this<XUIColorInput>::shared_from_this(); }
38 static constexpr ETypeID TypeID = ETypeID::ColorInput;
39 using Ptr = std::shared_ptr<XUIColorInput>;
41 XUIColorInput(CP_SDK_PRIV_TAG_ARG(), std::u16string_view p_Name)
51 return std::make_shared<XUIColorInput>(CP_SDK_PRIV_TAG_VAL(), u
"XUIColorInput");
55 static Ptr
Make(std::u16string_view p_Name)
57 return std::make_shared<XUIColorInput>(CP_SDK_PRIV_TAG_VAL(), p_Name);
63 virtual void BuildUI(_u::Transform* p_Parent)
override
67 try { m_OnReady(m_Element.Ptr()); m_OnReady.Clear(); }
68 catch (
const std::exception& l_Exception)
80 if (m_Element) p_Functor(m_Element.Ptr());
81 else m_OnReady += p_Functor;
88 *p_Target = std::enable_shared_from_this<XUIColorInput>::shared_from_this();
static Logging::ILogger * Logger()
Logger instance.
IXUIElement Bind interface.
std::u16string_view GetInitialName()
Get initial name.
IXUIElement OnReady functor interface.
Tree like syntax CP_SDK::UI builder.