#include "Gui.h" class TImageList ImageList; class TItemList ItemList; class TMenu MainMenu; //Screen Top Panel ____________________________________________________________________________________ class TPanel PanelOnTop; class TStaticText STextCaption; class TIcon IconTop; class TStaticText STextNewMsg; //Screen Bottom Panel __________________________________________________________________________________ class TPanel PanelOnBottom; class TStaticText STextAdjust; class TStaticText STextAllowAuto; class TStaticText STextMaintain; class TStaticText STextTimeShow; class TIcon IconAdjust; class TIcon IconAllowAuto; class TIcon IconMaintain; //______________________________________________________________________________________________________ class TCtlPanel1 CommonPanel; class TCtlPanelLite CtlPanelLite; //______________________________________________________________________________________________________ class TListBoxForm ListBoxForm ; class TListViewDevice ListViewDevice; class TDevProperty DevProperty; class TLiteIconOverView LiteIconOverViewDev; class TLiteListViewMask LiteListViewMask; class TRegister Register; class TRegisterManual RegisterManual; class TDesignPrmSet DesignPrmSet; //class TRegisterAdd RegisterAdd; //class TRegisterAddRemove RegisterAddRemove; //class TIoPadDefine IoPadDefine; class TQueryMsg QueryMsg; class TQueryMessageFire QueryMessageFire; class TQueryMsgLinkage QueryMsgLinkage; class TQueryMsgSv QueryMsgSv; class TQueryMsgFault QueryMsgFault; class TQueryMsgOperate QueryMsgOperate; class TDevMask DevMask; class TXBox aRadioGroup; class TXBox aRadioGroup2; class TPrinterSet PrinterSet; //class TUserSet UserSet; class TEventShow EventShow; class TPageIdle PageIdle; class TPermissionSet PermissionSet; class TPrintInf PrintInf; class TDateTimeCfg DateTimeCfg; //class TECanNetwork ECanNetwork; //class TQueryCfg QueryCfg; class TPasswdChange PasswdChange; class TCircuitState CircuitState; class TRootDevVoltage RootDevVoltage; class TMessageBox MessageBox; //class TDetectorCurve DetectorCurve; class TCircuitCfg CircuitCfg; //class TEpMonitor EpMonitor; class TDuplicateCheck DuplicateCheck; //class TAddrAssign AddrAssign; class TLiteSelfCheck LiteSelfCheck; class TProjectSet ProjectSet; class TBusPadLnk BusPadLnk; class TLinkageProgram LinkageProgram; class TDirectPadCfg DirectPadCfg; //class TDisplayPadCfg DisplayPadCfg; class TfNetworkReg fNetworkReg; //class TfNetworkRegManual fNetworkRegManual; //class TfNetworkRegRemove fNetworkRegRemove; class TuInportExport uInportExport; class TOnlineCtrl OnlineCtrl; class TGraphDevCfg GraphDevCfg; class THwInf HwInf; class TFwUpgrade FwUpgrade; class TDevAuthorize DevAuthorize; class TAuthorizeState AuthorizeState; class TaBefore aBefore; class TMaintain Maintain; class TAllow Allow; class TBroadcastCfg BroadcastCfg; class TScreenSaveCfg ScreenSaveCfg; class TCleanUp CleanUp; class TAboutUs AboutUs; class TCheckNormal CheckNormal; class TDescpWrite DescpWrite; class TPmsIntervene PmsIntervene; class TPmsIntervene PmsIntervene4Gui; class TDevStartStop DevStartStop; //class TPowerSuplyCfg PowerSuplyCfg; class TPowerSuplyInf PowerSuplyInf; class TDeviceSetup DeviceSetup; class TLanguageCfg LanguageCfg; class TRunModeCfg RunModeCfg; class TPadInf PadInf; class TLinkageList LinkageList; class TLnkFecBusCfg LnkFecBusCfg; class TAreaCfg AreaCfg; class TUserCodeSet UserCodeSet; class TUserCodeSetByArea UserCodeSetByArea; class TCanNetworkInf CanNetworkInf; class TCanNetworkRegister CanNetworkRegister; class TCanNetworkMask CanNetworkMask; class TBlueTooth BlueTooth; class TWifiConn WifiConn; class TTransmiteDev TransmiteDev; class TClearRegistedInf ClearRegistedInf; class TClearLinkageCfg ClearLinkageCfg; class TClearDescp ClearDescp; class TRecoverAll RecoverAll; //class TSlaveRegByRemote SlaveRegByRemote; class TDevCount DevCount; class TTipPopup TipPopup; class TDevOutputCfg DevOutputCfg; class TDevSensitiveCfg DevSensitiveCfg; class TDevVaCfg DevVaCfg; class TDisplayPadDescpDownload DisplayPadDescpDownload; class TDialogStartup DialogStartup; class TCnInput CnInput; class TEdit Edit1; class TButton Button1; class THistoryMsg HistoryMsg; class TImage ImageLogo24; class TImage ImageLogo32; int IsSelfChecking =0; static char TextPwrBat[36]; const unsigned int ContentColor = clNearBlack; const unsigned int CaptionColor = clDarkBlue; const unsigned int ItemColor = clDarkkGray; const unsigned int PanelColor = clGray; const unsigned int SmallPanelColor = clDarkkGray; const TContentGeometry ContentGeometry = { .Left = 0, .Top = 36, .Width = 800, .Heigh = 408, .Right = 800 - 0 -1, .Bottom = 408 + 36 -1, }; void StateBarReflash(void) { if(RunState == TRunModeCfg::RunModeAdjust){ if(LanguageEnCn==0)STextAdjust.SetText("调试",24); else STextAdjust.SetText("TEST",24); //STextAdjust.Color = clMedOrange; STextAdjust.TextColor = clRed; }else if(RunState == TRunModeCfg::RunModeRun){ if(LanguageEnCn==0)STextAdjust.SetText("运行",24); else STextAdjust.SetText("RUN ",24); //STextAdjust.Color = clFrmFace; STextAdjust.TextColor = clNearBlack; }else{ RunState = TRunModeCfg::RunModeRun; if(LanguageEnCn==0)STextAdjust.SetText("运行",24); else STextAdjust.SetText("RUN ",24); STextAdjust.TextColor = clNearBlack; //STextAdjust.SetText(" ?? ",24); //STextAdjust.Color = clFrmFace; //STextAdjust.TextColor = clMedOrange; } IconAdjust.Show(); STextAdjust.Show(); if(AllowAuto){ if(LanguageEnCn==0)STextAllowAuto.SetText("自动",24); else STextAllowAuto.SetText("AUTO",24); STextAllowAuto.TextColor = clNearBlack; IconAllowAuto.SetActive(); }else{ if(LanguageEnCn==0)STextAllowAuto.SetText("自动",24); else STextAllowAuto.SetText("AUTO",24); STextAllowAuto.TextColor = clWhiteGray; IconAllowAuto.SetDeActive(); } STextAllowAuto.Show(); IconAllowAuto.Show(); StateBarReflashMaintain(); } void StateBarReflashMaintain(void) { if(IsMaintainTip){ if(LanguageEnCn==0)STextMaintain.SetText("维保",24); else STextMaintain.SetText("Maint",24); STextMaintain.TextColor = clRed; }else{ STextMaintain.SetText(" ",24); STextMaintain.TextColor = clNearBlack; } STextMaintain.Show(); LastMaintainTip = IsMaintainTip; } void StateBarUpDateBatIfForce(int IsForce) { int x, dInt,dDec; if( (LiteSelfCheck.IsShowing == 0) || (IsForce) ){ x = 284; if(PsBatDataAva){ if(LanguageEnCn==0)TMyString::sFromStr("备电:", TextPwrBat); else TMyString::sFromStr("Batt:", TextPwrBat); dInt = PsBatData.Body.BatVoltage1.D16 / 1000; dDec = PsBatData.Body.BatVoltage1.D16 / 100 % 10; TMyString::sAddOn2Dg(dInt, TextPwrBat); TMyString::sAddOnChar('.', TextPwrBat); TMyString::sAddOn1Dg(dDec, TextPwrBat); TMyString::sAddOnStr("V " , TextPwrBat); dInt = PsBatData.Body.BatVoltage2.D16 / 1000; dDec = PsBatData.Body.BatVoltage2.D16 / 100 % 10; TMyString::sAddOn2Dg(dInt, TextPwrBat); TMyString::sAddOnChar('.', TextPwrBat); TMyString::sAddOn1Dg(dDec, TextPwrBat); TMyString::sAddOnStr("V " , TextPwrBat); TMyString::sAddOn3Dg(PsBatData.Body.BatEnerger1, TextPwrBat); TMyString::sAddOnStr("% ", TextPwrBat); TextRender_string24(x,450,clNearBlack, clFrmFace, TextPwrBat ); }else{ if(LanguageEnCn==0) TMyString::sFromStr("备电: 无数据 ", TextPwrBat); else TMyString::sFromStr("Batt: No Data ", TextPwrBat); TextRender_string24(x,450,clNearBlack, clFrmFace, TextPwrBat ); } } } void ShowSelfCheckCtlNum() { unsigned int i, cnt, x; char Text[8]; x = 284; if(LanguageEnCn==0) TMyString::sFromStr("自检区域机 ", TextPwrBat); else TMyString::sFromStr("Self-Check ", TextPwrBat); cnt = 0; for(i=0; i<17; i++){ if(NwSelfCheckTick[i] ){ if(cnt <2){ cnt++; Text[0] = (i / 10) + '0'; Text[1] = (i % 10) + '0'; Text[2] = ' '; Text[3] = '\0'; TMyString::sAddOnStr(Text, TextPwrBat); }else{ TMyString::sAddOnStr("...", TextPwrBat); break; } } } TMyString::sFillFixLen(TextPwrBat,22); TextRender_string24(x,450,clNearBlack, clFrmFace, TextPwrBat ); } void StateBar_Pwr_SelfCheck() { static unsigned int ShowWhat =0; static unsigned int itv =0; if(MainCtl.fData.Split.NetworkMode == 1){ if(NwIsSelfCheck){ if(itv>1){ if(ShowWhat == 0){ ShowWhat = 1; ShowSelfCheckCtlNum(); }else{ ShowWhat = 0; StateBarUpDateBatIfForce(0); } itv =0; } }else{ if(itv>1){ itv = 0; if(ShowWhat){ ShowWhat = 0; StateBarUpDateBatIfForce(1); }else{ if(PsBatDataHasUpdate){ PsBatDataHasUpdate = 0; StateBarUpDateBatIfForce(0); } } } } }else{ ShowWhat = 0; if(itv>1){ itv = 0; if(PsBatDataHasUpdate){ PsBatDataHasUpdate = 0; StateBarUpDateBatIfForce(0); } } } itv++; } void StateBarUpDateBat(int Ava) { PsBatDataHasUpdate = 1; PsBatDataAva = Ava; //StateBarUpDateBatIfForce(0); } void StateBarShow(void) { PanelOnBottom.Show(); StateBarReflash(); } void GuiTopPanel_init(void) { PanelOnTop.Init ( 0, 0, 800, 36, 0, 0, clFrmFace, bvRaised); IconTop.Init ( 650, 1, 32, 32, 0, 0, 24, clFrmFace); STextCaption.Init ( 682, 2, 120, 32, 0, 0, clNearBlack, clFrmFace); STextNewMsg.Init ( 300, 1, 499, 33, 0, 0, clNearBlack, clFrmFace); IconTop.IconList = &ImageList; IconTop.iSize = 24; IconTop.ActiveImageIndex = 16; IconTop.DeActiveImageIndex = 16; IconTop.SetActive(); ImageLogo24.Init(705, 6, FLASH_USER_PIC_LOGO24,90,24); ImageLogo32.Init(675, 2, FLASH_USER_PIC_LOGO32,122,32); } void GuiBottomPanel_init(void) { //Screen Bottom Panel __________________________________________________________ PanelOnBottom.Init ( 0, 443, 800, 37, 0, 0, clFrmFace, bvRaised); IconAdjust.Init ( 1, 6, 28, 28, 0, 443, 24, clFrmFace); STextAdjust.Init ( 25, 3, 56, 33, 0, 443, clNearBlack, clFrmFace); IconAllowAuto.Init ( 84, 6, 28, 28, 0, 443, 24, clFrmFace); STextAllowAuto.Init (112, 3, 56, 31, 0, 443, clNearBlack, clFrmFace); //IconAllowManual.Init (168, 6, 28, 28, 0, 443, 24, clFrmFace); STextMaintain.Init (196, 3, 56, 31, 0, 443, clNearBlack, clFrmFace); STextTimeShow.Init (564, 3, 235, 31, 0, 443, clNearBlack, clFrmFace); IconAdjust.IconList = &ImageList; IconAdjust.iSize = 24; IconAdjust.ActiveImageIndex = 3; IconAdjust.DeActiveImageIndex = 11; IconAdjust.SetActive(); IconAllowAuto.IconList = &ImageList; IconAllowAuto.iSize = 24; IconAllowAuto.ActiveImageIndex = dIcon24_Allow; IconAllowAuto.DeActiveImageIndex = dIcon24_NotAllow; IconAllowAuto.SetActive(); //IconAllowManual.IconList = &ImageList; //IconAllowManual.iSize = 24; //IconAllowManual.ActiveImageIndex = dIcon24_Allow; //IconAllowManual.DeActiveImageIndex = dIcon24_NotAllow; //IconAllowManual.SetActive(); //______________________________________________________________________________ } void GuiStart(void) { //Init____________________________________________________________________________________________________________________________ //DescpBuf.Init(); //Screen Top Panel _____________________________________________________________ GuiTopPanel_init(); //Screen Bottom Panel _____________________________________________________________ GuiBottomPanel_init(); //Menu__________________________________________________________________________ MainMenu.Init(0,36,799,442); MainMenu.IconList = &ImageList; MainMenu.LoadPermission(3); ListViewDevice.Init() ; LiteIconOverViewDev.Init(0, 36, 800, 406, 0, 0, clNearWhite); //IoPadDefine.Init(0, 36, 800, 406, 0, 0, clNearWhite); PageIdle.Init(0, 36, 800, 406, 0, 0, clMedGray); QueryMsg.Init(0, 36, 800, 406, 0, 0, clMoneyGreen); //_____________________________________________________________________________ ListBoxForm.Init(0, 36, 800, 406, 0, 0, 1, clMoneyGreen) ; EventShow.Init(0, 36, 800, 406, 0, 0, 1, clMoneyGreen) ; EventShow.TryGetMaskData(2,2024); Edit1.Init(6,6, 120,30, 0,0,1,clMoneyGreen); Button1.Init(6,200, 120,30,0,0, 2,clMoneyGreen); //________________________________________________________________________________________________________________________________ //Screen Top PanelOnTop.Show(); ImageLogo32.Render(800,480); PanelOnBottom.Show(); StateBarReflash(); IconAdjust.SetDeActive(); IconAdjust.Show(); IconAllowAuto.Show(); //IconAllowManual.Show(); STextAdjust.Show(); STextAllowAuto.Show(); STextMaintain.Show(); TipPopup.Init(); TipPopup.ClearTickOnKeyPress(); DisplayPadDescpDownload.Init(); } void EventShowOnShowCallBack() { CheckNormal.Hide(); } void GuiRedrawBase() { //________________________________________________________________________________________________________________________________ //Screen Top PanelOnTop.Show(); ImageLogo32.Render(800,480); PanelOnBottom.Show(); StateBarReflash(); StateBarUpDateBatIfForce(1); } void GuiRedraw(int Prm) { if(TipPopup.IsShow){ TipPopup.Hide(); TipPopup.ClearTickOnKeyPress(); EventShow.MakeFastCheck(); EventShow.MakeShow(); if( EventShow.IsShowing ){ GuiState = guiShowEvent; PageIdle.Hide(); EventShow.MakeShow(); }else{ GuiState = guiIdle; EventShow.Hide(); PageIdle.Show(); } }else if(CheckNormal.IsShowing){ CheckNormal.ReDraw(); }else if(EventShow.IsShowing){ GuiState = guiShowEvent; EventShow.MakeShow(); }else if(MainMenu.OnAction){ if(MainMenu.ActiveLevel < 2){ MainMenu.FullRedraw(); }else{ MainMenu.FullRedrawFrm(Prm); } }else if(MainMenu.Active){ MainMenu.FullRedraw(); }else if(PageIdle.IsShowing){ PageIdle.Show(); } } int CheckIsRemoteRegFeasible() { if(Register.IsOnGo)return 0; if(ClearRegistedInf.Eraser.OnGo)return 0; if(ClearLinkageCfg.Eraser.OnGo)return 0; if(ClearDescp.Eraser.OnGo)return 0; if(ProtoC2C.RemoteReq.Reg.IsRequsting)return -1; return 1; } void SlaveDoRemoteReg() { SlaveInRemoteCtl = 0xB6B6B6B6; GeneralDev.LcdBlackLightSetOn(); Register.Init(); Register.Show4Slave(); Register.Nw.CtlNum = MainCtl.fData.Split.MyNum; //Trige to Start Register Register.SlaveReplyStartState(1); Register.SlaveRegInit(ProtoC2C.RemoteReq.Reg.RegPath); }