From 1f5fdd892e8efc9f1babe1ace9d810803edef396 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 11:29:45 +0800 Subject: [PATCH] 2021-08-27 11:29:39 --- HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs | 152 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 111 insertions(+), 41 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs index 6f1d164..f9f005e 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using System.Collections.Generic; using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; @@ -34,6 +35,15 @@ /// 鎾ら槻鍖哄煙 /// </summary> FrameLayout disarmView; + + /// <summary> + /// 甯冮槻鎺ュ彛 + /// </summary> + SecurityAlarm InDefenseMode = null; + /// <summary> + /// 鑷畾涔夊竷闃叉帶浠跺垪琛� + /// </summary> + List<ArmDiyView> armDiyViewList = new List<ArmDiyView>(); public ArmCenterPage() { @@ -84,16 +94,20 @@ { Width = Application.GetRealWidth(198), Height = Application.GetRealWidth(198), + UnSelectedImagePath = "FunctionIcon/ArmCenter/InAlarmBigIcon.png", }; btnInalarmIcon.MouseUpEventHandler = (sender, e) => { - if(SecurityCenter.Ins.InDefenseMode!= null) + if(InDefenseMode!= null) { - SecurityCenter.Ins.InDefenseMode.alarm = false; - Control.Ins.ControlSecurity(SecurityCenter.Ins.InDefenseMode, "enable"); + Action action = () => + { + InDefenseMode.alarm = false; + Control.Ins.ControlSecurity(InDefenseMode, "enable"); + }; + new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteSceneTip, action); + } }; - InitAlarmStatus(SecurityCenter.Ins.InAlarm); - btnDefenseName = new Button() { @@ -141,17 +155,17 @@ // break; // } //} - if(SecurityCenter.Ins.InDefenseMode!= null) + if(InDefenseMode!= null) { - Control.Ins.ControlSecurity(SecurityCenter.Ins.InDefenseMode, "disable"); + Control.Ins.ControlSecurity(InDefenseMode, "disable"); } }; - #endregion + #endregion - #region 鑷畾涔夊竷闃� - //鑷畾涔夊竷闃叉爣棰� - Button btnCustomDeploymentTitle = new Button() + #region 鑷畾涔夊竷闃� + //鑷畾涔夊竷闃叉爣棰� + Button btnCustomDeploymentTitle = new Button() { X = Application.GetRealWidth(24), Height = Application.GetRealWidth(54), @@ -243,24 +257,31 @@ #endregion - - - ///鍒锋柊鐣岄潰 - LoadEvent_RefreshSecurityStatus(); + iniCustomDeploymentView(); } + /// <summary> + /// 鍒濆鍖栨姤璀︾姸鎬� + /// </summary> + /// <param name="inAlarm"></param> public void InitAlarmStatus(bool inAlarm) { try { if (inAlarm) { - alarmIconBgView.AddChidren(btnInalarmIcon); + if (btnInalarmIcon.Parent == null) + { + alarmIconBgView.AddChidren(btnInalarmIcon); + } } else { - btnInalarmIcon.RemoveFromParent(); + if (btnInalarmIcon.Parent != null) + { + btnInalarmIcon.RemoveFromParent(); + } } } catch { } @@ -272,11 +293,11 @@ private void iniCustomDeploymentView() { customDeploymentView.RemoveAll(); - + armDiyViewList.Clear(); foreach (var mode in FunctionList.List.securities) { var armDiyView = new ArmDiyView("FunctionIcon/ArmCenter/AtHomeDefenseIcon.png", "FunctionIcon/ArmCenter/AtHomeDefenseIconOn.png", - mode.name); + mode.name,mode.sid); customDeploymentView.AddChidren(armDiyView); EventHandler<MouseEventArgs> event2 = (sender, e) => { @@ -286,13 +307,18 @@ if (mode.status == "enable") { armDiyView.LightingView(true); + InDefenseMode = mode; + + ///鍒锋柊鐣岄潰 + LoadEvent_RefreshSecurityStatus(InDefenseMode); } + armDiyViewList.Add(armDiyView); } if (FunctionList.List.securities.Count < 4) { var view = new ArmDiyView("FunctionIcon/ArmCenter/AddDefenseIcon.png", "FunctionIcon/ArmCenter/AddDefenseIcon.png", - Language.StringByID(StringId.Custom)); + Language.StringByID(StringId.Custom),"customSid"); customDeploymentView.AddChidren(view); EventHandler<MouseEventArgs> event1 = (sender, e) => { @@ -381,13 +407,12 @@ } btnOpen.MouseUpEventHandler = (sender, e) => { - if (alarm.status == "disable") + string controlStatus = alarm.status == "disable" ? "enable" : "disable"; + new System.Threading.Thread(() => { - Control.Ins.ControlSecurity(alarm, "enable"); - }else - { - Control.Ins.ControlSecurity(alarm, "disable"); - } + Control.Ins.ControlSecurity(alarm, controlStatus); + }) + { IsBackground = true }.Start(); dialog.Close(); }; @@ -411,28 +436,68 @@ } - public static void LoadEvent_RefreshSecurityStatus() + public static void LoadEvent_RefreshSecurityStatus(SecurityAlarm updataTemp) { Application.RunOnMainThread(() => { - if (bodyView != null) + try { - bodyView.iniCustomDeploymentView(); - bodyView.disarmView.Height = 0; - bodyView.btnArmTipIcon.IsSelected = false; - bodyView.btnDefenseName.Text = ""; - foreach (var temp in FunctionList.List.securities) + if (bodyView != null) { - if (temp.status == "enable") + //甯冮槻 + if (updataTemp.status == "enable") { - bodyView.disarmView.Height = Application.GetRealHeight(68); - bodyView.btnArmTipIcon.IsSelected = true; - bodyView.btnDefenseName.Text = temp.name; - - bodyView.InitAlarmStatus(temp.alarm); - break; + bodyView.InDefenseMode = updataTemp; + foreach (var tempView in bodyView.armDiyViewList) + { + tempView.LightingView(false); + if (tempView.sid == updataTemp.sid) + { + tempView.LightingView(updataTemp.status == "enable"); + } + } } + else + { + //鎾ら槻 + if(bodyView.InDefenseMode.sid == updataTemp.sid) + { + foreach (var tempView in bodyView.armDiyViewList) + { + tempView.LightingView(false); + } + } + } + + + //foreach(var tempView in bodyView.armDiyViewList) + //{ + // tempView.LightingView(false); + // if(tempView.sid == updataTemp.sid) + // { + // tempView.LightingView(updataTemp.status == "enable"); + // } + //} + + //娌℃湁甯冮槻鐨勬儏鍐� + if (bodyView.InDefenseMode ==null|| bodyView.InDefenseMode.status == "disable") + { + bodyView.disarmView.Height = 0; + bodyView.btnArmTipIcon.IsSelected = false; + bodyView.btnDefenseName.Text = ""; + } + else + { + bodyView.disarmView.Height = Application.GetRealHeight(68); + bodyView.btnArmTipIcon.IsSelected = true; + bodyView.btnDefenseName.Text = bodyView.InDefenseMode.name; + } + bodyView.InitAlarmStatus(bodyView.InDefenseMode.alarm); } + } + catch (Exception ex) + { + MainPage.Log($"瀹夐槻鐣岄潰鏇存柊寮傚父锛歿ex.Message}"); } }); } @@ -446,14 +511,16 @@ { Button btnIcon; Button btnText; + public string sid; /// <summary> /// 鑷畾涔夊竷闃茬晫闈� /// </summary> /// <param name="UnSelectedIconPath">鍥剧墖璺緞</param> /// <param name="SelectedIconPath">鍥剧墖璺緞</param> /// <param name="Text">鏄剧ず鏂囨湰</param> - public ArmDiyView(string UnSelectedIconPath, string SelectedIconPath, string Text) + public ArmDiyView(string UnSelectedIconPath, string SelectedIconPath, string Text,string inSid) { + sid = inSid; this.Width = Application.GetRealWidth(82); this.Height = Application.GetRealWidth(80); @@ -497,6 +564,9 @@ } + /// <summary> + /// 鍥哄畾甯冮槻鎺т欢 + /// </summary> public class FixedArmView : FrameLayout { /// <summary> -- Gitblit v1.8.0