From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:25:59 +0800 Subject: [PATCH] 2024年07月25日17:24:45 --- HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs | 167 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 138 insertions(+), 29 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs index 84f44bd..a9e30ac 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -49,15 +50,20 @@ /// 鑹茬洏閲岄潰閭d釜浼氭粦鍔ㄧ殑鐞� /// </summary> Button btnWhiteRound; + /// <summary> + /// 鐐僵寮�鍏虫寜閽� + /// </summary> + Button btnColorfulSwitch; + #endregion #region 鍖哄煙鍙橀噺 Light lightTemp; + Function function; Button btnCollection_Out; Button btnFunctionName_Out; Button btnFromFloor_Out; bool onDimmerBar = false; - Function function; /// <summary> /// 鏈�鍚庢墦寮�鐨勯鑹� @@ -85,10 +91,16 @@ //new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(function,null); //new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), function); + int magriHeight = 0; + if (function.GetAttribute(FunctionAttributeKey.FadeTime) != null && function.GetAttribute(FunctionAttributeKey.Colorful) != null) + { + magriHeight = 80; + } + FrameLayout controlView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(88), + Y = Application.GetRealHeight(88 + 10), Width = Application.GetRealWidth(327), Height = Application.GetRealHeight(526), BackgroundImagePath = "Public/Fragmentbg.png", @@ -155,12 +167,14 @@ var framePickerBack = new FrameLayout(); framePickerBack.Gravity = Gravity.CenterHorizontal; framePickerBack.Y = btnFromFoorAndRoom.Bottom + Application.GetRealHeight(1); - framePickerBack.Width = Application.GetMinRealAverage(216); - framePickerBack.Height = Application.GetMinRealAverage(216); + framePickerBack.Width = Application.GetMinRealAverage(216-magriHeight); + framePickerBack.Height = Application.GetMinRealAverage(216 - magriHeight); + //framePickerBack.BackgroundColor = 0xFFFF0000; controlView.AddChidren(framePickerBack); colorPicker = new ColorPicker() { + Gravity = Gravity.Center, ColorImagePath = "FunctionIcon/Light/ColorWheel.png", }; framePickerBack.AddChidren(colorPicker); @@ -176,10 +190,17 @@ //}; //鐧界偣鎺т欢 - this.btnWhiteRound = new Button(); - btnWhiteRound.Width = Application.GetRealWidth(24); - btnWhiteRound.Height = Application.GetRealWidth(24); - btnWhiteRound.UnSelectedImagePath = "FunctionIcon/Light/ColorWheelTip.png"; + var diameter = Application.GetRealWidth(12); + this.btnWhiteRound = new Button() + { + Width = diameter, + Height = diameter, + Radius = (uint)Application.GetRealWidth(6), + BorderWidth = (uint)Application.GetRealWidth(1), + BorderColor = CSS_Color.MainBackgroundColor, + Enable = false, + }; + //btnWhiteRound.UnSelectedImagePath = "FunctionIcon/Light/ColorWheelTip.png"; btnWhiteRound.Visible = false; framePickerBack.AddChidren(btnWhiteRound); @@ -187,7 +208,7 @@ var btnBrightnessText = new Button() { X = Application.GetRealWidth(35), - Y = Application.GetRealHeight(308), + Y = Application.GetRealHeight(308 - magriHeight), Width = Application.GetRealWidth(224), Height = Application.GetRealHeight(21), TextAlignment = TextAlignment.CenterLeft, @@ -213,7 +234,7 @@ dimmerBar = new DiyImageSeekBar() { X = Application.GetRealWidth(35 + 22), - Y = Application.GetRealHeight(312), + Y = Application.GetRealHeight(316 - magriHeight), Width = Application.GetRealWidth(210), Height = Application.GetRealHeight(54), SeekBarViewHeight = Application.GetRealHeight(8), @@ -242,21 +263,22 @@ controlView.AddChidren(btnMaxValuesText); #endregion + int heightMore = 375 - magriHeight; + if (function.GetAttribute(FunctionAttributeKey.FadeTime) != null) { #region 娓愬彉鏃堕棿璋冭妭 + var btnGradualChangeText = new Button() { X = Application.GetRealWidth(35), - Y = Application.GetRealHeight(375), + Y = Application.GetRealHeight(heightMore), Width = Application.GetRealWidth(224), Height = Application.GetRealHeight(21), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextID = StringId.SpeedOfChange, - Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, - Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, }; controlView.AddChidren(btnGradualChangeText); @@ -270,15 +292,13 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, - Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, }; controlView.AddChidren(btnGradualChangeMinValuesText); barFadeTime = new DiyImageSeekBar() { - X = btnGradualChangeMinValuesText.Right, - Y = Application.GetRealHeight(412 - 21), + X = Application.GetRealWidth(35 + 22), + Y = Application.GetRealHeight(412 - 21-magriHeight), Width = Application.GetRealWidth(210), Height = Application.GetRealHeight(54), SeekBarViewHeight = Application.GetRealHeight(8), @@ -292,15 +312,13 @@ MaxValue = 10, Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.FadeTime)), SeekBarPadding = Application.GetRealWidth(20), - Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, - Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, }; controlView.AddChidren(barFadeTime); - barFadeTime.OnStopTrackingTouchEvent = (sender, e) => - { - function.SetAttrState(FunctionAttributeKey.FadeTime, barFadeTime.Progress); - function.UpdataFuncitonInfo(); - }; + //barFadeTime.OnStopTrackingTouchEvent = (sender, e) => + //{ + // function.SetAttrState(FunctionAttributeKey.FadeTime, barFadeTime.Progress); + // function.UpdataFuncitonInfo(); + //}; var btnGradualChangeMaxValuesText = new Button() { @@ -317,8 +335,99 @@ }; controlView.AddChidren(btnGradualChangeMaxValuesText); #endregion + //heightMore += 70; } + + if (function.GetAttribute(FunctionAttributeKey.Colorful)!= null) + { + #region 鐐僵鍔熻兘 + + + var btnGradualChangeText = new Button() + { + X = Application.GetRealWidth(35), + Y = Application.GetRealHeight(heightMore + magriHeight), + Width = Application.GetRealWidth(224), + Height = Application.GetRealHeight(21), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextID = StringId.ColorfulFunction, + }; + controlView.AddChidren(btnGradualChangeText); + + var btnEditColorful = new Button() + { + X = Application.GetRealWidth(35), + Y = btnGradualChangeText.Bottom + Application.GetRealHeight(10), + Width = Application.GetRealWidth(22), + Height = Application.GetRealHeight(21), + UnSelectedImagePath = "Public/Edit.png", + }; + controlView.AddChidren(btnEditColorful); + btnEditColorful.MouseUpEventHandler = (sender, e) => { + var rgbView = new ColorfulInfoPage(function); + MainPage.BasePageView.AddChidren(rgbView); + rgbView.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + + var barColorful = new FrameLayout() + { + X = btnEditColorful.Right + Application.GetRealWidth(15), + Y = Application.GetRealHeight(37 + heightMore + magriHeight), + Width = Application.GetRealWidth(180), + Height = Application.GetRealHeight(8), + BackgroundImagePath = "FunctionIcon/Light/ColorfulBar.png", + }; + controlView.AddChidren(barColorful); + + btnColorfulSwitch = new Button() + { + X = barColorful.Right + Application.GetRealWidth(8), + Y = btnGradualChangeText.Bottom + Application.GetRealHeight(10), + Width = Application.GetRealWidth(38), + Height = Application.GetRealHeight(24), + UnSelectedImagePath = "Public/Switch.png", + SelectedImagePath = "Public/SwitchOn.png", + }; + controlView.AddChidren(btnColorfulSwitch); + + btnColorfulSwitch.MouseUpEventHandler = (sender, e) => { + btnColorfulSwitch.IsSelected = !btnColorfulSwitch.IsSelected; + new System.Threading.Thread(() => + { + try + { + var controlColorfulState = btnColorfulSwitch.IsSelected ? "on" : "off"; + function.SetAttrState(FunctionAttributeKey.Colorful, controlColorfulState); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Colorful, controlColorfulState); + if (controlColorfulState == "on") + { + var color = function.GetAttrState(FunctionAttributeKey.ColorfulBegin).Split(","); + var sendColorString = color[0] + "," + color[1] + "," + color[2]; + d.Add(FunctionAttributeKey.ColorfulBegin, sendColorString); + color = function.GetAttrState(FunctionAttributeKey.ColorfulEnd).Split(","); + sendColorString = color[0] + "," + color[1] + "," + color[2]; + d.Add(FunctionAttributeKey.ColorfulEnd, sendColorString); + d.Add(FunctionAttributeKey.ColorfulTime, function.GetAttrState(FunctionAttributeKey.ColorfulTime)); + } + Control.Ins.SendWriteCommand(function, d); + }catch(Exception ex) + { + MainPage.Log($"鎺у埗鐐僵寮�鍏冲紓甯�:{ex.Message}"); + } + }) + { IsBackground = true }.Start(); + }; + + #endregion + + + } + btnRestoredPoint = new Button() { X = Application.GetRealWidth(116), @@ -346,13 +455,12 @@ new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView_FunctionTop(function, actionRefresh); new System.Threading.Thread(() => { - DriverLayer.Control.Ins.SendReadCommand(function); + Control.Ins.SendReadCommand(function); }) { IsBackground = true }.Start(); - - - new System.Threading.Thread(() => { + new System.Threading.Thread(() => + { while (true) { System.Threading.Thread.Sleep(1000); @@ -366,7 +474,8 @@ } else { - DriverLayer.Control.Ins.SendReadCommand(function); + System.Threading.Thread.Sleep(1000); + Control.Ins.SendReadCommand(function); curDimmerStatus = true; } } -- Gitblit v1.8.0