#ifndef QUERYMESSAGE_H_
#define QUERYMESSAGE_H_

#include "gType.h" 
#include "GraphBase.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "my_string.h"
#include "MainCtl.h"
#include "Device.h"
#include "EpDevice.h"
#include "DevProperty.h"
#include "ProtoFecBus.h"

typedef struct{
	int What;
	int Inx;
	TDMix64 sInx;
}TMsgFoundInf;

//For Message View
class TQueryMessageFire{
	public:
		int TopIndex;
		int SelectedIndex;
		int Count;
		int IsShowing;
		int NeedDisplayDescp;
		int IsFirst;
	
		int InTimeStartIndex;
		int InTimeStopIndex;
		int InTimeCount;
		int InTimeTopIndex;
		int InTimeSelectedIndex;
		int InTimeList[8];
		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;
	public:
		TStaticText Caption;
		int ActiveLineNum;

		u32 FixColColor;
		u32 FixColTextColor;
		u32 Color;
		u32 TextColor;
		u32 SelectedColor;
		u32 SelectedTextColor;
	
		int TabOrder;
	
		TPoint OwnerLeftTop; //ParrentLeftTop;
		TRect Bound;
		TRect BoxBoundTime;	
		TRect Content;
		TRect	GoPrint;
		
		unsigned char vtValueFrom[8];
		unsigned char vtValueTo[8];
		unsigned char vtTextFrom[6][4];
		unsigned char vtTextTo[6][4];
		char vtTextCount[8];
		int IsInputTime;
		int IsAllTime;
		int IsAllTimeTemp;
		int TimeEditFrom;
		int TimeIndex;
		int IsEditing;
		int ReStoreP0;
		int ReStoreP1;
		int IsGoPrint;
		int PrintWhat;
		
		TRecordEntry	EntryTmp;
		TRecordCommon 	RecordMsg;
		
		union{
			unsigned int D32[16];
			char Text[64];
		}Text, DescpText;
		
		TDateTimeBytes DateTimeCovered;
		class TEdit vEdit;

	private:
		void CalcIconDrawPrm(void);
		void SetListColWidth(int w0, int w1, int w2, int w3, int w4,int w5,int w6, int w7, int w8);
		void LoadPath0Item(TRootDevice *pItem);
		void LoadPath1Item(TEpDevice *pItem);
	
		void DrawVScrollBar_ListView(void);
		void DrawVScrollBar_IconView(void);
		TGuiMsgReturn QueryKeyIn(unsigned char aKey);
		TGuiMsgReturn EditKeyIn(unsigned char aKey);
		
	public:
		TQueryMessageFire(){};
		TQueryMessageFire(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 InitBackEnd();
		void LoadData();
		
		void RenderBackGround(void);
		void RenderBackGround(unsigned int aClr);
		void DrawSelf(void);
		void DrawFixCol(void);
		void DrawVertScrollBar(void);
		void DrawShortList(void);
		void DrawItemCount(int aCount);
		void DrawList(void);
		void Show(void);
		void ReDraw(void);
		void DrawCaption(void);
		void DrawCaption2(void);
		void RenderContent(void);
		void RenderWarningWait(void);
		
		void DrawBoxTimeOutLine();
		void DrawIfAllTime();
		void DrawTimeEntry(void);
		void DrawTimeEntryNoUpdate();
		void DrawBoxTime(void);
		void DrawBoxTimeString(void);
		
		void ShowTip();
		
		TGuiMsgReturn KeyIn(unsigned char aKey);
		
		void FullRePaint(void);
		void RePaint(void);
		void FullRedraw(int Prm);
		
		void DrawListAll(void);
		void DrawListInTime(void);
		
		void SetShowAllMsg(void);
		void SetShowFireMsg(void);
		void SetShowLinkage();
		void SetShowFaultMsg(void);
		void SetShowOperate(void);
		void SetSuperVs(void);
		
		void LoadPrv(void);
		void LoadFroward(void);
		
		void SetEditStart(void);
		void RestoreFromEdit(void);
		
		void DrawGoPrintOutLine();
		void DrawPrintWhat();
		
		int FillText(int aInx, int ShowInx);
		void FillDescpText(int aInx);
		void FillDescpTextEmpty();
		void GetStartStopTime();
		void FindInTimeEntry();
		unsigned long long aTimeGet(int aInx);
		
		void GetEntry4Print(int aInx);
		void AddOnUserCode();
			
		void Task1000Ms();
		
		int ExtRequst(unsigned char Prm);
};




//For Message View
class TQueryMsgLinkage{
	public:
		int TopIndex;
		int SelectedIndex;
		int Count;
		int IsShowing;
		int NeedDisplayDescp;
	
