From ccdff82fac4bcc1067ec806ade5ae897f1214f4d Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 01 四月 2021 14:41:53 +0800
Subject: [PATCH] 异常捕获

---
 HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs |  114 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 84 insertions(+), 30 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs
index 7d098d7..3bbb89d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs
@@ -9,7 +9,7 @@
     {
 
         #region 鎺т欢闆嗗悎
-        FrameLayout bodyView;
+        static DimmerPage bodyView;
         /// <summary>
         /// 鎺у埗鐣岄潰鍔犺浇鍖哄煙
         /// </summary>
@@ -27,26 +27,46 @@
         /// </summary>
         Button btnCollection;
         /// <summary>
+        /// 璋冨厜鎺т欢
+        /// </summary>
+        WaveSeekBarOn dimmerBar;
+        /// <summary>
+        /// 浜害鏄剧ず鎸夐挳
+        /// </summary>
+        Button btnBrightnessText;
+        /// <summary>
+        /// 娓愬彉鏃堕棿淇敼
+        /// </summary>
+        DiyImageSeekBar barFadeTime;
+        /// <summary>
         /// 寮�鍏虫寜閽�
         /// </summary>
         Button btnSwitch;
         #endregion
 
         #region 鍖哄煙鍙橀噺
-        Light light;
+        Light lightTemp = new Light();
+        Function function;
         Button btnCollection_Out;
         Button btnFunctionName_Out;
         Button btnFromFloor_Out;
+        bool onDimmerBar = false;
         /// <summary>
         /// 鍒锋柊鏄剧ず淇℃伅
         /// </summary>
         Action actionRefresh;
         #endregion
 
-        public DimmerPage(Light func)
+        public override void RemoveFromParent()
+        {
+            base.RemoveFromParent();
+            bodyView = null;
+        }
+
+        public DimmerPage(Function func)
         {
             bodyView = this;
-            light = func;
+            function = func;
         }
 
         public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut)
@@ -55,8 +75,8 @@
             btnFunctionName_Out = btnFunctionNameOut;
             btnFromFloor_Out = btnFromFloorOut;
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-            //new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(light,null);
-            //new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), light);
+            //new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(function,null);
+            //new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), function);
 
             controlView = new FrameLayout()
             {
@@ -77,7 +97,7 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
-                Text = light.name,
+                Text = function.name,
             };
             controlView.AddChidren(btnFunctionName);
 
@@ -90,7 +110,7 @@
                 TextColor = CSS_Color.PromptingColor1,
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = light.GetRoomListName()
+                Text = function.GetRoomListName()
             };
             controlView.AddChidren(btnFromFoorAndRoom);
 
@@ -102,27 +122,49 @@
                 Height = Application.GetMinRealAverage(40),
                 SelectedImagePath = "Collection/CollectionIcon.png",
                 UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
-                IsSelected = light.collection
+                IsSelected = function.collect
             };
-            controlView.AddChidren(btnCollection);
+            //controlView.AddChidren(btnCollection);
+            //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+            if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+            {
+                controlView.AddChidren(btnCollection);
+            }
 
-            var diyImageSeekBar = new WaveSeekBar()
+            dimmerBar = new WaveSeekBarOn()
             {
                 Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(74+16),
-                Width = Application.GetRealWidth(168-40),
-                Height = Application.GetRealHeight(288-16-16),
-                WaveColor = CSS_Color.AuxiliaryColor1,
-                WaveBorderColor = CSS_Color.PromptingColor2,
+                Y = Application.GetRealHeight(74 + 16),
+                Width = Application.GetRealWidth(168 - 40),
+                Height = Application.GetRealHeight(288 - 16 - 16),
                 BorderColor = 0x00000000,
-                CornerRadius = Application.GetRealWidth(1),
+                CornerRadius = Application.GetRealWidth(30),
                 BorderWidth = 0,
-                WavePadding =Application.GetRealWidth(-5),
-                BackgroundColor = CSS_Color.BackgroundColor,
-                Radius = (uint)Application.GetRealWidth(40),
-
+                Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)),
+                IsProgressTextShow = false,
             };
-            controlView.AddChidren(diyImageSeekBar);
+            controlView.AddChidren(dimmerBar);
+            if(function.trait_on_off.curValue.ToString() == "on")
+            {
+                dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
+            }
+            else
+            {
+                dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor);
+            }
+            dimmerBar.Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness));
+            btnBrightnessText = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y =( (100 - dimmerBar.Progress) * Application.GetRealHeight(288 - 16 - 16) /100)+ Application.GetRealWidth(40),
+                Width = Application.GetRealWidth(56),
+                Height = Application.GetRealWidth(46),
+                UnSelectedImagePath = "FunctionIcon/Light/BrightnessBg.png",
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                Text = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)) + "%",
+            };
+            controlView.AddChidren(btnBrightnessText);
 
             #region 娓愬彉鏃堕棿璋冭妭
             var btnGradualChangeText = new Button()
@@ -135,6 +177,8 @@
                 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);
 
@@ -148,10 +192,12 @@
                 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()
+            barFadeTime = new DiyImageSeekBar()
             {
                 X = btnGradualChangeMinValuesText.Right,
                 Y = Application.GetRealHeight(412 - 21) + Application.GetRealHeight(8),
@@ -165,13 +211,16 @@
                 ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 ProgressBarUnitSring = "s",
                 MaxValue = 10,
-                Progress = 0,
+                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(barGradualChange);
+            controlView.AddChidren(barFadeTime);
 
             var btnGradualChangeMaxValuesText = new Button()
             {
-                X = barGradualChange.Right,
+                X = barFadeTime.Right,
                 Y = btnGradualChangeText.Bottom + Application.GetRealHeight(8),
                 Width = Application.GetRealWidth(35),
                 Height = Application.GetRealHeight(21),
@@ -179,10 +228,11 @@
                 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
-
 
             btnSwitch = new Button()
             {
@@ -192,14 +242,18 @@
                 Height = Application.GetMinRealAverage(40),
                 UnSelectedImagePath = "Public/PowerClose.png",
                 SelectedImagePath = "Public/PowerOpen.png",
-                IsSelected = light.state != 0
+                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