#ifndef PANELSELFCHECK_H_
#define PANELSELFCHECK_H_ 

#include "gType.h" 
#include "GraphBase.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "my_string.h"
#include "Device.h"
#include "EpDevice.h"
#include "StaticText.h"
#include "MainCtl.h"
#include "Runtime.h"
#include "RuntimeData2.h"

#define dLISTVIEW_VSCOLLBAR_WIDTH	20

//For Device View or Edit
class TPanelSelfCheck{
	public:
		class TEdit vEdit;
		struct{
			struct{
				unsigned char Bat;
				unsigned char Mem;
				unsigned char CommBoardCount;
				unsigned char CircultCount;
				
				unsigned char HandCtlCount;
				unsigned char DirectCtlCount;
				unsigned char MotherBoardCount;
				unsigned char ExLinkBoardCount;
				
				unsigned char Dump0;
				unsigned char Dump1;
				unsigned short EpDevCount;
				
			}Registed;
			struct{
				unsigned char Bat;
				unsigned char Mem;
				unsigned char CommBoardCount;
				unsigned char CircultCount;
				
				unsigned char HandCtlCount;
				unsigned char DirectCtlCount;
				unsigned char MotherBoardCount;
				unsigned char ExLinkBoardCount;
				
				unsigned char Dump0;
				unsigned char Dump1;
				unsigned short EpDevCount;
			}Offline;
			struct{
				unsigned char Bat;
				unsigned char Mem;
				unsigned char CommBoardCount;
				unsigned char CircultCount;
				
				unsigned char HandCtlCount;
				unsigned char DirectCtlCount;
				unsigned char MotherBoardCount;
				unsigned char ExLinkBoardCount;
				
				unsigned char Dump0;
				unsigned char Dump1;
				unsigned short EpDevCount;
			}Fault;
			unsigned char CheckState;
			unsigned char Dump;
			unsigned char CheckOk;
			unsigned char Exist;
		}Machine[dNETWORK_MACHINE_COUNT];
	public:
		TStaticText Caption;
		TStaticText SText;
		TStaticText STextTip;
	
		u32 Color;
	
		int TabOrder;
	
		TPoint OwnerLeftTop; //ParrentLeftTop;
		TRect Bound;	
		TRect Content;
	
		TRect RectMaster;
		TRect RectSlave;
		char Text[32];
		unsigned char DoIndex;
		unsigned char AskingEnter;
		unsigned char CheckDone;
		unsigned char ViewIndex;
		int Checking;
		
	public:
		TPanelSelfCheck(){
			AskingEnter = 1;
			DoIndex = 0;
		}
		TPanelSelfCheck(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);	
		unsigned int ItemGetIcon(unsigned int aIndex);
		
		void RenderBackGround(void);
		void RenderBackGround(unsigned int aClr);
		void DrawSelf(void);
		void DrawSel();
		void DrawList(void);
		void TipOut();
		void Show(void);
		void ReDraw(void);
		void ShowAskingEnter();
		void DrawCaption(void);
		void DrawCaption1(void);
		void RenderContent(void);
		
		void DrawStateIdf_0(void);
		void DrawOngoGrid();
		void DrawFixText();
		
		TGuiMsgReturn KeyIn(unsigned char aKey);
		
		void LoadData(void);
		
		void FullRePaint(void);
		void RePaint(void);
		void ShowIfSave();
		
		void DoSequence();
		
		void Task1000Ms();
};





































#endif