		int InTimeStartIndex;
		int InTimeStopIndex;
		int InTimeCount;
		int InTimeTopIndex;
		int InTimeSelectedIndex;
		int InTimeList[8];
		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;
	public:
		TStaticText Caption;
		int ActiveLineNum;

		u32 FixColColor;
		u32 FixColTextColor;
		u32 Color;
		u32 TextColor;
		u32 SelectedColor;
		u32 SelectedTextColor;
	
		int TabOrder;
	
		TPoint OwnerLeftTop; //ParrentLeftTop;
		TRect Bound;
		TRect BoxBoundTime;	
		TRect Content;
		TRect	GoPrint;
		
		unsigned char vtValueFrom[8];
		unsigned char vtValueTo[8];
		unsigned char vtTextFrom[6][4];
		unsigned char vtTextTo[6][4];
		char vtTextCount[8];
		int IsInputTime;
		int IsAllTime;
		int IsAllTimeTemp;
		int TimeEditFrom;
		int TimeIndex;
		int IsEditing;
		int ReStoreP0;
		int ReStoreP1;
		int IsGoPrint;
		int PrintWhat;
		
		TRecordEntry	EntryTmp;
		TRecordCommon 	RecordMsg;
		
		union{
			unsigned int D32[16];
			char Text[64];
		}Text, DescpText;
		
		TDateTimeBytes DateTimeCovered;
		
		class TEdit vEdit;
		
		unsigned char IsSimulate;

	private:
		void CalcIconDrawPrm(void);
		void SetListColWidth(int w0, int w1, int w2, int w3, int w4,int w5,int w6, int w7, int w8);
		void LoadPath0Item(TRootDevice *pItem);
		void LoadPath1Item(TEpDevice *pItem);
	
		void DrawVScrollBar_ListView(void);
		void DrawVScrollBar_IconView(void);
		TGuiMsgReturn QueryKeyIn(unsigned char aKey);
		TGuiMsgReturn EditKeyIn(unsigned char aKey);
		
	public:
		TQueryMsgLinkage(){};
		TQueryMsgLinkage(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 InitBackEnd();
		void LoadData();
		
		void RenderBackGround(void);
		void RenderBackGround(unsigned int aClr);
		void DrawSelf(void);
		void DrawFixCol(void);
		void DrawVertScrollBar(void);
		void DrawShortList(void);
		void DrawItemCount(int aCount);
		void DrawList(void);
		void Show(void);
		void ReDraw(void);
		void DrawCaption(void);
		void DrawCaption2(void);
		void RenderContent(void);
		void RenderWarningWait(void);
		
		void DrawBoxTimeOutLine();
		void DrawIfAllTime();
		void DrawTimeEntry(void);
		void DrawTimeEntryNoUpdate();
		void DrawBoxTime(void);
		void DrawBoxTimeString(void);
		
		void ShowTip();
		
		TGuiMsgReturn KeyIn(unsigned char aKey);
		
		void FullRePaint(void);
		void RePaint(void);
		void FullRedraw(int Prm);
		
		void DrawListAll(void);
		void DrawListInTime(void);
		
		void SetShowAllMsg(void);
		void SetShowFireMsg(void);
		void SetShowLinkage();
		void SetShowFaultMsg(void);
		void SetShowOperate(void);
		void SetSuperVs(void);
		
		void LoadPrv(void);
		void LoadFroward(void);
		
		void SetEditStart(void);
		void RestoreFromEdit(void);
		
		void DrawGoPrintOutLine();
		void DrawPrintWhat();
		
		int FillText(int aInx, int ShowInx);
		void FillDescpText(int aInx);
		void FillDescpTextEmpty();
		void GetStartStopTime();
		void FindInTimeEntry();
		unsigned long long aTimeGet(int aInx);
		
		void GetEntry4Print(int aInx);
		void AddOnUserCode();
			
		void Task1000Ms();
		
		
		int ExtRequst(unsigned char Prm);
};




//For Message View
class TQueryMsgSv{
	public:
		int TopIndex;
		int SelectedIndex;
		int Count;
		int IsShowing;
		int NeedDisplayDescp;
	
