aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/XUI/XUI_TextEntry.h
blob: 70dcf30b250744f08aa042dc83a78d6af475a9aa (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#pragma once
#include "..\Media\xuiscene_text_entry.h"
#include "XUI_Ctrl_4JEdit.h"


class CScene_TextEntry : public CXuiSceneImpl
{
public:
	typedef struct _XuiTextInputParams
	{
		int iPad;
		WCHAR wch;
	} 
	XuiTextInputParams;

	typedef struct _CommamndParams
	{
		WCHAR wchCommand[40];
		WCHAR wchFormat[40];
	} 
	CommandParams;

	enum 
	{
		eCommand_Teleport=0,
		eCommand_Give,
		eCommand_MAX
	}
	eCommands;

protected:
	CXuiCtrl4JEdit m_EditText;


	XUI_BEGIN_MSG_MAP()
		XUI_ON_XM_INIT( OnInit )
		XUI_ON_XM_NOTIFY_VALUE_CHANGED(OnNotifyValueChanged)
		XUI_ON_XM_KEYDOWN(OnKeyDown)

	XUI_END_MSG_MAP()

	BEGIN_CONTROL_MAP()
		MAP_CONTROL(IDC_XuiEditText, m_EditText)
	END_CONTROL_MAP()


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

	HRESULT InterpretString(wstring &wsText);
	HRESULT Init_Commands();
public:

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

private:
	int m_iPad;
	WCHAR m_wchInitialChar;
	static CommandParams CommandA[eCommand_MAX];
	unordered_map<wstring, int> m_CommandSet;
};