From bb6ad792b598927a5459a5fb6f6c27fb1aa9e94e Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期四, 17 十二月 2020 14:06:36 +0800 Subject: [PATCH] 20201217-1 --- HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs | 110 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 80 insertions(+), 30 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs index 708ca09..15c1c32 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using Shared; namespace HDL_ON.UI @@ -18,13 +19,23 @@ return; if (uFunction.functionType == bodyView.light.functionType && uFunction.sid == bodyView.light.sid) { - if (bodyView.onDimmerBar) + if (!bodyView.onDimmerBar) { bodyView.dimmerBar.Progress = uFunction.brightness; - bodyView.dimmerBar.ProgressBarColor = uFunction.on_off == 1 ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2; } - bodyView.btnSwitch.IsSelected = uFunction.on_off == 1; - bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.light.redColor * 256 * 256 + bodyView.light.greenColor * 256 + bodyView.light.blueColor); + if (uFunction.trait_on_off.curValue.ToString() == "on") + { + bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheel.png"; + bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; + bodyView.btnSwitch.IsSelected = true; + bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.light.GetRGBcolor()); + } + else + { + bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png"; + bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.PromptingColor2; + bodyView.btnSwitch.IsSelected = false; + } } } catch (Exception ex) @@ -42,10 +53,12 @@ LoadSwitchEvent(); LoadEvent_BackCenterColor(); LoadEvent_DimmerBar(); + LoadEvet_ChangeFadeTime(); //鍥為��鍒锋柊淇℃伅浜嬩欢 actionRefresh = () => { btnFunctionName.Text = btnFunctionName_Out.Text = light.name; btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = light.GetRoomListName(); + //light.SaveFunctionData(true); }; } @@ -56,18 +69,19 @@ { DateTime colorChangeTime = DateTime.MinValue; colorPicker.ColorChaged += (sender2, e2) => { + if(light.trait_on_off.curValue.ToString() == "off") + { + return; + } if ((DateTime.Now - colorChangeTime).TotalMilliseconds > 200) { - light.redColor = e2[0]; - light.greenColor = e2[1]; - light.blueColor = e2[2]; + light.SetRGBcolor(e2); colorChangeTime = DateTime.Now; - btnCurColor.BackgroundColor = (uint)(0xFF000000 + light.redColor * 256 * 256 + light.greenColor * 256 + light.blueColor); - Control.Send("write", this.light); - } - else - { - MainPage.Log("Skip control rgb!"); + btnCurColor.BackgroundColor = (uint)(0xFF000000 + light.GetRGBcolor()); + //Control.Send(CommandType_A.write, this.light); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.RGB, light.GetRGBcolorString()); + Control.Ins.SendWriteCommand(light, d); } }; colorPicker.MouseUpEventHandler = (sender, e) => @@ -84,8 +98,8 @@ void LoadCollectionEvent() { btnCollection.MouseUpEventHandler += (sender, e) => { - btnCollection.IsSelected = light.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected; - DB_ResidenceData.residenceData.SaveResidenceData(); + btnCollection.IsSelected = light.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + light.SaveFunctionData(true); }; } @@ -94,34 +108,49 @@ /// </summary> void LoadEvent_DimmerBar() { - DateTime dimmerTime = DateTime.MinValue; - dimmerBar.MouseDownEventHandler = (sender, e)=>{ + dimmerBar.OnStartTrackingTouchEvent = (sender, e)=>{ onDimmerBar = true; }; - dimmerBar.MouseUpEventHandler = (sender, e) => { - onDimmerBar = false; + dimmerBar.OnStopTrackingTouchEvent = (sender, e) => { + new System.Threading.Thread(() => { + System.Threading.Thread.Sleep(100); + onDimmerBar = false; + }) + { IsBackground = true }.Start(); + light.brightness = dimmerBar.Progress; + 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); + light.fadeTime = barFadeTime.Progress; }; dimmerBar.OnProgressChangedEvent = (sender, e) => { + light.fadeTime = 0; if (!btnSwitch.IsSelected) { dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; } btnSwitch.IsSelected = e > 0 ? true : false; light.brightness = e; - light.on_off = e > 0 ? 1 : 0; + light.trait_on_off.curValue = 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(FunctionAttributeKey.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); + //Control.Send(CommandType_A.write, 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); }) { IsBackground = true }.Start(); } @@ -134,6 +163,17 @@ } /// <summary> + /// 淇敼鐏厜娓愬彉鏃堕棿 + /// </summary> + void LoadEvet_ChangeFadeTime() + { + barFadeTime.MouseUpEventHandler = (sender, e) => + { + light.fadeTime = barFadeTime.Progress; + light.SaveFunctionData(true); + }; + } + /// <summary> /// 鍔犺浇寮�鍏充簨浠� /// </summary> void LoadSwitchEvent() @@ -144,9 +184,18 @@ dimmerBar.ProgressBarColor = btnSwitch.IsSelected ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2; new System.Threading.Thread(() => { - var light = this.light as Light; - light.on_off = btnSwitch.IsSelected ? 1 : 0; - Control.Send("write", this.light); + 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(FunctionAttributeKey.OnOff, light.trait_on_off.curValue.ToString()); + if (btnSwitch.IsSelected) + { + d.Add(FunctionAttributeKey.Brightness, light.lastBrightness.ToString()); + } + else + { + light.lastBrightness = light.brightness; + } + Control.Ins.SendWriteCommand(light, d); }) { IsBackground = true }.Start(); }; @@ -158,11 +207,12 @@ { btnRestoredPoint.MouseUpEventHandler = (sender, e) => { - light.color = "255255255"; + light.SetRGBcolor(new byte[] { 255, 255, 255 }); btnCurColor.BackgroundColor = 0xFFFFFFFF; - Control.Send("write", this.light); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.RGB, light.GetRGBcolorString()); + Control.Ins.SendWriteCommand(light, d); }; } - } } -- Gitblit v1.8.0