#ifndef CIRCUITSTATE_H_
#define CIRCUITSTATE_H_

#include "gType.h" 
#include "GraphBase.h"
#include "string.h"
#include "my_string.h"
#include "Device.h"
#include "EpDevice.h"
#include "StaticText.h"
#include "CtlPanel1.h"

class TCircuitState{
	public:
		TCtlPanel1 *aPanel;
		unsigned int IsShowing;
	public:
		TStaticText Caption;
		TStaticText SText;

		u32 Color;
		u32 TextColor;
		u32 SelectedColor;
		u32 SelectedTextColor;
	
		int TabOrder;
	
		TRect Bound;	
		TRect VScrollBarBox;
	
		TRect Content;
		TRect RectPanel;
		
		TMyString Str;
		
		unsigned int CtlIndex;
		unsigned int CtlLevel;
	
		int IsFastCmd;
		unsigned char Data[8];
		unsigned short RecData[12];
		unsigned char RecDataUpdateFlag[12];
		
		struct{
			unsigned char pNum;
			unsigned char P0;
			unsigned char P1;
			unsigned char dType;
		}Path;
	private:
		void SetListColWidth(int w0, int w1, int w2, int w3, int w4,int w5,int w6, int w7, int w8, int w9);
	public:
		TCircuitState(){};
		TCircuitState(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 SetAndShowCaption(unsigned char aType);
		
		void RenderBackGround(void);
		void RenderBackGround(unsigned int aClr);
		void DrawSelf(void);
		
		void Show(void);
		void ReDraw(void);
		void FullRedraw(int Prm);
		void PanelCanvasOut();
		void DrawCaption2(void);
		
		TGuiMsgReturn KeyIn(unsigned char aKey);
		
		void InitPanel();
		
		void Check4Selected(void);
		void CheckPathDev();
		void SendCmd(unsigned int IsStart);
		
		int ExtRequst(unsigned char Prm);
};



#endif

