From 068c68295cad1967f7aafb4e5e951260ef03d4ce Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 09 七月 2021 09:16:43 +0800 Subject: [PATCH] 状态属性更改,不要轻易合并 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 132 +++++++++++++++++++++++++++++++------------ 1 files changed, 94 insertions(+), 38 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs index 015aaaf..0542613 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using System.Collections.Generic; using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.Music; @@ -16,7 +17,7 @@ { if(bodyDiv!= null) { - Application.RunOnMainThread(() => { + Application.RunOnMainThread((Action)(() => { if(bodyDiv.Tag.ToString() == upfunc.sid) { for (var o = 0; o < bodyDiv.ChildrenCount; o++) @@ -28,7 +29,7 @@ { if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar") { - btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on"; + btn.IsSelected = upfunc.trait_on_off.state.ToString() == "on"; } } } @@ -39,14 +40,14 @@ { if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar") { - //btn.Progress = (upfunc as Light).trait_brightness.value.value.ToString() == "on"; + btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness)); } } } } } - }); + })); } } /// <summary> @@ -75,18 +76,30 @@ /// </summary> void LoadEvent_SwitchFunction(Button btnSwitch,FunctionAttributes fadeTime = null) { + btnSwitch.MouseUpEventHandler = (sender, e) => { btnSwitch.IsSelected = !btnSwitch.IsSelected; + + if(SPK.NotStatusSpkList.Contains( function.spk )) + { + new System.Threading.Thread(() => { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + }); + }) { IsBackground = true }.Start(); + } + new System.Threading.Thread(() => { - function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + function.trait_on_off.state = btnSwitch.IsSelected ? "on" : "off"; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.state.ToString()); if(fadeTime!= null) { int result = 0; - int.TryParse(fadeTime.curValue.ToString(), out result); + int.TryParse(fadeTime.state.ToString(), out result); d.Add(FunctionAttributeKey.FadeTime, result.ToString()); } Control.Ins.SendWriteCommand(function, d); @@ -106,13 +119,11 @@ btnSwitch.IsSelected = !btnSwitch.IsSelected; new System.Threading.Thread(() => { - if (function.functionCategory == FunctionCategory.Light) + if (function.Spk_Prefix == FunctionCategory.Light) { - var light = function as Light; - light.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; - //Control.Send(CommandType_A.write, function); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", function.trait_on_off.curValue.ToString()); + function.trait_on_off.state = btnSwitch.IsSelected ? "on" : "off"; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", function.trait_on_off.state.ToString()); Control.Ins.SendWriteCommand(function, d); } }) @@ -125,9 +136,8 @@ /// </summary> void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar) { - if(function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB) + if(function.spk == SPK.LightDimming || function.spk == SPK.LightRGB) { - var light = function as Light; dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => { onDimmerBar = true; (bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = false; @@ -135,10 +145,10 @@ dimmerControlBar.OnStopTrackingTouchEvent = (sender, e) => { onDimmerBar = false; (bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = true; - light.brightness = dimmerControlBar.Progress; - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("brightness", light.brightness.ToString()); - Control.Ins.SendWriteCommand(light, d); + function.SetAttrState(FunctionAttributeKey.Brightness, dimmerControlBar.Progress.ToString()); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Brightness, dimmerControlBar.Progress.ToString()); + Control.Ins.SendWriteCommand(function, d); }; dimmerControlBar.OnProgressChangedEvent = (sender, e) => { dimmerControlBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; @@ -182,34 +192,28 @@ /// <param name="btnStop"></param> /// <param name="btnOpen"></param> /// <param name="btnClose"></param> - void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose, Curtain curtain) + void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose, Function curtain) { btnClose.MouseUpEventHandler = (sender, e) => { btnClose.IsSelected = true; btnStop.IsSelected = false; btnOpen.IsSelected = false; - curtain.trait_on_off.curValue = "off"; - curtain.percent = 0; - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + curtain.trait_on_off.state = "off"; + curtain.SetAttrState(FunctionAttributeKey.Percent, 0); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.state.ToString()); Control.Ins.SendWriteCommand(curtain, d); }; - //btnStop.MouseDownEventHandler = (sender, e) => - //{ - // btnStop.IsSelected = true; - // btnClose.IsSelected = false; - // btnOpen.IsSelected = false; - //}; btnStop.MouseUpEventHandler = (sender, e) => { btnStop.IsSelected = true; btnClose.IsSelected = false; btnOpen.IsSelected = false; - curtain.trait_on_off.curValue = "stop"; - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + curtain.trait_on_off.state = "stop"; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.state.ToString()); Control.Ins.SendWriteCommand(curtain, d); }; @@ -218,14 +222,64 @@ btnOpen.IsSelected = true; btnClose.IsSelected = false; btnStop.IsSelected = false; - curtain.trait_on_off.curValue = "on"; - curtain.percent = 100; - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + curtain.trait_on_off.state = "on"; + curtain.SetAttrState(FunctionAttributeKey.Percent, 100); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.state.ToString()); Control.Ins.SendWriteCommand(curtain, d); }; } #endregion + + + /// <summary> + /// 鍔犺浇鏅捐。鏋舵帶鍒朵簨浠� + /// </summary> + void LoadEvent_ControlClothesHanger(Function function, Button btnUp, Button btnDown) + { + btnUp.MouseDownEventHandler = (sender, e) => + { + btnUp.IsSelected = true; + }; + btnUp.MouseUpEventHandler = (sender, e) => + { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnUp.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + function.SetAttrState(FunctionAttributeKey.Position, "up"); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Position, "up"); + Control.Ins.SendWriteCommand(function, d); + }; + + btnDown.MouseDownEventHandler = (sender, e) => + { + btnDown.IsSelected = true; + }; + btnDown.MouseUpEventHandler = (sender, e) => + { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnDown.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + function.SetAttrState(FunctionAttributeKey.Position, "down"); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Position, "down"); + Control.Ins.SendWriteCommand(function, d); + }; + } + #region 绌鸿皟浜嬩欢 #endregion @@ -239,6 +293,8 @@ /// <param name="curtain"></param> void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, A31MusicModel a31player) { + if (a31player == null) + return; ///涓婁竴鏇茬偣鍑讳簨浠� btnPrev.MouseDownEventHandler = (sender, e) => { -- Gitblit v1.8.0