From 01b8b5bde8a58060bdd03b78a32747c5aa551976 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 01 十二月 2021 09:32:54 +0800 Subject: [PATCH] 111 --- HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs | 127 ++++++++++++++++++++++++------------------ 1 files changed, 73 insertions(+), 54 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs index 167b453..3558ece 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs @@ -14,13 +14,11 @@ Action<SecurityAlarm> refreshAction; - SecurityAlarm securityAlarm; - List<SecurityInput> inputList = new List<SecurityInput>(); - - public AddInputPage(SecurityAlarm alarm,Action<SecurityAlarm> action) + SecurityAlarm alarm; + public AddInputPage(SecurityAlarm inAlarm,Action<SecurityAlarm> action) { bodyView = this; - securityAlarm = alarm; + alarm = inAlarm; refreshAction = action; } @@ -65,14 +63,17 @@ Text = DB_ResidenceData.Instance.CurFloor.roomName, }; showdFunctionTypeRow.AddChidren(btnFloor); - btnFloor.MouseUpEventHandler += (sender, e) => + btnFloor.MouseUpEventHandler = (sender, e) => { string nowSelectId = null; - var listAllFun = FunctionList.List.GetArmSensorList(); + var list = FunctionList.List.GetArmSensorList(); +#if DEBUG + list.AddRange(FunctionList.List.GetLightList()); +#endif //鏄剧ず涓嬫媺鐣岄潰 var form = new FloorRoomSelectPopupView(); - form.ShowDeviceFunctionView(btnFloor, listAllFun, (selectId, listFun) => + form.ShowDeviceFunctionView(btnFloor, list, (selectId, listFun) => { nowSelectId = selectId; //閲嶆柊鍒锋柊璁惧鍒楄〃 @@ -92,8 +93,12 @@ bodyView.AddChidren(functionListView); + var listAllFun = FunctionList.List.GetArmSensorList(); +#if DEBUG + listAllFun.AddRange(FunctionList.List.GetLightList()); +#endif - LoadFunctionListRow(FunctionList.List.GetArmSensorList()); + LoadFunctionListRow(listAllFun); @@ -122,16 +127,8 @@ bottomView.AddChidren(btnConfrim); btnConfrim.MouseUpEventHandler = (sender, e) => { - securityAlarm.input = new List<SecurityInput>(); - foreach (var input in inputList) - { - if (input.addCondition) - { - securityAlarm.input.Add(input); - } - } this.RemoveFromParent(); - refreshAction?.Invoke(securityAlarm); + refreshAction?.Invoke(alarm); }; @@ -151,13 +148,10 @@ functions = FunctionList.List.GetArmSensorList(); } -#if DEBUG - functions.AddRange(FunctionList.List.GetLightList()); -#endif foreach (var function in functions) { - var input = securityAlarm.input.Find((obj) => obj.sid == function.sid); + var input = alarm.input.Find((obj) => obj.sid == function.sid); if (input == null) { input = new SecurityInput(); @@ -188,32 +182,32 @@ break; } input.condition = new List<SecurityInputCondition>() - { - new SecurityInputCondition() { - key = inKey, - value = inValue, - } - }; + new SecurityInputCondition() + { + key = inKey, + value = inValue, + } + }; if (function.spk == SPK.LightSwitch || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) { input.condition = new List<SecurityInputCondition>() - { - new SecurityInputCondition() { - key = FunctionAttributeKey.OnOff, - value = "off", - } - }; + new SecurityInputCondition() + { + key = FunctionAttributeKey.OnOff, + value = "off", + } + }; } } - else - { - input.addCondition = true; - } - inputList.Add(input); + //else + //{ + // //input.addCondition = true; + // alarm.input.Add(input); + //} FrameLayout functionRow = new FrameLayout() { @@ -268,37 +262,53 @@ }; functionRow.AddChidren(btnChooseIcon); - btnChooseIcon.MouseUpEventHandler = (sender, e) => { + btnChooseIcon.MouseUpEventHandler = (sender, e) => + { btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected; - if(btnChooseIcon.IsSelected) + var tempLocal = alarm.input.Find((obj) => + obj.sid == input.sid + ); + if (btnChooseIcon.IsSelected) { - input.addCondition = true; - //if (input.condition.Count==0) - //{ - // ShowStateDialog(input, btnState,btnChooseIcon,function.spk); - //} + //input.addCondition = true; + if (tempLocal == null) + alarm.input.Add(input); } else { - input.addCondition = false; + //input.addCondition = false; + if (tempLocal != null) + { + alarm.input.Remove(input); + } } }; btnState.MouseUpEventHandler = (sender, e) => { - //ShowStateDialog(input, btnState, btnChooseIcon, function.spk); btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected; + var tempLocal = alarm.input.Find((obj) => + obj.sid == input.sid + ); if (btnChooseIcon.IsSelected) { - input.addCondition = true; + //input.addCondition = true; + if (tempLocal == null) + alarm.input.Add(input); } else { - input.addCondition = false; + //input.addCondition = false; + if (tempLocal != null) + { + alarm.input.Remove(input); + } } }; - - if (input.addCondition) + var localInput = alarm.input.Find((obj) => + obj.sid == input.sid + ); + if (localInput!=null) { btnChooseIcon.IsSelected = true; btnState.Text = input.StateText(); @@ -414,8 +424,12 @@ } + var localInput = alarm.input.Find((obj) => + obj.sid == input.sid + ); + if (localInput == null) + alarm.input.Add(input); - input.addCondition = true; if (btnChoose != null) { btnChoose.IsSelected = true; @@ -448,7 +462,12 @@ } - input.addCondition = true; + var localInput = alarm.input.Find((obj) => + obj.sid == input.sid + ); + if (localInput == null) + alarm.input.Add(input); + if (btnChoose != null) { btnChoose.IsSelected = true; -- Gitblit v1.8.0