aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/XUI/XUI_Ctrl_SliderWrapper.h
blob: 03659fcaef7e68b6c64d3b385a5e399391037a11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once

class CXuiCtrlSliderWrapper : public CXuiSceneImpl
{
private:
	CXuiSlider *m_pSlider;
	CXuiControl *m_pFocusSink;
	bool m_sliderActive;
	bool m_bDisplayVal;
	bool m_bPlaySound;

protected:
	// Message map. Here we tie messages to message handlers.
	XUI_BEGIN_MSG_MAP()
		XUI_ON_XM_INIT( OnInit )
		XUI_ON_XM_TIMER( OnTimer )
		XUI_ON_XM_KEYDOWN(OnKeyDown)
		XUI_ON_XM_NOTIFY_VALUE_CHANGED(OnNotifyValueChanged)
	XUI_END_MSG_MAP()

	HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled );
	HRESULT OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled);
	HRESULT OnNotifyValueChanged (HXUIOBJ hObjSource, XUINotifyValueChanged* pValueChangedData, BOOL& rfHandled);
	HRESULT OnTimer(XUIMessageTimer *pData,BOOL& rfHandled);
public:

	// Define the class. The class name must match the ClassOverride property
	// set for the scene in the UI Authoring tool.
	XUI_IMPLEMENT_CLASS( CXuiCtrlSliderWrapper, L"CXuiCtrlSliderWrapper", XUI_CLASS_SCENE )

	HRESULT SetValue( int nValue );
	HXUIOBJ GetSlider();
	HRESULT SetRange( int nRangeMin, int nRangeMax);
	LPCWSTR GetText(  );
	HRESULT SetText(LPCWSTR text, int iDataAssoc=0  );
	HRESULT SetValueDisplay( BOOL bShow );

};