From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 12 十一月 2020 13:36:01 +0800 Subject: [PATCH] 20201112 --- HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs | 92 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 73 insertions(+), 19 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs index da9b79a..44b8230 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs @@ -1,5 +1,7 @@ 锘縰sing System; +using HDL_ON.DriverLayer; using HDL_ON.Entity; +using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { @@ -18,9 +20,23 @@ return; if (uFunction.functionType == bodyView.light.functionType && uFunction.sid == bodyView.light.sid) { - bodyView.dimmerBar.Progress = uFunction.brightness; - bodyView.dimmerBar.WaveColor = uFunction.on_off == 1 ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2; - bodyView.btnSwitch.IsSelected = uFunction.on_off == 1; + if (!bodyView.onDimmerBar) + { + bodyView.dimmerBar.Progress = uFunction.brightness; + } + + if (uFunction.trait_on_off.value.ToString() == "on") + { + bodyView.dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + } + else + { + bodyView.dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor); + } + bodyView.btnSwitch.IsSelected = uFunction.trait_on_off.value.ToString() == "on"; + + bodyView.btnBrightnessText.Y = ((100 - uFunction.brightness) * Application.GetRealHeight(288 - 16 - 16) / 100) + Application.GetRealWidth(40); + bodyView.btnBrightnessText.Text = uFunction.brightness + "%"; } } catch (Exception ex) @@ -35,10 +51,22 @@ LoadSwitchEvent(); LoadCollectionEvent(); LoadEvent_DimmerBar(); + LoadEvet_ChangeFadeTime(); //鍥為��鍒锋柊淇℃伅浜嬩欢 actionRefresh = () => { btnFunctionName.Text = btnFunctionName_Out.Text = light.name; btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = light.GetRoomListName(); + }; + } + /// <summary> + /// 淇敼鐏厜娓愬彉鏃堕棿 + /// </summary> + void LoadEvet_ChangeFadeTime() + { + barFadeTime.OnProgressChangedEvent = (sender, e) => + { + light.fadeTime = e; + light.SaveFunctionData(); }; } @@ -49,7 +77,7 @@ { btnCollection.MouseUpEventHandler += (sender, e) => { btnCollection.IsSelected = light.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected; - DB_ResidenceData.residenceData.SaveResidenceData(); + light.SaveFunctionData(); }; } @@ -58,36 +86,52 @@ /// </summary> void LoadEvent_DimmerBar() { - DateTime dimmerTime = DateTime.MinValue; + dimmerBar.OnStartTrackingTouchEvent = (sender, e) => { + onDimmerBar = true; + }; + dimmerBar.OnStopTrackingTouchEvent = (sender, e) => { + onDimmerBar = false; + light.brightness = dimmerBar.Progress; + //Control.Send(CommandType_A.write, light); + 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); + light.fadeTime = barFadeTime.Progress; + }; dimmerBar.OnProgressChangedEvent = (sender, e) => { + light.fadeTime = 0; if (!btnSwitch.IsSelected) { - dimmerBar.WaveColor = CSS.CSS_Color.AuxiliaryColor1; - } + dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + } btnSwitch.IsSelected = e > 0 ? true : false; light.brightness = e; - light.on_off = e > 0 ? 1 : 0; + light.trait_on_off.value = e > 0 ? "on" : "off"; if (e == 0 || e == 100) { - Control.Send("write", this.light); + //Control.Send(CommandType_A.write, this.light); + 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); } else { - if (dimmerTime.AddMilliseconds(500) < DateTime.Now) + if (200 < (DateTime.Now - light.refreshTime).TotalMilliseconds) { - dimmerTime = DateTime.Now; + light.refreshTime = DateTime.Now; new System.Threading.Thread(() => { - Control.Send("write", light); + 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); }) { IsBackground = true }.Start(); } - else - { - MainPage.Log("skip control!!"); - } } + + btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(288 - 16 - 16) / 100) + Application.GetRealWidth(40); + btnBrightnessText.Text = light.brightness + "%"; }; } @@ -98,12 +142,22 @@ { btnSwitch.MouseUpEventHandler += (sender, e) => { + light.fadeTime = barFadeTime.Progress; btnSwitch.IsSelected = !btnSwitch.IsSelected; - dimmerBar.WaveColor = btnSwitch.IsSelected ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2; + if (btnSwitch.IsSelected) + { + dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + } + else + { + dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor); + } new System.Threading.Thread(() => { - light.on_off = btnSwitch.IsSelected ? 1 : 0; - Control.Send("write", this.light); + light.trait_on_off.value = btnSwitch.IsSelected ? "on" : "off"; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", light.trait_on_off.value.ToString()); + Control.ins.SendWriteCommand(light, d); }) { IsBackground = true }.Start(); }; -- Gitblit v1.8.0