From 404cdc88627f942df7944af04ee05b9d527752d6 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 30 九月 2019 13:22:40 +0800 Subject: [PATCH] 合并了徐梅的按键面板绑定 --- ZigbeeApp/Shared/Phone/UserCenter/Safety/LightAlarmSettionForm.cs | 298 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 234 insertions(+), 64 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/LightAlarmSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/LightAlarmSettionForm.cs index ed93060..d06cd1e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/LightAlarmSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/LightAlarmSettionForm.cs @@ -6,29 +6,24 @@ namespace Shared.Phone.UserCenter.Safety { /// <summary> - /// 鐏厜鐨勫畨闃叉姤璀﹁缃晫闈� + /// 鐏厜绫荤殑瀹夐槻鎶ヨ璁剧疆鐣岄潰 /// </summary> - public class LightAlarmSettionForm : UserCenterCommonForm + public class LightAlarmSettionForm : EditorCommonForm { - /// <summary> - /// 鐢婚潰鍏抽棴浜嬩欢 - /// </summary> - /// <param name="statuText"></param> - /// <param name="listTaskinfo"></param> - public delegate void _FormCloseEvent(string statuText, List<Safeguard.TaskListInfo> listTaskinfo); - /// <summary> - /// 鐢婚潰鍏抽棴浜嬩欢 - /// </summary> - public _FormCloseEvent formCloseEvent; + #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> - /// 鍒楄〃鎺т欢 + /// 鐢婚潰鍏抽棴浜嬩欢 /// </summary> - private VerticalScrolViewLayout listView = null; + public Action<string, List<Safeguard.TaskListInfo>> ActionFormClose = null; /// <summary> - /// 鍔ㄤ綔淇℃伅 + /// 鍔ㄤ綔淇℃伅 1 寮�鍏�/ 3浜害璋冭妭 /// </summary> - private List<Safeguard.TaskListInfo> listTaskinfo = null; + private Dictionary<int, Safeguard.TaskListInfo> dicTaskinfo = new Dictionary<int, Safeguard.TaskListInfo>(); + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ /// <summary> /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) @@ -37,17 +32,25 @@ /// <param name="i_listTaskInfo"></param> public void ShowForm(CommonDevice device, List<Safeguard.TaskListInfo> i_listTaskInfo) { - this.listTaskinfo = i_listTaskInfo; + UserView.HomePage.Instance.ScrollEnabled = false; + + if (i_listTaskInfo != null) + { + foreach (var data in i_listTaskInfo) + { + //浠ラ槻涓囦竴,鍓旈櫎涓嶅悎娉曟暟鎹� + if (data.TaskType == 1 || data.TaskType == 3) + { + dicTaskinfo[data.TaskType] = data; + } + } + } + //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Common.LocalDevice.Current.GetDeviceEpointName(device)); //鍒濆鍖栦腑閮ㄤ俊鎭� this.InitMiddleFrame(); - - if (this.listTaskinfo == null) - { - this.listTaskinfo = new List<Safeguard.TaskListInfo>(); - } } /// <summary> @@ -55,65 +58,232 @@ /// </summary> private void InitMiddleFrame() { - listView = new VerticalScrolViewLayout(); - listView.Height = bodyFrameLayout.Height; + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + var frameTemp = new FrameLayout(); + frameTemp.Height = Application.GetRealHeight(6); + frameTemp.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(frameTemp); + + var listView = new VerticalListControl(29); + listView.Y = frameTemp.Bottom; + listView.BackgroundColor = UserCenterColor.Current.White; + listView.Height = Application.GetRealHeight(700 - 256 + 46); + if (dicTaskinfo.ContainsKey(5) == true) + { + //灞曞紑鐧惧垎姣旇皟鑺� + listView.Height = Application.GetRealHeight(700); + } bodyFrameLayout.AddChidren(listView); //寮� - var staRow = new StatuRowLayout(listView); - var btnOpen = new RowCenterView(false); - btnOpen.TextID = R.MyInternationalizationString.uSimpleOpen; - staRow.AddChidren(btnOpen); - staRow.MouseUpEvent += (sender, e) => + var btnOpenRow = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(btnOpenRow); + //鍥炬爣 + var btnOpenIcon = btnOpenRow.AddLeftIcon(81); + btnOpenIcon.UnSelectedImagePath = "Item/OpenIcon.png"; + //鏂囧瓧 + var btnOpenView = btnOpenRow.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSimpleOpen), 400); + btnOpenView.TextSize = 15; + //鐘舵�� + var btnOpenStatu = btnOpenRow.AddMostRightEmptyIcon(58, 58); + if (dicTaskinfo.ContainsKey(1) == false || dicTaskinfo[1].Data1 != 1) { - var info = new Safeguard.TaskListInfo(); - info.TaskType = 1; - info.Data1 = 1; - this.listTaskinfo.Add(info); - //鍏抽棴鐢婚潰涔嬪墠 - this.BeforeCloseForm(); + btnOpenStatu.Visible = false; + } + btnOpenStatu.UnSelectedImagePath = "Item/Tick.png"; + //搴曠嚎 + btnOpenRow.AddBottomLine(); + + //=========================================================================== + //鍏� + var btnCloseRow = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(btnCloseRow); + //鍥炬爣 + var btnCloseIcon = btnCloseRow.AddLeftIcon(81); + btnCloseIcon.UnSelectedImagePath = "Item/CloseIcon.png"; + //鏂囧瓧 + var btnCloseView = btnCloseRow.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSimpleClose), 400); + btnCloseView.TextSize = 15; + //鐘舵�� + var btnCloseStatu = btnCloseRow.AddMostRightEmptyIcon(58, 58); + if (dicTaskinfo.ContainsKey(1) == false || dicTaskinfo[1].Data1 != 0) + { + btnCloseStatu.Visible = false; + } + btnCloseStatu.UnSelectedImagePath = "Item/Tick.png"; + //搴曠嚎 + btnCloseRow.AddBottomLine(); + + //=========================================================================== + //鐧惧垎姣旇皟鑺� + var btnPersentRow = new FrameRowControl(listView.rowSpace / 2); + btnPersentRow.UseClickStatu = false; + listView.AddChidren(btnPersentRow); + //鍥炬爣 + var btnPersentIcon = btnPersentRow.AddLeftIcon(81); + btnPersentIcon.UnSelectedImagePath = "Item/PersentIcon.png"; + //鏂囧瓧 + var btnPersentView = btnPersentRow.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uPersentAdjust), 400); + btnPersentView.TextSize = 15; + //鍙冲浘鏍� + var btnPersentRight = btnPersentRow.AddMostRightEmptyIcon(58, 58); + btnPersentRight.UnSelectedImagePath = "Item/Next.png"; + btnPersentRight.SelectedImagePath = "Item/Down.png"; + if (dicTaskinfo.ContainsKey(3) == true) + { + //灞曞紑鐧惧垎姣旇皟鑺� + btnPersentRight.IsSelected = true; + } + + //=========================================================================== + //杩涘害鏉$殑鑳屾櫙瀹瑰櫒 + var frameProfra = new FrameLayout(); + frameProfra.Height = Application.GetRealHeight(256); + listView.AddChidren(frameProfra); + + //褰撳墠XX% + string persentText = Language.StringByID(R.MyInternationalizationString.uNow1); + var nowProValue = 0; + if (dicTaskinfo.ContainsKey(3) == true) + { + //3:浜害璋冭妭 + nowProValue = dicTaskinfo[3].Data1; + } + + var btnPersentValue = new NormalViewControl(400, 49, true); + btnPersentValue.Text = persentText + nowProValue + "%"; + btnPersentValue.X = btnPersentView.X; + btnPersentValue.Y = Application.GetRealHeight(35); + btnPersentValue.TextColor = UserCenterColor.Current.TextGrayColor2; + btnPersentValue.TextSize = 12; + frameProfra.AddChidren(btnPersentValue); + + //杩涘害鏉� + var seekBar = new HorizontalSeekBar(); + seekBar.X = btnPersentValue.X; + seekBar.Y = btnPersentValue.Bottom + Application.GetRealHeight(46); + seekBar.Width = Application.GetRealWidth(850); + seekBar.Height = Application.GetRealHeight(60); + seekBar.Max = 100; + seekBar.BackgroundColor = 0xfff5f5f5; + seekBar.ThumbColor = Common.ZigbeeColor.Current.GXCButtonBlueColor; + seekBar.ProgressColor = 0xff232323; + seekBar.Progress = nowProValue; + frameProfra.AddChidren(seekBar); + + seekBar.ProgressChanged += (sender, value) => + { + nowProValue = value; + btnPersentValue.Text = persentText + value + "%"; + }; + + //鐧惧垎姣旇皟鑺傜偣鍑� + btnPersentRow.ButtonClickEvent += (sender, e) => + { + btnPersentRight.IsSelected = !btnPersentRight.IsSelected; + if (btnPersentRight.IsSelected == true) + { + listView.Height += frameProfra.Height - Application.GetRealHeight(23); + } + else + { + listView.Height -= frameProfra.Height - Application.GetRealHeight(23); + } + }; + + //寮� + btnOpenRow.ButtonClickEvent += (sender, e) => + { + if (btnOpenStatu.Visible == true) + { + //鍙栨秷 + dicTaskinfo.Remove(1); + btnOpenStatu.Visible = false; + } + else + { + //娣诲姞 + btnOpenStatu.Visible = true; + btnCloseStatu.Visible = false; + + dicTaskinfo[1] = new Safeguard.TaskListInfo(); + dicTaskinfo[1].TaskType = 1; + dicTaskinfo[1].Data1 = 1; + } }; //鍏� - staRow = new StatuRowLayout(listView); - var btnClose = new RowCenterView(false); - btnClose.TextID = R.MyInternationalizationString.uSimpleClose; - staRow.AddChidren(btnClose); - staRow.MouseUpEvent += (sender, e) => + btnCloseRow.ButtonClickEvent += (sender, e) => { - var info = new Safeguard.TaskListInfo(); - info.TaskType = 1; - info.Data1 = 0; - this.listTaskinfo.Add(info); - //鍏抽棴鐢婚潰涔嬪墠 - this.BeforeCloseForm(); + if (btnCloseStatu.Visible == true) + { + //鍙栨秷 + dicTaskinfo.Remove(1); + } + else + { + //娣诲姞 + btnOpenStatu.Visible = false; + btnCloseStatu.Visible = true; + + dicTaskinfo[1] = new Safeguard.TaskListInfo(); + dicTaskinfo[1].TaskType = 1; + dicTaskinfo[1].Data1 = 0; + } }; - //鏃犲姩浣� - staRow = new StatuRowLayout(listView); - var btnNotAction = new RowCenterView(false); - btnNotAction.TextID = R.MyInternationalizationString.uNotAction; - staRow.AddChidren(btnNotAction); - staRow.MouseUpEvent += (sender, e) => + //瀹屾垚 + var btnFinish = new BottomClickButton(); + btnFinish.TextID = R.MyInternationalizationString.uFinish; + bodyFrameLayout.AddChidren(btnFinish); + btnFinish.ButtonClickEvent += (sender, e) => { - this.listTaskinfo = null; - //鍏抽棴鐢婚潰涔嬪墠 - this.BeforeCloseForm(); + if (this.ActionFormClose != null) + { + if (btnPersentRight.IsSelected == false || seekBar.Progress == 0) + { + dicTaskinfo.Remove(3); + } + else + { + //鐧惧垎姣旇皟鑺� + dicTaskinfo[3] = new Safeguard.TaskListInfo(); + dicTaskinfo[3].TaskType = 3; + dicTaskinfo[3].Data1 = seekBar.Progress; + } + + var listData = new List<Safeguard.TaskListInfo>(); + foreach (var data in dicTaskinfo.Values) + { + listData.Add(data); + } + dicTaskinfo = null; + + //鑾峰彇鐘舵�佺殑鏄剧ず鏂囨湰 + string statuText = HdlSafeguardLogic.Current.GetLightAlarmStatuText(listData); + this.ActionFormClose(statuText, listData); + } + this.CloseForm(); }; } + + #endregion + + #region 鈻� 鐣岄潰鍏抽棴___________________________ /// <summary> - /// 鍏抽棴鐢婚潰涔嬪墠 + /// 鐣岄潰鍏抽棴 /// </summary> - private void BeforeCloseForm() + public override void CloseForm() { - if (this.formCloseEvent != null) - { - //鑾峰彇鐘舵�佺殑鏄剧ず鏂囨湰 - string statuText = SafeguardLogic.GetLightAlarmStatuText(this.listTaskinfo); - this.formCloseEvent(statuText, this.listTaskinfo); - } - this.CloseForm(); + UserView.HomePage.Instance.ScrollEnabled = true; + ActionFormClose = null; + + base.CloseForm(); } + + #endregion } } -- Gitblit v1.8.0