From 9ab5bd54fadd8fc9c542b48c99a117a4e182669b Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 14 十月 2021 16:37:56 +0800
Subject: [PATCH] 智能空开能源界面数据更新

---
 HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs |  282 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 188 insertions(+), 94 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
index 74c2cff..b78927b 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
@@ -8,7 +8,7 @@
     public partial class RGBPage : FrameLayout
     {
         #region 鎺т欢闆嗗悎
-        FrameLayout bodyView;
+        static RGBPage bodyView;
         /// <summary>
         /// 棰滆壊閫夋嫨鍖哄煙
         /// </summary>
@@ -17,22 +17,73 @@
         /// 鏄剧ず褰撳墠閫変腑棰滆壊鐨勬寜閽�
         /// </summary>
         Button btnCurColor;
+        /// <summary>
+        /// 鍔熻兘鍚嶇О
+        /// </summary>
+        Button btnFunctionName;
+        /// <summary>
+        /// 鍔熻兘鎵�灞炴ゼ灞傘�佹埧闂�
+        /// </summary>
+        Button btnFromFoorAndRoom;
+        /// <summary>
+        /// 鏀惰棌鎸夐挳
+        /// </summary>
+        Button btnCollection;
+        /// <summary>
+        /// k寮�鍏虫寜閽�
+        /// </summary>
+        Button btnSwitch;
+        /// <summary>
+        /// 鎭㈠榛樿棰滆壊
+        /// </summary>
+        Button btnRestoredPoint;
+        /// <summary>
+        /// 璋冨厜杩涘害鏉�
+        /// </summary>
+        DiyImageSeekBar dimmerBar;
+        /// <summary>
+        /// 娓愬彉鏃堕棿杩涘害鏉�
+        /// </summary>
+        DiyImageSeekBar barFadeTime;
+        /// <summary>
+        /// 鑹茬洏閲岄潰閭d釜浼氭粦鍔ㄧ殑鐞�
+        /// </summary>
+        Button btnWhiteRound;
         #endregion
 
         #region 鍖哄煙鍙橀噺
+        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>
+        Action actionRefresh;
         #endregion
 
         public RGBPage(Function func)
         {
             bodyView = this;
             function = func;
+            lightTemp = new Light();
         }
 
-        public void LoadPage()
+        public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut)
         {
+            btnCollection_Out = btnCollectionIcon;
+            btnFunctionName_Out = btnFunctionNameOut;
+            btnFromFloor_Out = btnFromFloorOut;
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-            new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), function);
+            //new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(function,null);
+            //new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), function);
 
             FrameLayout controlView = new FrameLayout()
             {
@@ -44,7 +95,7 @@
             };
             bodyView.AddChidren(controlView);
 
-            Button btnLightName = new Button()
+            btnFunctionName = new Button()
             {
                 X = Application.GetRealWidth(16),
                 Y = Application.GetRealHeight(14),
@@ -55,12 +106,12 @@
                 TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
                 Text = function.name,
             };
-            controlView.AddChidren(btnLightName);
+            controlView.AddChidren(btnFunctionName);
 
-            Button btnFromFoorAndRoom = new Button()
+            btnFromFoorAndRoom = new Button()
             {
                 X = Application.GetRealWidth(16),
-                Y = btnLightName.Bottom,
+                Y = btnFunctionName.Bottom,
                 Width = Application.GetRealWidth(270),
                 Height = Application.GetRealHeight(21),
                 TextColor = CSS_Color.PromptingColor1,
@@ -79,29 +130,58 @@
                 Radius = (uint)Application.GetMinRealAverage(8),
                 BorderColor = CSS_Color.PromptingColor2,
                 BorderWidth = 1,
+                BackgroundColor = (uint)(0xFF000000 + lightTemp.GetRGBcolor(function.GetAttrState(FunctionAttributeKey.RGB)))
             };
             controlView.AddChidren(btnCurColor);
 
