From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs | 160 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 144 insertions(+), 16 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs index d03631c..a0daf23 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs @@ -1,22 +1,73 @@ 锘縰sing System; +using HDL_ON.DriverLayer; using HDL_ON.Entity; - +using HDL_ON.UI.CSS; +using Shared; namespace HDL_ON.UI { public partial class DimmerPage { - void LoadEventList() + /// <summary> + /// 鏇存柊鍔熻兘鐘舵�� + /// </summary> + public static void UpdataStates(Function updataTemp) { - - LoadSwitchEvent(); - LoadCollectionEvent(); - //鍥為��鍒锋柊淇℃伅浜嬩欢 - actionRefresh = () => { - btnFunctionName.Text = btnFunctionName_Out.Text = light.name; - btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = light.GetRoomListName(); - }; + Application.RunOnMainThread((() => + { + try + { + if (bodyView == null) + return; + if (updataTemp.spk == bodyView.function.spk && updataTemp.sid == bodyView.function.sid) + { + bodyView.btnBrightnessText.Text = updataTemp.GetAttrState(FunctionAttributeKey.Brightness) + "%"; + bodyView.btnBrightnessText.Y = ((100 - Convert.ToInt32( updataTemp.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(288 - 16 - 16) / 100) + Application.GetRealWidth(40); + if (updataTemp.trait_on_off.curValue.ToString() == "on") + { + bodyView.dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + if (!bodyView.onDimmerBar) + { + bodyView.dimmerBar.Progress = Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness)); + } + } + else + { + bodyView.dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor); + } + bodyView.btnSwitch.IsSelected = updataTemp.trait_on_off.curValue.ToString() == "on"; + } + } + catch (Exception ex) + { + MainPage.Log($"{bodyView.GetType().Name } UpdataStates error : {ex.Message}"); + } + })); } + void LoadEventList() + { + LoadSwitchEvent(); + LoadCollectionEvent(); + LoadEvent_DimmerBar(); + LoadEvet_ChangeFadeTime(); + //鍥為��鍒锋柊淇℃伅浜嬩欢 + actionRefresh = () => { + btnFunctionName.Text = btnFunctionName_Out.Text = function.name; + btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName(); + //function.SaveFunctionData(true); + }; + } + /// <summary> + /// 淇敼鐏厜娓愬彉鏃堕棿 + /// </summary> + void LoadEvet_ChangeFadeTime() + { + barFadeTime.OnStopTrackingTouchEvent = (sender, e) => + { + function.SetAttrState(FunctionAttributeKey.FadeTime, e.ToString()); + function.UpdataFuncitonInfo(); + }; + } /// <summary> /// 鏀惰棌鍔熻兘鎸夐挳浜嬩欢 @@ -24,8 +75,63 @@ void LoadCollectionEvent() { btnCollection.MouseUpEventHandler += (sender, e) => { - btnCollection.IsSelected = light.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected; - DB_ResidenceData.residenceData.SaveResidenceData(); + btnCollection.IsSelected = function.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + function.CollectFunction(); + }; + } + + /// <summary> + /// 鐏厜璋冨厜浜嬩欢 + /// </summary> + void LoadEvent_DimmerBar() + { + dimmerBar.OnStartTrackingTouchEvent = (sender, e) => { + onDimmerBar = true; + }; + dimmerBar.OnStopTrackingTouchEvent = (sender, e) => { + onDimmerBar = false; + function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress); + function.SetAttrState(FunctionAttributeKey.FadeTime, barFadeTime.Progress); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString()); + Control.Ins.SendWriteCommand(function, d); + btnBrightnessText.Text = dimmerBar.Progress + "%"; + }; + //20201223 鍒犻櫎婊戝姩鍙戦�佸懡浠わ紝闃叉鎺т欢璺冲姩 + dimmerBar.OnProgressChangedEvent = (sender, e) => + { + dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + //function.fadeTime = 0; + //if (!btnSwitch.IsSelected) + //{ + // dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + //} + //btnSwitch.IsSelected = e > 0 ? true : false; + //function.brightness = e; + //function.trait_on_off.curValue = e > 0 ? "on" : "off"; + //if (e == 0 || e == 100) + //{ + // //Control.Send(CommandType_A.write, this.function); + // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + // d.Add(FunctionAttributeKey.Brightness, function.brightness.ToString()); + // Control.Ins.SendWriteCommand(function, d); + //} + //else + //{ + // if (200 < (DateTime.Now - function.refreshTime).TotalMilliseconds) + // { + // function.refreshTime = DateTime.Now; + // new System.Threading.Thread(() => + // { + // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + // d.Add(FunctionAttributeKey.Brightness, function.brightness.ToString()); + // Control.Ins.SendWriteCommand(function, d); + // }) + // { IsBackground = true }.Start(); + // } + //} + btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(288 - 16 - 16) / 100) + Application.GetRealWidth(40); + btnBrightnessText.Text = dimmerBar.Progress + "%"; }; } @@ -36,13 +142,35 @@ { btnSwitch.MouseUpEventHandler += (sender, e) => { + function.SetAttrState(FunctionAttributeKey.FadeTime, barFadeTime.Progress); btnSwitch.IsSelected = !btnSwitch.IsSelected; - + if (btnSwitch.IsSelected) + { + dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + } + else + { + dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor); + } new System.Threading.Thread(() => { - var light = this.light as Light; - light.state = btnSwitch.IsSelected ? 1 : 0; - Control.Send("write", this.light, 3); + 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()); + d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime)); + if (btnSwitch.IsSelected) + { + if(function.lastBrightness == 0) + { + function.lastBrightness = 100; + } + d.Add(FunctionAttributeKey.Brightness, function.lastBrightness.ToString()); + } + else + { + function.lastBrightness = Convert.ToInt32( function.GetAttrState(FunctionAttributeKey.Brightness)); + } + Control.Ins.SendWriteCommand(function, d); }) { IsBackground = true }.Start(); }; -- Gitblit v1.8.0