#ifndef ITEMLIST_H_
#define ITEMLIST_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"
#include "DevProperty.h"

class TItemList{
	public:
		static constexpr int RtDataMaxLen = 512;
	public:
	TStaticText Caption;
	TStaticText STextCtlType;
	TStaticText STextState;
	TStaticText STextDType;
	TStaticText STextRegisted;
	TStaticText STextCtlNum;
	TStaticText STextModuleInDefineType;
	TStaticText STextLastState;
	TEdit		EditCtlNum;
	TEdit 	EditPortNum;
	TEdit 	EditAddrNum;
	TEdit 	EditDescpShow;
	TEdit 	EditUserCode;
	TEdit 	EditAreaAssign;

	TEdit		Edit[4];
	union{
		char TextOut[8][100];
		struct{
			char PnVerMotherBoard[5][24];	//120
			char PnVerKeyPad[24];		//144
			char PnVerPrinter[24];		//168
			char PnVerExtMem[24];		//192
			char PnVerCommBoard[24];	//216
			char PnVerPowerSpy[4][24];	//312
			char PnVerEth[24];		//
			char PnVerWireless[24];		//360
			
			char Str[72];			//568			
			char StrPn[20];			//
			char StrVer[20];			//
			char StrPnInRam[20];			
			char StrVerInRam[20];		//648
			
			char MotherBrdOk[8];		//
			char PortOk[40];
			char BusPadOk[20];
			char DirectPadOk[20];
			char PowerSpyOk[4];
			char KeyPadOk;
			char PrinterOk;
			char ExtMemOk;
			char EthNetworkOk;
			char WirelessOk;
			char CommBoardOk;
		};
	};
	union{
		char Text[128][16];
		struct{
			char PnVerPort[40][24];
			char PnVerBusPad[20][24];
			char PnVerDirectPad[20][24];
		};
		unsigned char Data[4][512];
		void Reset(){
			for(int i=0; i<512; i++){
				Data[0][i] =0;
				Data[1][i] =0;
				Data[2][i] =0;
				Data[3][i] =0;
			}
		}
	}RealtimeData;
	
	union{
		char Str[256];
		unsigned char D8[256];
		unsigned short D16[128];
		unsigned int  D32[64];
		void Reset(){
			for(int i=0; i<64; i++){
				D32[i] = 0;
			}
		}
	}ReadWriteData;
	void TextOutClear(){
		for(int i=0; i<8; i++){
			for(int x=0; x<100; x++)TextOut[i][x] = 0;
		}
	}
};


















#endif

