73 lines
2.7 KiB
C++
73 lines
2.7 KiB
C++
#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);
|
|
}; |