		int InTimeStartIndex;
		int InTimeStopIndex;
		int InTimeCount;
		int InTimeTopIndex;
		int InTimeSelectedIndex;
		int InTimeList[8];
		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;
	public:
		TStaticText Caption;
		int ActiveLineNum;

		u32 FixColColor;
		u32 FixColTextColor;
		u32 Color;
		u32 TextColor;
		u32 SelectedColor;
		u32 SelectedTextColor;
	
		int TabOrder;
	
		TPoint OwnerLeftTop; //ParrentLeftTop;
		TRect Bound;
		TRect BoxBoundTime;	
		TRect Content;
		TRect	GoPrint;
		
		unsigned char vtValueFrom[8];
		unsigned char vtValueTo[8];
		unsigned char vtTextFrom[6][4];
		unsigned char vtTextTo[6][4];
		char vtTextCount[8];
		int IsInputTime;
		int IsAllTime;
		int IsAllTimeTemp;
		int TimeEditFrom;
		int TimeIndex;
		int IsEditing;
		int ReStoreP0;
		int ReStoreP1;
		int IsGoPrint;
		int PrintWhat;
		
		TRecordEntry	EntryTmp;
		TRecordCommon 	RecordMsg;
		
		union{
			unsigned int D32[16];
			char Text[64];
		}Text;
		TDateTimeBytes DateTimeCovered;
		
		class TEdit vEdit;
		
		unsigned char IsSimulate;

	private:
		void CalcIconDrawPrm(void);
		void SetListColWidth(int w0, int w1, int w2, int w3, int w4,int w5,int w6, int w7, int w8);
		void LoadPath0Item(TRootDevice *pItem);
		void LoadPath1Item(TEpDevice *pItem);
	
		void DrawVScrollBar_ListView(void);
		void DrawVScrollBar_IconView(void);
		TGuiMsgReturn QueryKeyIn(unsigned char aKey);
		TGuiMsgReturn EditKeyIn(unsigned char aKey);
		
	public:
		TQueryMsgSv(){};
		TQueryMsgSv(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 InitBackEnd();
		void LoadData();
		
		void RenderBackGround(void);
		void RenderBackGround(unsigned int aClr);
		void DrawSelf(void);
		void DrawFixCol(void);
		void DrawVertScrollBar(void);
		void DrawShortList(void);
		void DrawItemCount(int aCount);
		void DrawList(void);
		void Show(void);
		void ReDraw(void);
		void DrawCaption(void);
		void DrawCaption2(void);
		void RenderContent(void);
		void RenderWarningWait(void);
		
		void DrawBoxTimeOutLine();
		void DrawIfAllTime();
		void DrawTimeEntry(void);
		void DrawTimeEntryNoUpdate();
		void DrawBoxTime(void);
		void DrawBoxTimeString(void);
		
		void ShowTip();
		
		TGuiMsgReturn KeyIn(unsigned char aKey);
		
		void FullRePaint(void);
		void RePaint(void);
		void FullRedraw(int Prm);
		
		void DrawListAll(void);
		void DrawListInTime(void);
		
		void SetShowAllMsg(void);
		void SetShowFireMsg(void);
		void SetShowLinkage();
		void SetShowFaultMsg(void);
		void SetShowOperate(void);
		void SetSuperVs(void);
		
		void LoadPrv(void);
		void LoadFroward(void);
		
		void SetEditStart(void);
		void RestoreFromEdit(void);
		
		void DrawGoPrintOutLine();
		void DrawPrintWhat();
		
		int FillText(int aInx, int ShowInx);
		void FillDescpText(int aInx);
		void FillDescpTextEmpty();
		void GetStartStopTime();
		void FindInTimeEntry();
		unsigned long long aTimeGet(int aInx);
		
		void GetEntry4Print(int aInx);
		void AddOnUserCode();
			
		void Task1000Ms();
		
		
		int ExtRequst(unsigned char Prm);
};



//For Message View
class TQueryMsgFault{
	public:
		int TopIndex;
		int SelectedIndex;
		int Count;
		int IsShowing;
		int NeedDisplayDescp;
	
