From d72ca686a3e262693f8a6e45e747e8e8da43335b Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 06 七月 2021 09:39:03 +0800 Subject: [PATCH] 2021-07-06 1.更新 --- HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs | 176 +++++++++++++++++++++++++++++++++------------------------- 1 files changed, 100 insertions(+), 76 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs index b2fd650..b20523e 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs @@ -9,36 +9,53 @@ /// <summary> /// 鏇存柊鍔熻兘鐘舵�� /// </summary> - public static void UpdataStates(Light uFunction) + public static void UpdataStates(Function updateTemp) { - Application.RunOnMainThread(() => + Application.RunOnMainThread((() => { try { if (bodyView == null) return; - if (uFunction.functionType == bodyView.light.functionType && uFunction.sid == bodyView.light.sid) + if (updateTemp.spk == bodyView.function.spk && updateTemp.sid == bodyView.function.sid) { - - if (uFunction.trait_on_off.curValue.ToString() == "on") + + if (updateTemp.trait_on_off.curValue.ToString() == "on") { - bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheel.png"; + //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰� + if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheel.png") + { + 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()); if (!bodyView.onDimmerBar) { - bodyView.dimmerBar.Progress = uFunction.brightness; + bodyView.dimmerBar.Progress = Convert.ToInt32(updateTemp.GetAttrState(FunctionAttributeKey.Brightness)); } } //鐘舵�佷竴鏍锋椂,涓嶅啀鍒锋柊瑙嗗浘 - else if (uFunction.trait_on_off.curValue.ToString() == "off" && bodyView.btnSwitch.IsSelected == true) + else if (updateTemp.trait_on_off.curValue.ToString() == "off" && bodyView.btnSwitch.IsSelected == true) { - bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png"; + //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰� + if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheelGray.png") + { + bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png"; + } + //bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png"; bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.PromptingColor2; bodyView.btnSwitch.IsSelected = false; //鑹茬洏鐨勫渾鐐归殣钘� bodyView.btnWhiteRound.Visible = false; + } + bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.lightTemp.GetRGBcolor(updateTemp)); + if (bodyView.lightTemp.GetRGBcolor(updateTemp) == 16777215 && bodyView.btnCurColor.BorderColor != 0x00000000) + { + bodyView.btnCurColor.BorderColor = CSS.CSS_Color.PromptingColor2; + } + else + { + bodyView.btnCurColor.BorderColor = 0x00000000; } } } @@ -46,7 +63,7 @@ { MainPage.Log($"{bodyView.GetType().Name } UpdataStates error : {ex.Message}"); } - }); + })); } @@ -60,9 +77,8 @@ LoadEvet_ChangeFadeTime(); //鍥為��鍒锋柊淇℃伅浜嬩欢 actionRefresh = () => { - btnFunctionName.Text = btnFunctionName_Out.Text = light.name; - btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = light.GetRoomListName(); - //light.SaveFunctionData(true); + btnFunctionName.Text = btnFunctionName_Out.Text = function.name; + btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName(); }; } @@ -79,7 +95,7 @@ int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12); colorPicker.ColorChaged += (sender2, e2) => { - if (light.trait_on_off.curValue.ToString() == "off" + if (function.trait_on_off.curValue.ToString() == "off" || pointIsRight == false) { //pointIsRight:鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐� @@ -87,18 +103,17 @@ } if ((DateTime.Now - colorChangeTime).TotalMilliseconds > 200) { - light.SetRGBcolor(e2); + lightTemp.SetRGBcolor(e2,function); colorChangeTime = DateTime.Now; - btnCurColor.BackgroundColor = (uint)(0xFF000000 + light.GetRGBcolor()); - //Control.Send(CommandType_A.write, this.light); + btnCurColor.BackgroundColor = (uint)(0xFF000000 + lightTemp.GetRGBcolor(function)); 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); + d.Add(FunctionAttributeKey.RGB, lightTemp.GetRGBcolorString(function)); + Control.Ins.SendWriteCommand(function, d); } }; colorPicker.MouseDownEventHandler += (sender, e) => { - if (light.trait_on_off.curValue.ToString() == "off") + if (function.trait_on_off.curValue.ToString() == "off") { return; } @@ -129,8 +144,8 @@ void LoadCollectionEvent() { btnCollection.MouseUpEventHandler += (sender, e) => { - btnCollection.IsSelected = light.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; - light.SaveFunctionData(true); + btnCollection.IsSelected = function.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + function.CollectFunction(); }; } @@ -144,52 +159,51 @@ }; dimmerBar.OnStopTrackingTouchEvent = (sender, e) => { new System.Threading.Thread(() => { - System.Threading.Thread.Sleep(100); + System.Threading.Thread.Sleep(200); onDimmerBar = false; }) { IsBackground = true }.Start(); - light.brightness = dimmerBar.Progress; + function.SetAttrState(FunctionAttributeKey.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; + d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString()); + Control.Ins.SendWriteCommand(function, d); + function.SetAttrState(FunctionAttributeKey.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.trait_on_off.curValue = e > 0 ? "on" : "off"; + //function.fadeTime = 0; + //if (!btnSwitch.IsSelected) + //{ + // dimmerBar.ProgressBarColor = CSS.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.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(() => - { - //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(); - } - else - { - MainPage.Log("skip dimmer control!!"); - } - } + //if (e == 0 || e == 100) + //{ + // 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(() => + // { + // //Control.Send(CommandType_A.write, 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); + // }) + // { IsBackground = true }.Start(); + // } + // else + // { + // MainPage.Log("skip dimmer control!!"); + // } + //} }; } @@ -198,10 +212,10 @@ /// </summary> void LoadEvet_ChangeFadeTime() { - barFadeTime.MouseUpEventHandler = (sender, e) => + barFadeTime.OnStopTrackingTouchEvent = (sender, e) => { - light.fadeTime = barFadeTime.Progress; - light.SaveFunctionData(true); + function.SetAttrState(FunctionAttributeKey.FadeTime, barFadeTime.Progress); + function.UpdataFuncitonInfo(); }; } /// <summary> @@ -213,25 +227,27 @@ { btnSwitch.IsSelected = !btnSwitch.IsSelected; dimmerBar.ProgressBarColor = btnSwitch.IsSelected ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2; - bodyView.colorPicker.ColorImagePath = btnSwitch.IsSelected ? "FunctionIcon/Light/ColorWheel.png" : "FunctionIcon /Light/ColorWheelGray.png"; + bodyView.colorPicker.ColorImagePath = btnSwitch.IsSelected ? "FunctionIcon/Light/ColorWheel.png" : "FunctionIcon/Light/ColorWheelGray.png"; new System.Threading.Thread(() => { - light.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; + 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, light.trait_on_off.curValue.ToString()); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime)); if (btnSwitch.IsSelected) { - if(light.lastBrightness == 0) + if(function.lastBrightness == 0) { - light.lastBrightness = 100; + function.lastBrightness = 100; + dimmerBar.Progress = 100; } - d.Add(FunctionAttributeKey.Brightness, light.lastBrightness.ToString()); + d.Add(FunctionAttributeKey.Brightness, function.lastBrightness.ToString()); } else { - light.lastBrightness = light.brightness; + function.lastBrightness = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)); } - Control.Ins.SendWriteCommand(light, d); + Control.Ins.SendWriteCommand(function, d); }) { IsBackground = true }.Start(); }; @@ -243,11 +259,19 @@ { btnRestoredPoint.MouseUpEventHandler = (sender, e) => { - light.SetRGBcolor(new byte[] { 255, 255, 255 }); + if(function.trait_on_off.curValue.ToString() == "off") + { + return; + } + btnWhiteRound.Visible = true; + btnWhiteRound.Gravity = Gravity.Center; + + lightTemp.SetRGBcolor(new byte[] { 255, 255, 255 },function); btnCurColor.BackgroundColor = 0xFFFFFFFF; + btnCurColor.BorderColor = CSS.CSS_Color.PromptingColor2; 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); + d.Add(FunctionAttributeKey.RGB, lightTemp.GetRGBcolorString(function)); + Control.Ins.SendWriteCommand(function, d); }; } -- Gitblit v1.8.0