first commit
This commit is contained in:
73
Minecraft.Client/Common/XUI/XUI_Ctrl_SlotList.h
Normal file
73
Minecraft.Client/Common/XUI/XUI_Ctrl_SlotList.h
Normal file
@@ -0,0 +1,73 @@
|
||||
#pragma once
|
||||
|
||||
// Sig: HRESULT OnGetItemCountMaxLines(XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled)
|
||||
#define XUI_ON_XM_GET_ITEMCOUNT_MAX_LINES(MemberFunc)\
|
||||
if (pMessage->dwMessage == XM_GET_ITEMCOUNT && ((XUIMessageGetItemCount *) pMessage->pvData)->nType == XUI_ITEMCOUNT_MAX_LINES)\
|
||||
{\
|
||||
XUIMessageGetItemCount *pData = (XUIMessageGetItemCount *) pMessage->pvData;\
|
||||
return MemberFunc(pData, pMessage->bHandled);\
|
||||
}
|
||||
|
||||
// Sig: HRESULT OnGetItemCountMaxPerLine(XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled)
|
||||
#define XUI_ON_XM_GET_ITEMCOUNT_MAX_PER_LINE(MemberFunc)\
|
||||
if (pMessage->dwMessage == XM_GET_ITEMCOUNT && ((XUIMessageGetItemCount *) pMessage->pvData)->nType == XUI_ITEMCOUNT_MAX_PER_LINE)\
|
||||
{\
|
||||
XUIMessageGetItemCount *pData = (XUIMessageGetItemCount *) pMessage->pvData;\
|
||||
return MemberFunc(pData, pMessage->bHandled);\
|
||||
}
|
||||
|
||||
class AbstractContainerMenu;
|
||||
class SlotListItemControl;
|
||||
class CXuiCtrlSlotItemListItem;
|
||||
|
||||
class CXuiCtrlSlotList : public CXuiListImpl
|
||||
{
|
||||
public:
|
||||
// Define the class. The class name must match the ClassOverride property
|
||||
// set for the scene in the UI Authoring tool.
|
||||
XUI_IMPLEMENT_CLASS( CXuiCtrlSlotList, L"CXuiCtrlSlotList", XUI_CLASS_LIST )
|
||||
|
||||
XUI_BEGIN_MSG_MAP()
|
||||
XUI_ON_XM_INIT( OnInit )
|
||||
XUI_ON_XM_DESTROY(OnDestroy)
|
||||
XUI_ON_XM_KEYDOWN( OnKeyDown )
|
||||
XUI_ON_XM_GET_ITEMCOUNT_ALL( OnGetItemCountAll )
|
||||
XUI_ON_XM_GET_ITEMCOUNT_MAX_LINES(OnGetItemCountMaxLines)
|
||||
XUI_ON_XM_GET_ITEMCOUNT_MAX_PER_LINE(OnGetItemCountMaxPerLine)
|
||||
XUI_END_MSG_MAP()
|
||||
|
||||
HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled );
|
||||
HRESULT OnDestroy();
|
||||
HRESULT OnKeyDown(XUIMessageInput *pInputData, BOOL& bHandled);
|
||||
HRESULT OnGetItemCountAll( XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled );
|
||||
HRESULT OnGetItemCountMaxLines(XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled);
|
||||
HRESULT OnGetItemCountMaxPerLine(XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled);
|
||||
HRESULT OnRender(XUIMessageRender *pRenderData, BOOL &rfHandled);
|
||||
|
||||
public:
|
||||
void SetData(int m_iPad, AbstractContainerMenu* menu, int rows, int columns, int startIndex = 0, int endIndex = 0);
|
||||
|
||||
int GetRows() { return rows; };
|
||||
int GetColumns() { return columns; };
|
||||
int GetCurrentColumn();
|
||||
int GetCurrentRow();
|
||||
|
||||
int GetCurrentIndex();
|
||||
|
||||
void SetCurrentSlot(int row, int column);
|
||||
void SetEntrySlot(int row, int column, XUI_CONTROL_NAVIGATE direction);
|
||||
|
||||
void Clicked();
|
||||
|
||||
// 4J WESTY : Pointer Prototype : Made public.
|
||||
void GetCXuiCtrlSlotItem(int itemIndex, CXuiCtrlSlotItemListItem** CXuiCtrlSlotItem);
|
||||
|
||||
private:
|
||||
int slotCount;
|
||||
int rows;
|
||||
int columns;
|
||||
int startIndex;
|
||||
|
||||
// 4J WESTY : Pointer Prototype : Made public.
|
||||
//void GetCXuiCtrlSlotItem(int itemIndex, CXuiCtrlSlotItemListItem** CXuiCtrlSlotItem);
|
||||
};
|
||||
Reference in New Issue
Block a user