		int InTimeStartIndex;
		int InTimeStopIndex;
		int InTimeCount;
		int InTimeTopIndex;
		int InTimeSelectedIndex;
		int InTimeList[8];
		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;
	public:
		TStaticText Caption;
		int ActiveLineNum;

		u32 FixColColor;
		u32 FixColTextColor;
		u32 Color;
		u32 TextColor;
		u32 SelectedColor;
		u32 SelectedTextColor;
	
		int TabOrder;
	
		TPoint OwnerLeftTop; //ParrentLeftTop;
		TRect Bound;
		TRect BoxBoundTime;	
		TRect Content;
		TRect	GoPrint;
		
		unsigned char vtValueFrom[8];
		unsigned char vtValueTo[8];
		unsigned char vtTextFrom[6][4];
		unsigned char vtTextTo[6][4];
		char vtTextCount[8];
		int IsInputTime;
		int IsAllTime;
		int IsAllTimeTemp;
		int TimeEditFrom;
		int TimeIndex;
		int IsEditing;
		int ReStoreP0;
		int ReStoreP1;
		int IsGoPrint;
		int PrintWhat;
		
		TRecordEntry	EntryTmp;
		TRecordCommon 	RecordMsg;
		
		union{
			unsigned int D32[17];
			char Text[68];
		}Text, DescpText;
		TDateTimeBytes DateTimeCovered;
		
		class TEdit vEdit;

	private:
		void CalcIconDrawPrm(void);
		void SetListColWidth(int w0, int w1, int w2, int w3, int w4,int w5,int w6, int w7, int w8);
		void LoadPath0Item(TRootDevice *pItem);
		void LoadPath1Item(TEpDevice *pItem);
	
		void DrawVScrollBar_ListView(void);
		void DrawVScrollBar_IconView(void);
		TGuiMsgReturn QueryKeyIn(unsigned char aKey);
		TGuiMsgReturn EditKeyIn(unsigned char aKey);
		