-            var btnCollection = new Button()
+            btnCollection = new Button()
             {
                 X = Application.GetRealWidth(273),
                 Y = Application.GetRealHeight(14),
                 Width = Application.GetMinRealAverage(40),
                 Height = Application.GetMinRealAverage(40),
-                UnSelectedImagePath = "Collection/CollectionIcon.png",
-                SelectedImagePath = "Collection/CollectionWhiteIcon.png",
+                SelectedImagePath = "Collection/CollectionIcon.png",
+                UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
+                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()
@@ -121,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,
@@ -130,28 +210,29 @@
             };
             controlView.AddChidren(btnMinValuesText);
 
-            var dimmerControlBar = new DiyImageSeekBar()
+            dimmerBar = new DiyImageSeekBar()
             {
-                X = btnMinValuesText.Right,
+                X = Application.GetRealWidth(35 + 22),
                 Y = Application.GetRealHeight(312),
                 Width = Application.GetRealWidth(210),
                 Height = Application.GetRealHeight(54),
                 SeekBarViewHeight = Application.GetRealHeight(8),
                 ThumbImagePath = "Public/ThumbImage.png",
                 ThumbImageHeight = Application.GetRealHeight(54),
-                ProgressBarColor = CSS_Color.AuxiliaryColor1,
                 ProgressTextColor = CSS_Color.FirstLevelTitleColor,
                 ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                ProgressBarColor = function.trait_on_off.curValue.ToString() == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.DividingLineColor,
                 MaxValue = 100,
-                Progress = 30,
+                Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)),
+                SeekBarPadding = Application.GetRealWidth(20),
             };
-            controlView.AddChidren(dimmerControlBar);
+            controlView.AddChidren(dimmerBar);
 
             var btnMaxValuesText = new Button()
             {
-                X = dimmerControlBar.Right,
+                X = dimmerBar.Right,
                 Y = btnBrightnessText.Bottom,
-                Width = Application.GetRealWidth(35),
+                Width = Application.GetRealWidth(45),
                 Height = Application.GetRealHeight(21),
                 Text = "100%",
                 TextAlignment = TextAlignment.CenterLeft,
@@ -161,92 +242,105 @@
             controlView.AddChidren(btnMaxValuesText);
             #endregion
 
-            #region 娓愬彉鏃堕棿璋冭妭
-            var btnGradualChangeText = new Button()
-            {
-                X = Application.GetRealWidth(35),
-                Y = Application.GetRealHeight(385),
-                Width = Application.GetRealWidth(224),
-                Height = Application.GetRealHeight(21),
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                TextID = StringId.Brightness,
-            };
-            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,
-                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.AuxiliaryColor1,
-                ProgressTextColor = CSS_Color.FirstLevelTitleColor,
-                ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                ProgressBarUnitSring = "s",
-                MaxValue = 10,
-                Progress = 0,
-            };
-            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);
 
-            var btnGradualChangeMaxValuesText = new Button()
-            {
-                X = barGradualChange.Right,
-                Y = btnGradualChangeText.Bottom,
-                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
 
-            Button btnRestoredPoint = new Button()
+            btnRestoredPoint = new Button()
             {
-                X = Application.GetRealWidth(86),
-                Y = Application.GetRealHeight(448),
-                Width = Application.GetMinRealAverage(76),
-                Height = Application.GetMinRealAverage(76),
+                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",
             };
             controlView.AddChidren(btnRestoredPoint);
 
-            Button btnSwitch = new Button()
+            btnSwitch = new Button()
             {
-                X = btnRestoredPoint.Right + Application.GetRealWidth(4),
-                Y = Application.GetRealHeight(448),
-                Width = Application.GetMinRealAverage(76),
-                Height = Application.GetMinRealAverage(76),
-                UnSelectedImagePath = "Public/PowerClose_Shadow.png",
-                SelectedImagePath = "Public/PowerOpen_Shadow.png",
+                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 = function.trait_on_off.curValue.ToString() == "on"
             };
             controlView.AddChidren(btnSwitch);
 
-
             LoadEventList();
+            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