15 public std::enable_shared_from_this<XUITextSegmentedControl>
26 std::shared_ptr<XUITextSegmentedControl> AsShared() {
return std::enable_shared_from_this<XUITextSegmentedControl>::shared_from_this(); }
38 static constexpr ETypeID TypeID = ETypeID::TextSegmentedControl;
39 using Ptr = std::shared_ptr<XUITextSegmentedControl>;
41 XUITextSegmentedControl(CP_SDK_PRIV_TAG_ARG(), std::u16string_view p_Name,
const std::vector<std::u16string>& p_Texts)
50 static Ptr
Make(
const std::vector<std::u16string>& p_Texts)
52 return std::make_shared<XUITextSegmentedControl>(CP_SDK_PRIV_TAG_VAL(), u
"XUITextSegmentedControl", p_Texts);
57 static Ptr
Make(std::u16string_view p_Name,
const std::vector<std::u16string>& p_Texts)
59 return std::make_shared<XUITextSegmentedControl>(CP_SDK_PRIV_TAG_VAL(), p_Name, p_Texts);
65 virtual void BuildUI(_u::Transform* p_Parent)
override
69 try { m_OnReady(m_Element.Ptr()); m_OnReady.Clear(); }
70 catch (
const std::exception& l_Exception)
72 ChatPlexSDK::Logger()->Error(u
"[CP_SDK.XUI][XUITextSegmentedControl.BuildUI] Error OnReady:");
82 if (m_Element) p_Functor(m_Element.Ptr());
83 else m_OnReady += p_Functor;
90 *p_Target = std::enable_shared_from_this<XUITextSegmentedControl>::shared_from_this();
CTextSegmentedControl component.
CTextSegmentedControl * SetTexts(const std::vector< std::u16string > &p_Texts)
Set texts.
CTextSegmentedControl XUI Element.
XUITextSegmentedControl * SetActiveText(int p_Index, bool p_Notify=true) XUI_PROXY_IMPL(_v
Set active text.
virtual XUITextSegmentedControl * OnReady(_v::CActionRef< _v::CTextSegmentedControl * > p_Functor) override
IXUIElement OnReady functor interface.
static Ptr Make(const std::vector< std::u16string > &p_Texts)
Constructor.
static Ptr Make(std::u16string_view p_Name, const std::vector< std::u16string > &p_Texts)
Constructor.
virtual XUITextSegmentedControl * Bind(std::shared_ptr< XUITextSegmentedControl > *p_Target) override
On ready, bind.
XUITextSegmentedControl * SetTexts(std::vector< std::u16string > p_Texts) XUI_PROXY_IMPL(_v
Set texts.
XUITextSegmentedControl * OnActiveChanged(_v::Action< int > p_Functor, bool p_Add=true) XUI_PROXY_IMPL(_v
On value changed event.
virtual void BuildUI(_u::Transform *p_Parent) override
BuildUI for this element into p_Parent transform.
XUITextSegmentedControl * SetActive(bool p_Active) XUI_PROXY_IMPL(_v
Set game object active state.