	public:
		TQueryMsgFault(){};
		TQueryMsgFault(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 InitBackEnd();
		void LoadData();
		
		void RenderBackGround(void);
		void RenderBackGround(unsigned int aClr);
		void DrawSelf(void);
		void DrawFixCol(void);
		void DrawVertScrollBar(void);
		void DrawShortList(void);
		void DrawItemCount(int aCount);
		void DrawList(void);
		void Show(void);
		void ReDraw(void);
		void DrawCaption(void);
		void DrawCaption2(void);
		void RenderContent(void);
		void RenderWarningWait(void);
		
		void DrawBoxTimeOutLine();
		void DrawIfAllTime();
		void DrawTimeEntry(void);
		void DrawTimeEntryNoUpdate();
		void DrawBoxTime(void);
		void DrawBoxTimeString(void);
		
		void ShowTip();
		
		TGuiMsgReturn KeyIn(unsigned char aKey);
		
		void FullRePaint(void);
		void RePaint(void);
		void FullRedraw(int Prm);
		
		void DrawListAll(void);
		void DrawListInTime(void);
		
		void SetShowAllMsg(void);
		void SetShowFireMsg(void);
		void SetShowLinkage();
		void SetShowFaultMsg(void);
		void SetShowOperate(void);
		void SetSuperVs(void);
		
		void LoadPrv(void);
		void LoadFroward(void);
		
		void SetEditStart(void);
		void RestoreFromEdit(void);
		
		void DrawGoPrintOutLine();
		void DrawPrintWhat();
		
		int FillText(int aInx, int ShowInx);
		void FillDescpText(int aInx);
		void FillDescpTextEmpty();
		void GetStartStopTime();
		void FindInTimeEntry();
		unsigned long long aTimeGet(int aInx);
		
		void GetEntry4Print(int aInx);
			
		void Task1000Ms();
		
		
		int ExtRequst(unsigned char Prm);
};


//For Message View
class TQueryMsgOperate{
	public:
		int TopIndex;
		int SelectedIndex;
		int Count;
		int IsShowing;
		int NeedDisplayDescp;
		int NeedDrawCfg;
	
		int InTimeStartIndex;
		int InTimeStopIndex;
		int InTimeCount;
		int InTimeTopIndex;
		int InTimeSelectedIndex;
		int InTimeList[8];
		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;
	public:
		TStaticText Caption;
		int ActiveLineNum;

		u32 FixColColor;
		u32 FixColTextColor;
		u32 Color;
		u32 TextColor;
		u32 SelectedColor;
		u32 SelectedTextColor;
	
		int TabOrder;
	
		TPoint OwnerLeftTop; //ParrentLeftTop;
		TRect Bound;
		TRect BoxBoundTime;	
		TRect Content;
		TRect	GoPrint;
		
		unsigned char vtValueFrom[8];
		unsigned char vtValueTo[8];
		unsigned char vtTextFrom[6][4];
		unsigned char vtTextTo[6][4];
		char vtTextCount[8];
		int IsInputTime;
		int IsAllTime;
		int IsAllTimeTemp;
		int TimeEditFrom;
		int TimeIndex;
		int IsEditing;
		int ReStoreP0;
		int ReStoreP1;
		int IsGoPrint;
		int PrintWhat;
		
		TRecordEntry	EntryTmp;
		TRecordCommon 	RecordMsg;
		
		union{
			unsigned int D32[16];
			char Text[64];
		}Text;
		
		TDateTimeBytes DateTimeCovered;
		class TEdit vEdit;

	private:
		void CalcIconDrawPrm(void);
		void SetListColWidth(int w0, int w1, int w2, int w3, int w4,int w5,int w6, int w7, int w8);
		void LoadPath0Item(TRootDevice *pItem);
		void LoadPath1Item(TEpDevice *pItem);
	
		void DrawVScrollBar_ListView(void);
		void DrawVScrollBar_IconView(void);
		TGuiMsgReturn QueryKeyIn(unsigned char aKey);
		TGuiMsgReturn EditKeyIn(unsigned char aKey);
		
