From 358044c907e0e492b26377b21ca5091d19b503c8 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 30 十一月 2021 09:58:59 +0800 Subject: [PATCH] 合并wjc --- HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs | 399 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 398 insertions(+), 1 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs index 8501b16..583048b 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs @@ -29,6 +29,22 @@ VerticalScrolViewLayout functionListView; +<<<<<<< HEAD + Action<SecurityAlarm> refreshAction; + /// <summary> + /// 鏈湴鍔熻兘杞崲鐨勮緭鍑哄垪琛紙鐏厜銆佸満鏅級 + /// </summary> + List<SecurityOutput> allocatedList = new List<SecurityOutput>(); + + SecurityAlarm alarm; + + public AddOutputPage(SecurityAlarm inOutput ,Action<SecurityAlarm> action) + { + bodyView = this; + refreshAction = action; + alarm = inOutput; + } +======= SecurityAlarm securityAlarm; Action<SecurityAlarm> refreshAction; List<SecurityOutput> outputList = new List<SecurityOutput>(); @@ -41,6 +57,7 @@ securityAlarm = function; refreshAction = action; } +>>>>>>> WJC /// <summary> @@ -103,6 +120,88 @@ { if (!MainPage.SceneSupportFunctionList.Contains(function.spk)) { +<<<<<<< HEAD + bodyView.BackgroundColor = CSS_Color.BackgroundColor; + new TopViewDiv(bodyView, Language.StringByID(StringId.AddFunction)).LoadTopView(); + + #region 鏄剧ず鐨勫姛鑳界被鍨嬪垏鎹㈠尯鍩� + showdFunctionTypeRow = new FrameLayout() + { + Y = Application.GetRealHeight(64), + Height = Application.GetRealHeight(62), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + bodyView.AddChidren(showdFunctionTypeRow); + + + btnFloorDownIcon = new Button() + { + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(18), + UnSelectedImagePath = "Public/DownIcon.png", + }; + showdFunctionTypeRow.AddChidren(btnFloorDownIcon); + + btnFloor = new Button() + { + X = btnFloorDownIcon.Right, + Y = Application.GetRealHeight(18), + Width = Application.GetRealWidth(200), + Height = Application.GetMinRealAverage(16), + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextAlignment = TextAlignment.CenterLeft, + Text = DB_ResidenceData.Instance.CurFloor.roomName, + }; + showdFunctionTypeRow.AddChidren(btnFloor); + LoadDialog_ChangeFloor(); + + #endregion + + functionListView = new VerticalScrolViewLayout() + { + Y = showdFunctionTypeRow.Bottom, + Height = Application.GetRealHeight(530 -100), + BackgroundColor = CSS_Color.BackgroundColor, + }; + bodyView.AddChidren(functionListView); + + + SetData(); + + LoadFunctionListRow(); + + var bottomView = new FrameLayout() + { + Y = Application.GetRealHeight(591), + Height = Application.GetRealHeight(100), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(22), + }; + this.AddChidren(bottomView); + + var btnConfrim = new Button() + { + X = Application.GetRealWidth(78), + Y = Application.GetRealHeight(12), + Width = Application.GetRealWidth(220), + Height = Application.GetRealWidth(44), + Radius = (uint)Application.GetRealWidth(22), + BackgroundColor = CSS_Color.MainColor, + TextID = StringId.Confirm, + TextSize = CSS_FontSize.SubheadingFontSize, + TextColor = CSS_Color.MainBackgroundColor, + TextAlignment = TextAlignment.Center, + }; + bottomView.AddChidren(btnConfrim); + btnConfrim.MouseUpEventHandler = (sender, e) => + { + this.RemoveFromParent(); + refreshAction?.Invoke(alarm); + }; +======= continue; } if (function == null) @@ -161,12 +260,72 @@ +>>>>>>> WJC + } +<<<<<<< HEAD + /// <summary> + /// 閰嶇疆鏁版嵁 + /// </summary> + void SetData(string roomId="") + { + allocatedList.Clear(); + foreach (var function in FunctionList.List.GetLightList()) + { + if (function == null) + { + continue; + } + if (!string.IsNullOrEmpty(roomId) && roomId == "ALLSELECT") + { + if (!function.roomIds.Contains(roomId)) + { + continue; + } + } + function.roomIds.Remove(null); + var tempStatus = new List<SecurityOutputStatus>(); + tempStatus.Add(new SecurityOutputStatus() { key = FunctionAttributeKey.OnOff, value = "on" }); + allocatedList.Add(new SecurityOutput + { + target_type = "0", + sid = function.sid, + status = tempStatus, + name = function.name, + RoomName = function.GetRoomListName(), + }); + } +======= } +>>>>>>> WJC - + foreach (var scene in FunctionList.List.scenes) + { + if (scene == null) + { + continue; + } + if (!string.IsNullOrEmpty(roomId)) + { + if (!scene.roomIds.Contains(roomId)) + { + continue; + } + } + scene.roomIds.Remove(null); + var tempStatus = new List<SecurityOutputStatus>(); + tempStatus.Add(new SecurityOutputStatus() { key = "value", value = "0" }); + allocatedList.Add(new SecurityOutput + { + target_type = "1", + sid = scene.sid, + status = tempStatus, + name = scene.name, + RoomName = scene.GetRoomListName(), + }); + } // <summary> /// 鏄剧ず鍔熻兘Row @@ -233,6 +392,125 @@ }; functionRow.AddChidren(btnState); +<<<<<<< HEAD + // <summary> + /// 鏄剧ず鍔熻兘Row + /// </summary> + void LoadFunctionListRow() + { + functionListView.RemoveAll(); + foreach (var function in allocatedList) + { + var output = alarm.output.Find((obj) => obj.sid == function.sid); + if (output == null) + { + output = new SecurityOutput() { status = new List<SecurityOutputStatus> { new SecurityOutputStatus { + key = FunctionAttributeKey.OnOff, + value = "on" + } } }; + + output.sid = function.sid; + } + //else + //{ + // output.addCondition = true; + //} + + FrameLayout functionRow = new FrameLayout() + { + Height = Application.GetRealHeight(65), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + functionListView.AddChidren(functionRow); + + var btnFunctionName = new Button() + { + X = Application.GetRealWidth(16), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(44), + Text = function.name, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + }; + functionRow.AddChidren(btnFunctionName); + + var btnFunctionFloorName = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(24), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(41), + Text = function.RoomName, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + }; + functionRow.AddChidren(btnFunctionFloorName); + + Button btnState = new Button() + { + Width = Application.GetRealWidth(317), + TextAlignment = TextAlignment.CenterRight, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.PromptingColor1, + }; + functionRow.AddChidren(btnState); + + + Button btnChooseIcon = new Button() + { + X = Application.GetRealWidth(333), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), + UnSelectedImagePath = "Public/ChooseIcon.png", + SelectedImagePath = "Public/ChooseOnIcon.png", + }; + functionRow.AddChidren(btnChooseIcon); + + btnChooseIcon.MouseUpEventHandler = (sender, e) => { + btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected; + var tempLocal = alarm.input.Find((obj) => + obj.sid == output.sid + ); + if (btnChooseIcon.IsSelected) + { + //input.addCondition = true; + if (tempLocal == null) + alarm.output.Add(output); + } + else + { + //input.addCondition = false; + if (tempLocal != null) + { + alarm.output.Remove(output); + } + } + }; + btnState.MouseUpEventHandler = (sender, e) => + { + ShowStateDialog(output, btnState, btnChooseIcon); + }; + + var localOutput = alarm.output.Find((obj) => obj.sid == output.sid); + + if (localOutput!=null) + { + btnChooseIcon.IsSelected = true; + btnState.Text = output.StateText(); + } + + + functionListView.AddChidren(new Button() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealWidth(1), + BackgroundColor = CSS_Color.DividingLineColor, + }); +======= Button btnChooseIcon = new Button() { @@ -265,6 +543,7 @@ { ShowStateDialog(output, btnState, btnChooseIcon); }; +>>>>>>> WJC if (output.addCondition) @@ -274,7 +553,11 @@ } +<<<<<<< HEAD + private void ShowStateDialog(SecurityOutput output, Button btnState, Button btnChoose = null) +======= functionListView.AddChidren(new Button() +>>>>>>> WJC { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), @@ -283,9 +566,54 @@ }); +<<<<<<< HEAD + VerticalScrolViewLayout optinView = new VerticalScrolViewLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(515), + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(88), + Radius = (uint)Application.GetRealHeight(13), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + contentView.AddChidren(optinView); + + Button btnOpen = new Button() + { + Height = Application.GetRealHeight(44), + TextAlignment = TextAlignment.Center, + SelectedTextColor = CSS_Color.MainColor, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.On, + }; + optinView.AddChidren(btnOpen); + optinView.AddChidren(new Button() + { + Height = 1, + BackgroundColor = CSS_Color.DividingLineColor + }); + + Button btnClose = new Button() + { + Height = Application.GetRealHeight(44), + TextAlignment = TextAlignment.Center, + SelectedTextColor = CSS_Color.MainColor, + TextColor = CSS_Color.PromptingColor1, + TextID = StringId.OFF, + TextSize = CSS_FontSize.SubheadingFontSize, + }; + optinView.AddChidren(btnClose); + if (output.status.Count > 0) + { + btnOpen.IsSelected = output.status[0].value.ToLower() == "on"; + btnClose.IsSelected = !btnOpen.IsSelected; + } +======= } } +>>>>>>> WJC private void ShowStateDialog(SecurityOutput output, Button btnState, Button btnChoose = null) @@ -371,6 +699,23 @@ value = "on", } }; +<<<<<<< HEAD + var localInput = alarm.output.Find((obj) => + obj.sid == output.sid + ); + if (localInput == null) + { + btnChoose.IsSelected = true; + } + dialog.Close(); + }; + + btnClose.MouseUpEventHandler = (sender, e) => + { + btnState.Text = btnClose.Text; + output.status = new List<SecurityOutputStatus>() + { +======= output.addCondition = true; if (btnChoose != null) { @@ -384,16 +729,44 @@ btnState.Text = btnClose.Text; output.status = new List<SecurityOutputStatus>() { +>>>>>>> WJC new SecurityOutputStatus() { key = FunctionAttributeKey.OnOff, value = "off", } +<<<<<<< HEAD + }; + var localInput = alarm.output.Find((obj) => + obj.sid == output.sid + ); + if (localInput == null) + { + btnChoose.IsSelected = true; + } + dialog.Close(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + if (output.status.Count == 0) + { + if (btnChoose != null) + { + btnChoose.IsSelected = false; + } + } + + }; + +======= }; output.addCondition = true; if (btnChoose != null) { btnChoose.IsSelected = true; +>>>>>>> WJC } dialog.Close(); }; @@ -413,7 +786,31 @@ } +<<<<<<< HEAD + /// <summary> + /// 浣忓畢鍒楄〃鐐瑰嚮浜嬩欢 + /// </summary> + void LoadDialog_ChangeFloor() + { + string nowSelectId = null; + btnFloor.MouseUpEventHandler = (sender, e) => + { + var listAllFun = new List<Function>(); + //listAllFun.AddRange(allocatedList); + //鏄剧ず涓嬫媺鐣岄潰 + var form = new FloorRoomSelectPopupView(); + form.ShowDeviceFunctionView(btnFloor, listAllFun, (selectId, listFun) => + { + SetData(selectId); + //閲嶆柊鍒锋柊璁惧鍒楄〃 + this.LoadFunctionListRow(); + }, nowSelectId); + }; + } +======= + +>>>>>>> WJC /// <summary> -- Gitblit v1.8.0