#ifndef BUSPADLNK_H_ #define BUSPADLNK_H_ #include "gType.h" #include "GraphBase.h" #include "my_string.h" #include "Device.h" #include "EpDevice.h" #include "StaticText.h" #include "EditML.h" #include "CtlPanel1.h" class TBusPadLnk{ public: static constexpr unsigned short hList[12] = {72,72,72,72, 72,72,34,34, 34,34,34,34}; static constexpr unsigned short wList[12] = {800,290,290,290, 290,290,290,290, 290,290,290,290}; static constexpr TLv Lv = { .Caption.Left = 0, .Caption.Top = 36, .Caption.Width = 800, .Caption.Heigh = 32, .Caption.Right = 800 -0 -1, .Caption.Bottom = 36 + 32, .Grid.Left = {0,0,0,0, 0,0,0,0, 0,0,0,0}, .Grid.Right = {wList[0]-1,wList[1]-1,wList[2]-1,wList[3]-1, wList[4]-1,wList[5]-1,wList[6]-1,wList[7]-1, wList[8]-1,wList[9]-1,wList[10]-1,wList[11]-1}, .Grid.Top[0] = (36 + 32 +2), .Grid.Top[1] = (36 + 32 +2) + (2 + hList[0]), .Grid.Top[2] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]), .Grid.Top[3] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]), .Grid.Top[4] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]), .Grid.Top[5] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]), .Grid.Top[6] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]), .Grid.Top[7] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]), .Grid.Top[8] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]), .Grid.Top[9] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]), .Grid.Top[10] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]), .Grid.Top[11] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]) + (2 + hList[10]), .Grid.Bottom[0] = (36 + 32 +2) + hList[0], .Grid.Bottom[1] = (36 + 32 +2) + (2 + hList[0]) + hList[1], .Grid.Bottom[2] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + hList[2], .Grid.Bottom[3] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + hList[3], .Grid.Bottom[4] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + hList[4], .Grid.Bottom[5] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + hList[5], .Grid.Bottom[6] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + hList[6], .Grid.Bottom[7] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + hList[7], .Grid.Bottom[8] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + hList[8], .Grid.Bottom[9] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + hList[9], .Grid.Bottom[10] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]) + hList[10], .Grid.Bottom[11] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]) + (2 + hList[10]) + hList[11], .Grid.UsingCount = 5, .Panel.Active = 1, .Panel.ItemType = piMemo, .Panel.Left = wList[1] + 6, .Panel.Top = (36 + 32 +2) + hList[0] +6, .Panel.Width = 502, .Panel.Heigh = 260, .Panel.Right = wList[1] + 6 + 502 -1, .Panel.Bottom = (36 + 32 +2) + hList[0] +6 + 260 -1, .PanelSmall.Active = 1, .PanelSmall.Left = wList[1] + 6, .PanelSmall.Top = (36 + 32 +2) + hList[0] +6 + 260 -1 + 1, .PanelSmall.Width = 502, .PanelSmall.Heigh = 28, .PanelSmall.Right = wList[1] + 6 + 502 -1, .PanelSmall.Bottom = (36 + 32 +2) + hList[0] +6 + 260 -1 + 1 + 28 -1, }; enum{ CmdWrite =1, CmdClear = 2 }; public: int IsShow; static class TItemList *sIList; class TItemList *IList; class TCtlPanel1 *aPanel; int EnterMethod; int IsPermission; struct{ unsigned char IsPadDeActive; unsigned char IsMatchAreaAssign; unsigned char KeyCount; unsigned char KeyCountHasUpdata; }Rt; unsigned char IsViewList; unsigned char PermissionCmd; unsigned char ResultPst; unsigned char PadNum; unsigned char KeyNum; unsigned char PadNumValid; unsigned char KeyNumValid; struct{ unsigned char InxMin; unsigned char Inx; void Reset(){ InxMin = 0; } }Tag; unsigned char AssignType; unsigned char Dump0; TUserCodeStr uCode; unsigned short AreaNum; struct{ unsigned char EntryCount; unsigned char PageCount; unsigned char CurrentPage; unsigned char Dump; char Text[16]; void TextReset(){ for(int x=0; x<16; x++)Text[x] =0; } }List; int TabUpY; int IsLastShowSaveState; unsigned char ShowwingResult; unsigned char JustShowResult; public: TBusPadLnk(){}; void Init(unsigned char aMode); void RenderBackGround(void); void RenderBackGround(unsigned int aClr); void DrawSelf(void); void Show(); void FullRedraw(int Prm); static void sDelayMs(unsigned int aMs); void PermissionCmdReturnDraw(); void DrawIsPadDeActive(); void LoadCfg4Edit(unsigned char aPath0, unsigned aPath1); void DrawMatchMode(); void DrawState(); void DrawFixText(); //void ReLoadAndDrawAreaDescp(); void DrawUserCodeAssignAreaAssignType(); void DrawPadBoardCfgList(); void SetPath(unsigned char aCtlNum, unsigned char aPath0, unsigned char aPath1); void DrawKeyCount(); void ModifyKeyCount(); void ClearSelected(); void Check4Selected(); void LoadUcBcdText(unsigned char aP0, unsigned char aP1); void RestoreUcBcdText(unsigned char aP0, unsigned char aP1); void PermissionCmdGO(); void InitPanel(); TGuiMsgReturn KeyIn(unsigned char aKey); void Write2Flash(); void LoadBusPadLnk(); static void sWriteOnePad(unsigned char aPad); static void sRecoverSetDefault(); int ExtRequst(unsigned char Prm){IsShow = 0; return 0;} }; #endif