	public:
		TQueryMsgOperate(){};
		TQueryMsgOperate(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 InitBackEnd();
		void LoadData();
		
		void RenderBackGround(void);
		void RenderBackGround(unsigned int aClr);
		void DrawSelf(void);
		void DrawFixCol(void);
		void DrawVertScrollBar(void);
		void DrawShortList(void);
		void DrawItemCount(int aCount);
		void DrawList(void);
		void Show(void);
		void ReDraw(void);
		void DrawCaption(void);
		void DrawCaption2(void);
		void RenderContent(void);
		void RenderWarningWait(void);
		
		void DrawBoxTimeOutLine();
		void DrawIfAllTime();
		void DrawTimeEntry(void);
		void DrawTimeEntryNoUpdate();
		void DrawBoxTime(void);
		void DrawBoxTimeString(void);
		
		void ShowTip();
		
		TGuiMsgReturn KeyIn(unsigned char aKey);
		
		void FullRePaint(void);
		void RePaint(void);
		void FullRedraw(int Prm);
		
		void DrawListAll(void);
		void DrawListInTime(void);
		
		void SetShowAllMsg(void);
		void SetShowFireMsg(void);
		void SetShowLinkage();
		void SetShowFaultMsg(void);
		void SetShowOperate(void);
		void SetSuperVs(void);
		
		void LoadPrv(void);
		void LoadFroward(void);
		
		void SetEditStart(void);
		void RestoreFromEdit(void);
		
		void DrawGoPrintOutLine();
		void DrawPrintWhat();
		
		void FillCtlNum();
		void FillCtlNumNoSpace();
		void FillTextWithDateTime();
		void FillTextWithPath();
		void FillTextWithDType();
		
		void FillText4PowerOff();
		void FillText4PowerUp();
		void FillText4MsgReset(unsigned char Data1);
		void FillText4MsgMute();
		void FillText4AllowSet();
		void FillText4MsgMask();
		void FillText4MsgUnMask();
		void FillText4AlramSetOnOff();
		void FillText4BusPadOn();
		void FillText4BusPadOff();
		void FillText4DirectPadManualAllowOn();
		void FillText4DirectPadManualAllowOff();
		void FillText4DirectPadNodeOn();
		void FillText4DirectPadNodeOff();
		void FillText4UserCheck();
		void FillText4LinkageGo(unsigned char Data1);
		
		void FillText4MsgDateTimeSet();
		void AddOnFireMsg();
		void AddOnFaultMsg();
		
		int FillTextCN(int aInx, int ShowInx);
		int FillTextEN(int aInx, int ShowInx);
		int FillText(int aInx, int ShowInx);
		void FillDescpText(int aInx);
		void FillDescpTextEmpty();
		void GetStartStopTime();
		void FindInTimeEntry();
		unsigned long long aTimeGet(int aInx);
		
		void GetEntry4Print(int aInx);
		void AddOnUserCode();
			
		void Task1000Ms();
		
		
		int ExtRequst(unsigned char Prm);
};

//For Message View
class TQueryMsg{
	public:
		TQueryMessageFire	*MsgFire;
		TQueryMsgLinkage	*MsgLinkage;
		TQueryMsgSv		*MsgSv;
		TQueryMsgFault	*MsgFault;
		TQueryMsgOperate	*MsgOperate;
	
		int MsgWhat;
	
		TMsgFoundInf MsgFound;
		
		struct{
			unsigned char What[8];
			int Inx[5];
			TDMix64 sInx[5];
		}List;
		
		struct{
			int Inx[16];
			TDMix64 llIndex[16];
		}ListPreLoad[5];
		
		int Inx[5];
		
		struct{
			struct{
				int Fire;
				int Lnk;
				int Sv;
				int Fault;
				int Opa;
			}Begin,End;
		}InxScope;
	
		int TopIndex;
		int SelectedIndex;
		
		int CountTT;
		int CountTTFire;
		int CountTTLinkage;
		int CountTTSv;
		int CountTTFault;
		int CountTTOperate;
		
		int Count;
		int CountFire;
		int CountLinkage;
		int CountSv;
		int CountFault;
		int CountOperate;
		
		int IsShowing;
		int NeedDisplayDescp;
	
		int InTimeStartIndex;
		int InTimeStopIndex;
		int InTimeCount;
		int InTimeTopIndex;
		int InTimeSelectedIndex;
		int InTimeList[8];
		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;
	public:
		TStaticText Caption;
		int ActiveLineNum;

		u32 FixColColor;
		u32 FixColTextColor;
		u32 Color;
		u32 TextColor;
		u32 SelectedColor;
		u32 SelectedTextColor;
	
		int TabOrder;
	
		TPoint OwnerLeftTop; //ParrentLeftTop;
		TRect Bound;
		TRect BoxBoundTime;	
		TRect Content;
		TRect	GoPrint;
		
