#ifndef TMESSAGEBOX_H_
#define TMESSAGEBOX_H_

#include "gType.h" 
#include "gValue.h" 
#include "GraphBase.h"
#include "TEdit.h"
#include "TButton.h"
#include "StaticText.h"

class TMessageBox{
	public:
		TStaticText Caption;
	
		TStaticText SText;

		TRect Bound;
		TRect Content;
		TRect BoxBound;
		
		TButton Btn[4];
	
		u32 Color;
		u32 BoxColor;
		u32 TextColor;
		u32 SelectedColor;
		u32 SelectedTextColor;
	
		unsigned char sIndex;
		unsigned char BtnNum;
	
		unsigned char DoWhatDone;
		TGuiMsgReturn ReturnVal[4];
		
	public:
		TMessageBox(){};
		TMessageBox(int x1, int y1, int aW, int aH, int OwnerX, int OwnerY, u32 aColor){
			Init(x1, y1, aW, aH, OwnerX, OwnerY, aColor);
		};
		void Init(int x1, int y1, int aW, int aH, int OwnerX, int OwnerY, u32 aColor);
		void RenderBackGround(void);
		void RenderBackGround(unsigned int aClr);
		void DrawSelf(void);
		void Show();
		
		void SetBox(int x, int y, int x2, int y2, unsigned int aClr);
		void SetBoxColor(unsigned int aClr);
		void DrawBox();
		void SetBtn();
		
		void CheckSelect();
		void DrawMessage();
		void DrawBtn();
		
		void InitItems();
		int FindNextBtn(int aLR);
		TGuiMsgReturn KeyIn(unsigned char aKey);
		
		void SetBtnOkCancel();
		void SetBtnOk1Ok2Cancel();
		
		void DoWait4ExitLogin();
		void DoWait4EnterAdj();
		void DoWait4ExitAdj();
		void DoWait4RunMode();
		void DoWait4EnterSelfCheck();
		void DoWait4SaveCurrent();
		void DoReadWriteBusPad();
		void ReqAdjMode();
		
		void SetReturnValue(TGuiMsgReturn aV0, TGuiMsgReturn aV1, TGuiMsgReturn aV2, TGuiMsgReturn aV3);
		
		int ExtRequst(unsigned char Prm){return 0;}
};


#endif
