From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.Client/Common/UI/UIControl_ButtonList.h | 44 +++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Minecraft.Client/Common/UI/UIControl_ButtonList.h (limited to 'Minecraft.Client/Common/UI/UIControl_ButtonList.h') diff --git a/Minecraft.Client/Common/UI/UIControl_ButtonList.h b/Minecraft.Client/Common/UI/UIControl_ButtonList.h new file mode 100644 index 00000000..a3c5da3a --- /dev/null +++ b/Minecraft.Client/Common/UI/UIControl_ButtonList.h @@ -0,0 +1,44 @@ +#pragma once + +#include "UIControl_Base.h" + +class UIControl_ButtonList : public UIControl_Base +{ +protected: + IggyName m_addNewItemFunc, m_removeAllItemsFunc, m_funcHighlightItem, m_funcRemoveItem, m_funcSetButtonLabel, m_funcSetTouchFocus, m_funcCanTouchTrigger; + + int m_itemCount; + int m_iCurrentSelection; + +public: + UIControl_ButtonList(); + + virtual bool setupControl(UIScene *scene, IggyValuePath *parent, const string &controlName); + + void init(int id); + virtual void ReInit(); + + void clearList(); + + void addItem(const wstring &label); + void addItem(const string &label); + + void addItem(const wstring &label, int data); + void addItem(const string &label, int data); + + void removeItem(int index); + + int getItemCount() { return m_itemCount; } + + void setCurrentSelection(int iSelection); + int getCurrentSelection(); + + void updateChildFocus(int iChild); + + void setButtonLabel(int iButtonId, const wstring &label); + +#ifdef __PSVITA__ + void SetTouchFocus(S32 iX, S32 iY, bool bRepeat); + bool CanTouchTrigger(S32 iX, S32 iY); +#endif +}; -- cgit v1.2.3