		unsigned char vtValueFrom[8];
		unsigned char vtValueTo[8];
		unsigned char vtTextFrom[6][4];
		unsigned char vtTextTo[6][4];
		char vtTextCount[8];
		int IsInputTime;
		int IsAllTime;
		int IsAllTimeTemp;
		int TimeEditFrom;
		int TimeIndex;
		int IsEditing;
		int ReStoreP0;
		int ReStoreP1;
		int IsGoPrint;
		int PrintWhat;
		
		TRecordEntry	EntryTmp;
		TRecordCommon 	RecordMsg;
		
		union{
			unsigned int D32[16];
			char Text[64];
		}Text;
		class TEdit vEdit;

	private:
		void CalcIconDrawPrm(void);
		void SetListColWidth(int w0, int w1, int w2, int w3, int w4,int w5,int w6, int w7, int w8);
		void LoadPath0Item(TRootDevice *pItem);
		void LoadPath1Item(TEpDevice *pItem);
	
		void DrawVScrollBar_ListView(void);
		void DrawVScrollBar_IconView(void);
		TGuiMsgReturn QueryKeyIn(unsigned char aKey);
		TGuiMsgReturn EditKeyIn(unsigned char aKey);
		
	public:
		TQueryMsg(){};
		TQueryMsg(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 LoadData();
		
		void InitBackEnd();
		
		unsigned long long GetLongLongInx(int What, int aInx);
		
		void RenderBackGround(void);
		void RenderBackGround(unsigned int aClr);
		void DrawSelf(void);
		void DrawFixCol(void);
		void DrawVertScrollBar(void);
		void DrawShortList(void);
		void DrawItemCount(int aCount);
		void DrawList(void);
		void Show(void);
		void ReDraw(void);
		void DrawCaption(void);
		void DrawCaption2(void);
		void RenderContent(void);
		void RenderWarningWait(void);
		
		void DrawBoxTimeOutLine();
		void DrawIfAllTime();
		void DrawTimeEntry(void);
		void DrawTimeEntryNoUpdate();
		void DrawBoxTime(void);
		void DrawBoxTimeString(void);
		
		void ShowTip();
		
		TGuiMsgReturn KeyIn(unsigned char aKey);
		
		void FullRePaint(void);
		void RePaint(void);
		void FullRedraw(int Prm);
		
		void LoadMsgPrv16(int What);
		void LoadMsgFwd16(int What);
		void FindBigMsgPrv(unsigned long long InxLimite);
		void FindMinMsgFwd(unsigned long long InxLimite);
		void FindMsgPrvEntry(unsigned long long InxLimite);
		void FindMsgFwdEntry(unsigned long long aInxLimite);
		void FindMsgPrv4Entries(unsigned long long InxLimite);
		void FindMsgFwd4Entries(unsigned long long InxLimite);
		void FindLastMsg();
		void FindList();
		void FindMsgAtStart();
		void FindMsgAtEnd();
		void CheckFixTopIndex();
		
		void DrawListAll(void);
		void DrawListAllUp(void);
		void DrawListInTime(void);
		
		void SetShowAllMsg(void);
		void SetShowFireMsg(void);
		void SetShowLinkage();
		void SetShowFaultMsg(void);
		void SetShowOperate(void);
		void SetSuperVs(void);
		
		void LoadPrv(void);
		void LoadFroward(void);
		
		void SetEditStart(void);
		void RestoreFromEdit(void);
		
		void DrawGoPrintOutLine();
		void DrawPrintWhat();
		
		int FillText(int aInx, int ShowInx);
		void FillDescpText(int aInx);
		void FillDescpTextEmpty();
		void GetStartStopTime();
		void FindInTimeEntry();
		unsigned long long aTimeGet(int aInx);
		
		void Go4Print(void);
			
		void Task1000Ms();
		
		
		int ExtRequst(unsigned char Prm);
};











#endif





