From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs | 227 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 145 insertions(+), 82 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs index d912967..45ef832 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs @@ -41,14 +41,28 @@ /// 璋冨厜杩涘害鏉� /// </summary> DiyImageSeekBar dimmerBar; + /// <summary> + /// 娓愬彉鏃堕棿杩涘害鏉� + /// </summary> + DiyImageSeekBar barFadeTime; + /// <summary> + /// 鑹茬洏閲岄潰閭d釜浼氭粦鍔ㄧ殑鐞� + /// </summary> + Button btnWhiteRound; #endregion #region 鍖哄煙鍙橀噺 - Light light; + Light lightTemp; Button btnCollection_Out; Button btnFunctionName_Out; Button btnFromFloor_Out; bool onDimmerBar = false; + Function function; + + /// <summary> + /// 鏈�鍚庢墦寮�鐨勯鑹� + /// </summary> + byte[] lastColor = new byte[3] { 255, 255, 255 }; /// <summary> /// 鍒锋柊鏄剧ず淇℃伅 /// </summary> @@ -58,7 +72,8 @@ public RGBPage(Function func) { bodyView = this; - light = func as Light; + function = func; + lightTemp = new Light(); } public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut) @@ -89,7 +104,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, - Text = light.name, + Text = function.name, }; controlView.AddChidren(btnFunctionName); @@ -102,7 +117,7 @@ TextColor = CSS_Color.PromptingColor1, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = light.GetRoomListName() + Text = function.GetRoomListName() }; controlView.AddChidren(btnFromFoorAndRoom); @@ -115,7 +130,7 @@ Radius = (uint)Application.GetMinRealAverage(8), BorderColor = CSS_Color.PromptingColor2, BorderWidth = 1, - BackgroundColor = (uint)(0xFF000000 + light.redColor * 256 * 256 + light.greenColor * 256 + light.blueColor) + BackgroundColor = (uint)(0xFF000000 + lightTemp.GetRGBcolor(function.GetAttrState(FunctionAttributeKey.RGB))) }; controlView.AddChidren(btnCurColor); @@ -127,19 +142,46 @@ Height = Application.GetMinRealAverage(40), SelectedImagePath = "Collection/CollectionIcon.png", UnSelectedImagePath = "Collection/CollectionGrayIcon.png", - IsSelected = light.collection + IsSelected = function.collect }; controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) + //{ + // controlView.AddChidren(btnCollection); + //} + + //鑹茬洏鐨勬甯冩帶浠�(闄愬埗閭d釜鐧借壊婊戝姩鐞冧娇鐢�) + 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); + controlView.AddChidren(framePickerBack); colorPicker = new ColorPicker() { - Gravity = Gravity.CenterHorizontal, - Y = btnFromFoorAndRoom.Bottom + Application.GetRealHeight(1), - Width = Application.GetMinRealAverage(216), - Height = Application.GetMinRealAverage(216), ColorImagePath = "FunctionIcon/Light/ColorWheel.png", }; - controlView.AddChidren(colorPicker); + framePickerBack.AddChidren(colorPicker); + if(function.trait_on_off.curValue.ToString() == "off") + { + colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png"; + } + //colorPicker.MouseDownEventHandler = (sender, e) => { + // MainPage.BasePageView.ScrollEnabled = false; + //}; + //colorPicker.MouseUpEventHandler = (sender, e) => { + // MainPage.BasePageView.ScrollEnabled = true; + //}; + + //鐧界偣鎺т欢 + this.btnWhiteRound = new Button(); + btnWhiteRound.Width = Application.GetRealWidth(24); + btnWhiteRound.Height = Application.GetRealWidth(24); + btnWhiteRound.UnSelectedImagePath = "FunctionIcon/Light/ColorWheelTip.png"; + btnWhiteRound.Visible = false; + framePickerBack.AddChidren(btnWhiteRound); #region 浜害璋冭妭 var btnBrightnessText = new Button() @@ -159,7 +201,7 @@ { X = Application.GetRealWidth(35), Y = btnBrightnessText.Bottom, - Width = Application.GetRealWidth(22), + Width = Application.GetRealWidth(30), Height = Application.GetRealHeight(21), Text = "0%", TextAlignment = TextAlignment.CenterLeft, @@ -170,7 +212,7 @@ dimmerBar = new DiyImageSeekBar() { - X = btnMinValuesText.Right, + X = Application.GetRealWidth(35 + 22), Y = Application.GetRealHeight(312), Width = Application.GetRealWidth(210), Height = Application.GetRealHeight(54), @@ -179,9 +221,9 @@ ThumbImageHeight = Application.GetRealHeight(54), ProgressTextColor = CSS_Color.FirstLevelTitleColor, ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel, - ProgressBarColor = light.trait_on_off.value.ToString() == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.DividingLineColor, + ProgressBarColor = function.trait_on_off.curValue.ToString() == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.DividingLineColor, MaxValue = 100, - Progress = light.brightness, + Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)), SeekBarPadding = Application.GetRealWidth(20), }; controlView.AddChidren(dimmerBar); @@ -190,7 +232,7 @@ { X = dimmerBar.Right, Y = btnBrightnessText.Bottom, - Width = Application.GetRealWidth(35), + Width = Application.GetRealWidth(45), Height = Application.GetRealHeight(21), Text = "100%", TextAlignment = TextAlignment.CenterLeft, @@ -200,73 +242,89 @@ controlView.AddChidren(btnMaxValuesText); #endregion - #region 娓愬彉鏃堕棿璋冭妭 - var btnGradualChangeText = new Button() + if (function.GetAttribute(FunctionAttributeKey.FadeTime) != null) { - X = Application.GetRealWidth(35), - Y = Application.GetRealHeight(375), - Width = Application.GetRealWidth(224), - Height = Application.GetRealHeight(21), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextID = StringId.SpeedOfChange, - }; - controlView.AddChidren(btnGradualChangeText); + #region 娓愬彉鏃堕棿璋冭妭 + var btnGradualChangeText = new Button() + { + X = Application.GetRealWidth(35), + Y = Application.GetRealHeight(375), + 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); - var btnGradualChangeMinValuesText = new Button() - { - X = Application.GetRealWidth(35), - Y = btnGradualChangeText.Bottom+ Application.GetRealHeight(10), - Width = Application.GetRealWidth(22), - Height = Application.GetRealHeight(21), - Text = "0s", - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - }; - controlView.AddChidren(btnGradualChangeMinValuesText); + var btnGradualChangeMinValuesText = new Button() + { + X = Application.GetRealWidth(35), + Y = btnGradualChangeText.Bottom + Application.GetRealHeight(10), + Width = Application.GetRealWidth(22), + Height = Application.GetRealHeight(21), + Text = "0s", + 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); - var barGradualChange = new DiyImageSeekBar() - { - X = btnGradualChangeMinValuesText.Right, - Y = Application.GetRealHeight(412 - 21), - Width = Application.GetRealWidth(210), - Height = Application.GetRealHeight(54), - SeekBarViewHeight = Application.GetRealHeight(8), - ThumbImagePath = "Public/ThumbImage.png", - ThumbImageHeight = Application.GetRealHeight(54), - ProgressBarColor = CSS_Color.MainColor, - //SeekBarBackgroundColor = CSS_Color.MainColor, - ProgressTextColor = CSS_Color.FirstLevelTitleColor, - ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel, - ProgressBarUnitSring = "s", - MaxValue = 10, - Progress = 0, - SeekBarPadding = Application.GetRealWidth(20), - }; - controlView.AddChidren(barGradualChange); + barFadeTime = new DiyImageSeekBar() + { + X = btnGradualChangeMinValuesText.Right, + Y = Application.GetRealHeight(412 - 21), + Width = Application.GetRealWidth(210), + Height = Application.GetRealHeight(54), + SeekBarViewHeight = Application.GetRealHeight(8), + ThumbImagePath = "Public/ThumbImage.png", + ThumbImageHeight = Application.GetRealHeight(54), + ProgressBarColor = CSS_Color.MainColor, + //SeekBarBackgroundColor = CSS_Color.MainColor, + ProgressTextColor = CSS_Color.FirstLevelTitleColor, + ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel, + ProgressBarUnitSring = "s", + 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(); + }; - var btnGradualChangeMaxValuesText = new Button() - { - X = barGradualChange.Right, - Y = btnGradualChangeText.Bottom+ Application.GetRealHeight(10), - Width = Application.GetRealWidth(35), - Height = Application.GetRealHeight(21), - Text = "10s", - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - }; - controlView.AddChidren(btnGradualChangeMaxValuesText); - #endregion + var btnGradualChangeMaxValuesText = new Button() + { + X = barFadeTime.Right, + Y = btnGradualChangeText.Bottom + Application.GetRealHeight(10), + Width = Application.GetRealWidth(35), + Height = Application.GetRealHeight(21), + Text = "10s", + 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(btnGradualChangeMaxValuesText); + #endregion + } btnRestoredPoint = new Button() { - X = Application.GetRealWidth(104), - Y = Application.GetRealHeight(462), - Width = Application.GetMinRealAverage(40), - Height = Application.GetMinRealAverage(40), + X = Application.GetRealWidth(116), + Y = Application.GetRealHeight(466), + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "Public/Restored_Shadow.png", SelectedImagePath = "Public/Restored_Shadow.png", }; @@ -274,18 +332,23 @@ btnSwitch = new Button() { - X = btnRestoredPoint.Right + Application.GetRealWidth(40), - Y = Application.GetRealHeight(462), - Width = Application.GetMinRealAverage(40), - Height = Application.GetMinRealAverage(40), + X = btnRestoredPoint.Right + Application.GetRealWidth(32), + Y = Application.GetRealHeight(466), + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "Public/PowerClose.png", SelectedImagePath = "Public/PowerOpen.png", - IsSelected = light.trait_on_off.value.ToString() == "on" + IsSelected = function.trait_on_off.curValue.ToString() == "on" }; controlView.AddChidren(btnSwitch); LoadEventList(); - new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(light, actionRefresh); + new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView_FunctionTop(function, actionRefresh); + new System.Threading.Thread(() => + { + DriverLayer.Control.Ins.SendReadCommand(function); + }) + { IsBackground = true }.Start(); } } } -- Gitblit v1.8.0