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 | 463 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 410 insertions(+), 53 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs index 5647415..583048b 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs @@ -7,28 +7,29 @@ namespace HDL_ON.UI { - public class AddOutputPage : FrameLayout - { - FrameLayout bodyView; + public class AddOutputPage : FrameLayout + { + FrameLayout bodyView; - FrameLayout showdFunctionTypeRow; + FrameLayout showdFunctionTypeRow; - /// <summary> - /// 妤煎眰閫夋嫨涓嬫媺鍥炬爣 - /// </summary> - Button btnFloorDownIcon; - /// <summary> - /// 妤煎眰鏄剧ず - /// </summary> - Button btnFloor; + /// <summary> + /// 妤煎眰閫夋嫨涓嬫媺鍥炬爣 + /// </summary> + Button btnFloorDownIcon; + /// <summary> + /// 妤煎眰鏄剧ず + /// </summary> + Button btnFloor; - /// <summary> - /// 绛涢�夋枃鏈樉绀� - /// </summary> - Button btnScreenText; + /// <summary> + /// 绛涢�夋枃鏈樉绀� + /// </summary> + Button btnScreenText; - VerticalScrolViewLayout functionListView; + VerticalScrolViewLayout functionListView; +<<<<<<< HEAD Action<SecurityAlarm> refreshAction; /// <summary> /// 鏈湴鍔熻兘杞崲鐨勮緭鍑哄垪琛紙鐏厜銆佸満鏅級 @@ -43,13 +44,83 @@ refreshAction = action; alarm = inOutput; } +======= + SecurityAlarm securityAlarm; + Action<SecurityAlarm> refreshAction; + List<SecurityOutput> outputList = new List<SecurityOutput>(); + + List<Function> allocatedList = new List<Function>(); + + public AddOutputPage(SecurityAlarm function, Action<SecurityAlarm> action) + { + bodyView = this; + securityAlarm = function; + refreshAction = action; + } +>>>>>>> WJC - /// <summary> - /// 鍔犺浇鐣岄潰 - /// </summary> - public void LoadPage() + /// <summary> + /// 鍔犺浇鐣岄潰 + /// </summary> + public void LoadPage() + { + 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); + + #endregion + + functionListView = new VerticalScrolViewLayout() + { + Y = showdFunctionTypeRow.Bottom, + Height = Application.GetRealHeight(530 - 100), + BackgroundColor = CSS_Color.BackgroundColor, + }; + bodyView.AddChidren(functionListView); + + + + + + + foreach (var function in FunctionList.List.Functions) + { + if (!MainPage.SceneSupportFunctionList.Contains(function.spk)) { +<<<<<<< HEAD bodyView.BackgroundColor = CSS_Color.BackgroundColor; new TopViewDiv(bodyView, Language.StringByID(StringId.AddFunction)).LoadTopView(); @@ -130,9 +201,70 @@ this.RemoveFromParent(); refreshAction?.Invoke(alarm); }; +======= + continue; + } + if (function == null) + { + continue; + } + function.roomIds.Remove(null); + allocatedList.Add(function); + } + + LoadFunctionListRow(null); + + + + + + + + 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) => + { + securityAlarm.output = new List<SecurityOutput>(); + foreach (var output in outputList) + { + if (output.addCondition) + { + securityAlarm.output.Add(output); + } + } + this.RemoveFromParent(); + refreshAction?.Invoke(securityAlarm); + }; + + + + +>>>>>>> WJC } +<<<<<<< HEAD /// <summary> /// 閰嶇疆鏁版嵁 /// </summary> @@ -164,6 +296,9 @@ RoomName = function.GetRoomListName(), }); } +======= + } +>>>>>>> WJC foreach (var scene in FunctionList.List.scenes) @@ -192,10 +327,72 @@ }); } + // <summary> + /// 鏄剧ず鍔熻兘Row + /// </summary> + void LoadFunctionListRow(List<Function> functions) + { + functionListView.RemoveAll(); + if (functions == null) + { + functions = allocatedList; + } + foreach (var function in functions) + { + var output = securityAlarm.output.Find((obj) => obj.sid == function.sid); + if (output == null) + { + output = new SecurityOutput(); + output.sid = function.sid; } + else + { + output.addCondition = true; + } + outputList.Add(output); + 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.GetRoomListName(), + 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); + +<<<<<<< HEAD // <summary> /// 鏄剧ず鍔熻兘Row /// </summary> @@ -313,30 +510,63 @@ Height = Application.GetRealWidth(1), BackgroundColor = CSS_Color.DividingLineColor, }); +======= + 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; + if (btnChooseIcon.IsSelected) + { + output.addCondition = true; + if (output.status.Count == 0) + { + ShowStateDialog(output, btnState, btnChooseIcon); } + } + else + { + output.addCondition = false; + } + }; + btnState.MouseUpEventHandler = (sender, e) => + { + ShowStateDialog(output, btnState, btnChooseIcon); + }; +>>>>>>> WJC + + + if (output.addCondition) + { + btnChooseIcon.IsSelected = true; + btnState.Text = output.StateText(); } +<<<<<<< HEAD private void ShowStateDialog(SecurityOutput output, Button btnState, Button btnChoose = null) +======= + functionListView.AddChidren(new Button() +>>>>>>> WJC { - Dialog dialog = new Dialog(); + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealWidth(1), + BackgroundColor = CSS_Color.DividingLineColor, + }); - FrameLayout contentView = new FrameLayout(); - dialog.AddChidren(contentView); - contentView.MouseUpEventHandler = (sender, e) => - { - dialog.Close(); - if (output.status.Count == 0) - { - if (btnChoose != null) - { - btnChoose.IsSelected = false; - } - } - }; +<<<<<<< HEAD VerticalScrolViewLayout optinView = new VerticalScrolViewLayout() { Gravity = Gravity.CenterHorizontal, @@ -379,27 +609,89 @@ btnOpen.IsSelected = output.status[0].value.ToLower() == "on"; btnClose.IsSelected = !btnOpen.IsSelected; } +======= + } + } + +>>>>>>> WJC - Button btnCancel = new Button() - { - Gravity = Gravity.CenterHorizontal, - Y = optinView.Bottom + Application.GetRealHeight(8), - Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(44), - Radius = (uint)Application.GetRealHeight(13), - BackgroundColor = CSS_Color.MainBackgroundColor, - TextID = StringId.Cancel, - TextColor = CSS_Color.WarningColor, - IsBold = true, - }; - contentView.AddChidren(btnCancel); + private void ShowStateDialog(SecurityOutput output, Button btnState, Button btnChoose = null) + { + Dialog dialog = new Dialog(); - dialog.Show(); + FrameLayout contentView = new FrameLayout(); + dialog.AddChidren(contentView); + contentView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + if (output.status.Count == 0) + { + if (btnChoose != null) + { + btnChoose.IsSelected = false; + } + } + }; - btnOpen.MouseUpEventHandler = (sender, e) => { - btnState.Text = btnOpen.Text; - output.status = new List<SecurityOutputStatus>() + 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, + TextColor = CSS_Color.MainColor, + 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, + TextColor = CSS_Color.PromptingColor1, + TextID = StringId.OFF, + TextSize = CSS_FontSize.SubheadingFontSize, + }; + optinView.AddChidren(btnClose); + + + Button btnCancel = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = optinView.Bottom + Application.GetRealHeight(8), + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(44), + Radius = (uint)Application.GetRealHeight(13), + BackgroundColor = CSS_Color.MainBackgroundColor, + TextID = StringId.Cancel, + TextColor = CSS_Color.WarningColor, + IsBold = true, + }; + contentView.AddChidren(btnCancel); + + dialog.Show(); + + btnOpen.MouseUpEventHandler = (sender, e) => + { + btnState.Text = btnOpen.Text; + output.status = new List<SecurityOutputStatus>() { new SecurityOutputStatus() { @@ -407,6 +699,7 @@ value = "on", } }; +<<<<<<< HEAD var localInput = alarm.output.Find((obj) => obj.sid == output.sid ); @@ -422,11 +715,27 @@ btnState.Text = btnClose.Text; output.status = new List<SecurityOutputStatus>() { +======= + output.addCondition = true; + if (btnChoose != null) + { + btnChoose.IsSelected = true; + } + dialog.Close(); + }; + + btnClose.MouseUpEventHandler = (sender, e) => + { + 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 @@ -451,11 +760,33 @@ }; +======= + }; + output.addCondition = true; + if (btnChoose != null) + { + btnChoose.IsSelected = true; +>>>>>>> WJC + } + dialog.Close(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + if (output.status.Count == 0) + { + if (btnChoose != null) + { + btnChoose.IsSelected = false; + } } + }; + } - +<<<<<<< HEAD /// <summary> /// 浣忓畢鍒楄〃鐐瑰嚮浜嬩欢 /// </summary> @@ -477,7 +808,33 @@ }, nowSelectId); }; } +======= + +>>>>>>> WJC + /// <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) => + { + nowSelectId = selectId; + //閲嶆柊鍒锋柊璁惧鍒楄〃 + this.LoadFunctionListRow(listFun); + }, nowSelectId); + }; } + + + } } -- Gitblit v1.8.0