#include "RuntimeData.h" #include "OnTimeCheck.h" #include "DevMask.h" extern "C"{ //#include "user_norflash.h" #include "user_eeprom.h" #include "uart_key_drv.h" } void TOnTimeCheck::Init(int x1, int y1, int aW, int aH, int OwnerX, int OwnerY, u32 aColor) { #define CH 30 //Caption Height unsigned short Left,Right, Top, Bottom, Width, Height, i; Bound.SetBySize(OwnerX + x1, OwnerY + y1, aW, aH); Left = Bound.Left +3; Top = Bound.Top+3; Width = aW - 7; Height = aH - 7; Right = Bound.Right -4; Bottom = Bound.Bottom -4; Caption.Init(Left,Top,Width, CH, 0, 0, clWhite, clMaroon); Content.Set(Left, Top+CH, Right, Bottom); RectPanel.Set(Left + 420,Top + CH, Right - 4, Top + CH + 6 + 284); Color = aColor; #undef CH CtlIndex =0; IsProgram = 0; Caption.Border.Color = clGray; } void TOnTimeCheck::RenderBackGround(void) { RectFillRender(Content.Left, Content.Top, Content.Right, Content.Bottom, Color); } void TOnTimeCheck::RenderBackGround(unsigned int aClr) { RectFillRender(Content.Left, Content.Top, Content.Right, Content.Bottom, aClr); } void TOnTimeCheck::RenderContent(void) { #define FixColColor clMedGray #define OddColor clNearMoneyGreen unsigned int x,y, y2, clr; RectFillRender(Content.Left, Content.Top, Content.Right, Content.Bottom, Color); } void TOnTimeCheck::DrawSelf(void) { unsigned int x, y, x2, y2, w, h; VertLineRender(Bound.Left, Bound.Top, Bound.Height -1, 0xFFFFFFFF); VertLineRender(Bound.Right -1, Bound.Top +1, Bound.Height -2, 0xFF808080); VertLineRender(Bound.Right, Bound.Top, Bound.Height, 0xFF404040); HorizLineRender(Bound.Left, Bound.Top, Bound.Width - 1, 0xFFFFFFFF); HorizLineRender(Bound.Left +1, Bound.Bottom -1, Bound.Width - 2, 0xFF808080); HorizLineRender(Bound.Left, Bound.Bottom, Bound.Width, 0xFF404040); x = Bound.Left +2 ; x2 = Bound.Right -2; y = Bound.Top +2; y2 = Bound.Bottom - 2; w = Bound.Width -4; h = Bound.Height - 4; VertLineRender (x, y, h-1, 0xFF808080); HorizLineRender (x, y, w-1, 0xFF808080); VertLineRender (x+1, y+1, h-2, 0xFF404040); HorizLineRender (x+1, y+1, w-2, 0xFF404040); VertLineRender (x2-1, y+1, h-2, 0xFFD4D0C8); HorizLineRender (x+1, y2-1, w-2, 0xFFD4D0C8); VertLineRender (x2, y, h, 0xFFFFFFFF); HorizLineRender (x, y2, w, 0xFFFFFFFF); RenderContent(); } void TOnTimeCheck::DrawCaption(void) { TMyString::sFromStr("->", Caption.Text); Caption.Show(); } void TOnTimeCheck::Show() { DrawSelf(); DrawCaption(); TextRender_string24(80, 354 ,clNearBlack, "1."); TextRender_string24(80, 384 ,clNearBlack, "2."); TextRender_string24(80, 414 ,clNearBlack, "3."); } void TOnTimeCheck::FullRedraw(int Prm) { int i, x, y; if(Prm == 0){ Show(); }else if(Prm == 1){ RectFillRender(GuiRedrawDataList[1][0], GuiRedrawDataList[1][1], GuiRedrawDataList[1][2], GuiRedrawDataList[1][3], Color); } aPanel->Show(); aPanel->ReDrawItems(); ShowPath(); } void TOnTimeCheck::DelayMs(unsigned int aMs) { volatile unsigned int mTick; volatile unsigned int Tick; for(Tick=0; TickEdit[i].Selected = 0; } if( (CtlIndex > -1) && (CtlIndex < 12) ){ aPanel->Edit[CtlIndex].Selected = 1; } } void TOnTimeCheck::InitPanel(void) { int x,y,x2,y2, aW,aH,i, yt; RectPanel.Set(80,76, 720, 350); x = RectPanel.Left; y = RectPanel.Top; x2 = RectPanel.Right; y2 = RectPanel.Bottom; aW = RectPanel.Width; aH = RectPanel.Height; yt = y+6; aPanel->Init(x,y,aW,aH,0,0,clFrmFace, bvRaised); aPanel->Caption.Init(1,1,aW-3,32,x,y,clFrmFace,clFrmFace); aPanel->SText[0].Init(6,4,70,36,x,0,clNearBlack,clFrmFace); TMyString::sFromStr("总线盘号: 按键数量: 按键号:", aPanel->SText[0].Text); aPanel->SText[17].Init(20,0,300,30,x,yt,clNearBlack,clFrmFace); aPanel->SText[0].Enable = 0; aPanel->SText[4].Enable = 0; aPanel->Edit[ 0].Init(0,0,48,30,x,yt,clNearBlack,clNearWhite); for(i=0; i<1;i++){ aPanel->Edit[i].Enable = 1; aPanel->Edit[i].Visible = 1; aPanel->Edit[i].SetInputMaskEn(); aPanel->Edit[i].SetMaxLen(3); aPanel->Edit[i].Str.FromStr("000"); aPanel->Edit[i].Pst = 2; aPanel->Edit[i].Selected = 0; } Check4Selected(); aPanel->ReDrawItems(); } void TOnTimeCheck::ShowPath() { //TextDigitRender2Right24(212, 124, clNearBlack, clFrmFace, Loaded.P0 +1); //TextDigitRender2Right24(360, 124, clNearBlack, clFrmFace, Loaded.Key +1); } void TOnTimeCheck::SaveData() { } TGuiMsgReturn TOnTimeCheck::KeyIn(unsigned char aKey) { TGuiMsgReturn aMsg = guiMsgNone; int uKey; unsigned char aIndex; char LastChr; const char *p; int i; if(1){ switch(aKey){ case VK_DELETE: break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': break; case VK_UP: break; case VK_DOWN: break; case VK_LEFT: break; case VK_RIGHT: break; case VK_TAB: break; case dfKEY_ENCN: break; case dfKEY_SETUP: break; case dfKEY_QUERY: break; case VK_EXECUTE: break; } } if(aKey == VK_RETURN){ aMsg = guiMsgReturn; } return aMsg; }