#include "ScreenSaveCfg.h" #include "Runtime.h" #define dWdClr clSkyBlue #define dWdDisabelClr clNearWhite #define dWWidth 24 #define dWHeigh 24 #define dRoundR 7 void TScreenSaveCfg::DrawFixText() { if(LanguageEnCn==0){ TextRender_string24(Lv.Caption.Left + 10, Lv.Caption.Top +4, clNearWhite, "本机->屏保设置"); TextRender_string24(Lv.Grid.Left[0] + 52, Lv.Grid.Top[0] +10, clNearWhite, "屏保设置"); TextRender_string24(Lv.Grid.Left[0] + 52, Lv.Grid.Top[0] +10, clNearWhite, "屏保设置"); TextRender_string24(Lv.Grid.Left[0] +52, Lv.Grid.Top[0] +50, clNearWhite, "启用屏保"); TextRender_string24(Lv.Grid.Left[0] +52, Lv.Grid.Top[0] +90, clNearWhite, ItemColor, "屏保时间"); TextRender_string24(Lv.Grid.Left[0] +200, Lv.Grid.Top[0] +90, clNearWhite, ItemColor, "分钟"); TextRender_string24(Lv.Grid.Left[1] +52, Lv.Grid.Top[1] +10, clNearWhite, "火警状态时禁止屏保"); TextRender_string24(Lv.Grid.Left[1] +52, Lv.Grid.Top[1] +50, clNearWhite, "监管状态时禁止屏保"); TextRender_string24(Lv.Grid.Left[1] +52, Lv.Grid.Top[1] +90, clNearWhite, "故障状态时禁止屏保"); }else{ TextRender_string24(Lv.Caption.Left + 10, Lv.Caption.Top +4, clNearWhite, "Local->Screen Safe Set"); TextRender_string24(Lv.Grid.Left[0] + 52, Lv.Grid.Top[0] +10, clNearWhite, "Setting"); TextRender_string24(Lv.Grid.Left[0] +52, Lv.Grid.Top[0] +50, clNearWhite, "Enable"); TextRender_string24(Lv.Grid.Left[0] +52, Lv.Grid.Top[0] +90, clNearWhite, ItemColor, "Time "); TextRender_string24(Lv.Grid.Left[0] +200, Lv.Grid.Top[0] +90, clNearWhite, ItemColor, "Minute"); TextRender_string24(Lv.Grid.Left[1] +52, Lv.Grid.Top[1] +10, clNearWhite, "Disable Screen Saver In FireAlarm"); TextRender_string24(Lv.Grid.Left[1] +52, Lv.Grid.Top[1] +50, clNearWhite, "Disable Screen Saver In Supervision"); TextRender_string24(Lv.Grid.Left[1] +52, Lv.Grid.Top[1] +90, clNearWhite, "Disable Screen Saver In Fault"); } } void TScreenSaveCfg::Init() { Tag.Group = 0; Tag.Inx0 = 0; Tag.Inx1 = 0; IsPermission =0; SaveResult = 0; } void TScreenSaveCfg::RenderBackGround(void) { RectFillRender(ContentGeometry.Left, ContentGeometry.Top, ContentGeometry.Right, ContentGeometry.Bottom, ContentColor); } void TScreenSaveCfg::RenderBackGround(unsigned int aClr) { RectFillRender(ContentGeometry.Left, ContentGeometry.Top, ContentGeometry.Right, ContentGeometry.Bottom, aClr); } void TScreenSaveCfg::DrawSelf(void) { RectFillRender(Lv.Caption.Left, Lv.Caption.Top, Lv.Caption.Right, Lv.Caption.Bottom, CaptionColor); for(int i=0; i0){ Tag.Inx0--; Check4Selected(); } }else if(Tag.Group == 1){ if(Tag.Inx1 >0){ Tag.Inx1--; Check4Selected(); }else{ Tag.Group = 0; Tag.Inx0 =1; Check4Selected(); } } break; case VK_DOWN: if(Tag.Group == 0){ if(Tag.Inx0 <1){ Tag.Inx0++; Check4Selected(); }else{ Tag.Group = 1; Tag.Inx1 =0; Check4Selected(); } }else if(Tag.Group == 1){ if(Tag.Inx1 <2){ Tag.Inx1++; Check4Selected(); } } break; case VK_F1: if(Tag.Group == 0){ if(Tag.Inx0 == 0){ if(Setting.OnOff)Setting.OnOff = 0; else Setting.OnOff =1; } }else if(Tag.Group ==1){ if(Tag.Inx1 == 0){ if(Setting.PrvOnFire)Setting.PrvOnFire = 0; else Setting.PrvOnFire =1; }else if(Tag.Inx1 == 1){ if(Setting.PrvOnSv)Setting.PrvOnSv = 0; else Setting.PrvOnSv =1; }else if(Tag.Inx1 == 2){ if(Setting.PrvOnFault)Setting.PrvOnFault = 0; else Setting.PrvOnFault =1; } } ShowSetting(); break; case VK_EXECUTE: if(SystemPermission > 1){ PermissionCmdGO(); }else{ IsPermission = 1; PmsIntervene4Gui.Show4Gui(Lv.Grid.Left[0] + 200, Lv.Grid.Top[0] + 40, 400, 140, 2); } break; case VK_RETURN: aMsg = guiMsgReturn; break; default: break; } } if(VK_EXECUTE != aKey){ ShowSaveResult(0); } return aMsg; } void TScreenSaveCfg::ShowSaveResult() { char *tText; if(SaveResult == 0){ TextRender_string24(ResultTipPoint.x, ResultTipPoint.y, clNearWhite, ContentColor, " "); }else if(SaveResult < 0){ if(LanguageEnCn==0)tText=" 保存失败 "; else tText="Failed To Save"; TextRender_string24(ResultTipPoint.x, ResultTipPoint.y, clNearWhite, ContentColor, tText); }else{ if(LanguageEnCn==0)tText=" 保存成功 "; else tText="Saved OK"; TextRender_string24(ResultTipPoint.x, ResultTipPoint.y, clNearWhite, ContentColor, tText); } } void TScreenSaveCfg::ShowSaveResult(int aNewResult) { SaveResult = aNewResult; ShowSaveResult(); } void TScreenSaveCfg::LoadData() { Setting.OnOff = ScreenAndKeyLock.SaveOn; Setting.Minute = ScreenAndKeyLock.SaveTime; vEdit.Str.FromUInt2Dg(Setting.Minute); if(ScreenAndKeyLock.IsKeyLock & 0x01) Setting.PrvOnFire = 1; else Setting.PrvOnFire = 0; if(ScreenAndKeyLock.IsKeyLock & 0x02) Setting.PrvOnSv = 1; else Setting.PrvOnSv = 0; if(ScreenAndKeyLock.IsKeyLock & 0x04) Setting.PrvOnFault = 1; else Setting.PrvOnFault = 0; } void TScreenSaveCfg::SaveData() { int iVal; unsigned char tOnOff, SettingByte; unsigned char tMinute; if(Setting.OnOff)tOnOff = 1; else tOnOff = 0; iVal = vEdit.Str.ToInteger(); if(iVal > 20)iVal = 20; if(iVal < 1)iVal = 1; tMinute = iVal; SettingByte = 0; if(Setting.PrvOnFire) SettingByte |= 0x01; if(Setting.PrvOnSv) SettingByte |= 0x02; if(Setting.PrvOnFault) SettingByte |= 0x04; Record.OperateAdd_ScreenKeyLock(tOnOff, tMinute, SettingByte, "****"); Record.WriteScreenKeyLock(tOnOff, tMinute, SettingByte, "****"); //Read Back //Record.ReadScreenSave(); if( (tOnOff == ScreenAndKeyLock.SaveOn) && (tMinute == ScreenAndKeyLock.SaveTime) && (SettingByte == ScreenAndKeyLock.IsKeyLock) ) { ShowSaveResult(1); }else{ ShowSaveResult(-1); ScreenAndKeyLock.SaveOn = tOnOff; ScreenAndKeyLock.SaveTime = tMinute; ScreenAndKeyLock.IsKeyLock = SettingByte; } //Redraw } void TScreenSaveCfg::sRecoverSetDefault() { Record.WriteScreenKeyLock(0, 20, 0, "****"); }