#ifndef PRINTINF_H_
#define PRINTINF_H_

#include "gType.h" 
#include "GraphLow.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 "TEdit.h"
#include "QueryMessage.h"

class TPrintInf{
	public:
		int FocusIndex;
		char SelectedFromOrEnd;
		char SelectedIndex;
	
		char ReStoreP0;
		char ReStoreP1;
	
		unsigned long long StartTime;
		unsigned long long StopTime;
		union{
			unsigned long long D64;
			unsigned char D8[8];
			struct{
				unsigned int Low4;
				unsigned int Hi2;
			}D32;
		}alt;
		int Count;
		int CountFire;
		int CountLinkage;
		int CountSv;
		int CountFault;
		int CountOperate;
		
		int Count2Print;
		struct{
			struct{
				int Fire;
				int Lnk;
				int Sv;
				int Fault;
				int Opa;
			}Begin,End;
		}InxScope;
		TQueryMsg *pMsg;
		
		struct{
			short px;
			unsigned char PrintAva[5]; 
			unsigned char Done[5];
			unsigned char AvaCount;
			unsigned char Dump;
			int Inx[5];
			unsigned long long MemX[5];
			void Init(){
				px =0;
				AvaCount =0;
				for(int i=0; i<5; i++){
					PrintAva[i] =0;
					Done[i] =0;
					MemX[i] =0;
				}
			}
		}OnGo;
	
		unsigned char IsPermission;
	
		TRect Bound;
		TRect BoundCaption;
		TRect Content;
	
		TRect BoxBound;
	
		TRect BoxBoundTime;
	
		unsigned char InfList[8];
		unsigned char WhatSel;
		unsigned char vtValueFrom[8];
		unsigned char vtValueTo[8];
		char vtTextFrom[6][4];
		char vtTextTo[6][4];
		unsigned int IsEditing;
		
		unsigned char Text[16];
		class TEdit vEdit;
		
		
		TRecordCommon RecordMsg;
	public:
		TPrintInf(){};
		void Init(int x1, int y1, int aW, int aH, int OwnerX, int OwnerY, u32 aColor);
		void ChangeWg();
		void DrawWidget();
		void ReDrawItems();
		void DrawSelf();
		void DrawBoxItemsOutLine(void);
		void DrawBoxItems(void);
		void DrawBoxTimeOutLine();
		void DrawBoxTime();
		void DrawBoxTimeString();
		void DrawTimeEntry();
		void DrawTimeEntryNoUpdate(void);
		void DrawSaveButton();
		void Show();
		void FullRedraw(int Prm);
		void ShowDetial();
		
		void SetEditStart(void);
		void RestoreFromEdit(void);
			
		TGuiMsgReturn KeyIn(unsigned char aKey);
			
		void GetDetial();
		
		void PermissionCmdReturnDraw();
		void PermissionCmdGO();
		
		void GetStartStopTime();
		void GoPrint();
		
		unsigned long long GetMsgMemInx(int What, int aInx);
		int PrintOneEntry();
		
		int ExtRequst(unsigned char Prm){return 0;}
};



#endif

