From d4811b7d34b45ff6b21b97f11da128b5572ec526 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 03 三月 2021 16:03:03 +0800 Subject: [PATCH] 20210303-1 --- HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs | 134 +++++++++++++++++++++++++++----------------- 1 files changed, 83 insertions(+), 51 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs index 6500699..709243b 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -11,33 +12,36 @@ /// </summary> public static void UpdataStates(Light uFunction) { - Application.RunOnMainThread(() => + Application.RunOnMainThread((Action)(() => { try { if (bodyView == null) return; - if (uFunction.functionType == bodyView.light.functionType && uFunction.sid == bodyView.light.sid) + if (uFunction.spk == bodyView.light.spk && uFunction.sid == bodyView.light.sid) { - bodyView.dimmerBar.Progress = uFunction.brightness; - - if (uFunction.trait_on_off.value.ToString() == "on") + bodyView.btnBrightnessText.Text = uFunction.brightness + "%"; + bodyView.btnBrightnessText.Y = ((100 - uFunction.brightness) * Application.GetRealHeight(288 - 16 - 16) / 100) + Application.GetRealWidth(40); + if (uFunction.trait_on_off.curValue.ToString() == "on") { bodyView.dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + if (!bodyView.onDimmerBar) + { + bodyView.dimmerBar.Progress = uFunction.brightness; + } } else { bodyView.dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor); } - //bodyView.dimmerBar.WaveColor = uFunction.on_off == "on" ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2; - bodyView.btnSwitch.IsSelected = uFunction.trait_on_off.value.ToString() == "on"; + bodyView.btnSwitch.IsSelected = uFunction.trait_on_off.curValue.ToString() == "on"; } } catch (Exception ex) { MainPage.Log($"{bodyView.GetType().Name } UpdataStates error : {ex.Message}"); } - }); + })); } void LoadEventList() @@ -45,10 +49,23 @@ LoadSwitchEvent(); LoadCollectionEvent(); LoadEvent_DimmerBar(); + LoadEvet_ChangeFadeTime(); //鍥為��鍒锋柊淇℃伅浜嬩欢 actionRefresh = () => { btnFunctionName.Text = btnFunctionName_Out.Text = light.name; btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = light.GetRoomListName(); + //light.SaveFunctionData(true); + }; + } + /// <summary> + /// 淇敼鐏厜娓愬彉鏃堕棿 + /// </summary> + void LoadEvet_ChangeFadeTime() + { + barFadeTime.OnStopTrackingTouchEvent = (sender, e) => + { + light.fadeTime = e; + light.UpdataFuncitonInfo(); }; } @@ -58,8 +75,8 @@ void LoadCollectionEvent() { btnCollection.MouseUpEventHandler += (sender, e) => { - btnCollection.IsSelected = light.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected; - light.SaveFunctionData(); + btnCollection.IsSelected = light.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + light.CollectFunction(); }; } @@ -76,44 +93,46 @@ 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.SendWriteCommand(light, d); + d.Add(FunctionAttributeKey.Brightness, light.brightness.ToString()); + Control.Ins.SendWriteCommand(light, d); + light.fadeTime = barFadeTime.Progress; + btnBrightnessText.Text = dimmerBar.Progress + "%"; }; - dimmerBar.OnProgressChangedEvent = (sender, e) => { - if (!btnSwitch.IsSelected) - { - dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); - } - btnSwitch.IsSelected = e > 0 ? true : false; - light.brightness = e; - light.trait_on_off.value = e > 0 ? "on" : "off"; - - if (e == 0 || e == 100) - { - //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.SendWriteCommand(light, d); - } - else - { - if (200 < (DateTime.Now - light.refreshTime).TotalMilliseconds) - { - light.refreshTime = DateTime.Now; - new System.Threading.Thread(() => - { - //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.SendWriteCommand(light, d); - }) - { IsBackground = true }.Start(); - } - else - { - MainPage.Log("skip control!!"); - } - } + //20201223 鍒犻櫎婊戝姩鍙戦�佸懡浠わ紝闃叉鎺т欢璺冲姩 + dimmerBar.OnProgressChangedEvent = (sender, e) => + { + dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + //light.fadeTime = 0; + //if (!btnSwitch.IsSelected) + //{ + // dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + //} + //btnSwitch.IsSelected = e > 0 ? true : false; + //light.brightness = e; + //light.trait_on_off.curValue = e > 0 ? "on" : "off"; + //if (e == 0 || e == 100) + //{ + // //Control.Send(CommandType_A.write, this.light); + // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + // d.Add(FunctionAttributeKey.Brightness, light.brightness.ToString()); + // Control.Ins.SendWriteCommand(light, d); + //} + //else + //{ + // if (200 < (DateTime.Now - light.refreshTime).TotalMilliseconds) + // { + // light.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, light.brightness.ToString()); + // Control.Ins.SendWriteCommand(light, d); + // }) + // { IsBackground = true }.Start(); + // } + //} + btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(288 - 16 - 16) / 100) + Application.GetRealWidth(40); + btnBrightnessText.Text = dimmerBar.Progress + "%"; }; } @@ -124,6 +143,7 @@ { btnSwitch.MouseUpEventHandler += (sender, e) => { + light.fadeTime = barFadeTime.Progress; btnSwitch.IsSelected = !btnSwitch.IsSelected; if (btnSwitch.IsSelected) { @@ -135,11 +155,23 @@ } new System.Threading.Thread(() => { - light.trait_on_off.value = btnSwitch.IsSelected ? "on" : "off"; + light.trait_on_off.curValue = 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.SendWriteCommand(light, d); - //Control.Send(CommandType_A.write, this.light); + d.Add(FunctionAttributeKey.OnOff, light.trait_on_off.curValue.ToString()); + d.Add(FunctionAttributeKey.FadeTime, light.fadeTime.ToString()); + if (btnSwitch.IsSelected) + { + if(light.lastBrightness == 0) + { + light.lastBrightness = 100; + } + d.Add(FunctionAttributeKey.Brightness, light.lastBrightness.ToString()); + } + else + { + light.lastBrightness = light.brightness; + } + Control.Ins.SendWriteCommand(light, d); }) { IsBackground = true }.Start(); }; -- Gitblit v1.8.0