From 1b5ec1190a27ebe66f74ca9513020f805d3ec61c Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期二, 22 十二月 2020 13:54:19 +0800
Subject: [PATCH] 2021221-2

---
 HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs |  208 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 202 insertions(+), 6 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
index 3131df6..569f447 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
@@ -11,6 +11,7 @@
         FrameLayout bodyView;
         VerticalScrolViewLayout contentView;
         Button btnOnText;
+        Button btnBrightnessText;
 
         Scene scene;
 
@@ -58,6 +59,9 @@
                         break;
                     case FunctionAttributeKey.Brightness:
                         LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness));
+                        break;
+                    case FunctionAttributeKey.FadeTime:
+                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FadeTime));
                         break;
                 }
             }
@@ -122,6 +126,15 @@
             btnConfrim.MouseUpEventHandler = (sender, e) =>
             {
                 var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid);
+                //if (sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness) != null)
+                //{
+                //    try
+                //    {
+                //        //涓�绔彛涓嶆敮鎸佸紑鍏冲�间笌浜害鍊间竴璧峰鐞嗭紝闇�瑕佸皢寮�鍏冲�肩Щ闄ゆ帀
+                //        sceneFunction.status.Remove(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff));
+                //    }
+                //    catch { }
+                //}
                 if (temp != null)
                 {
                     temp = sceneFunction;
@@ -136,7 +149,7 @@
                     if (result == DAL.Server.StateCode.SUCCESS)
                     {
                         refreshAction();
-                    this.RemoveFromParent();
+                        this.RemoveFromParent();
                     }
                     else
                     {
@@ -145,7 +158,7 @@
                 }
                 else
                 {
-                        refreshAction();
+                    refreshAction();
                     this.RemoveFromParent();
                 }
             };
@@ -170,7 +183,7 @@
             {
                 row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
             }
-            Button btnBrightnessRight = new Button()
+            Button btnRight = new Button()
             {
                 X = Application.GetRealWidth(339),
                 Gravity = Gravity.CenterVertical,
@@ -178,7 +191,7 @@
                 Height = Application.GetMinRealAverage(16),
                 UnSelectedImagePath = "Public/Right.png",
             };
-            row.AddChidren(btnBrightnessRight);
+            row.AddChidren(btnRight);
 
             var btnFunctionText = new Button()
             {
@@ -190,7 +203,13 @@
             };
             row.AddChidren(btnFunctionText);
             if (sceneStatus.key == FunctionAttributeKey.OnOff)
+            {
                 btnOnText = btnFunctionText;
+            }
+            else if (sceneStatus.key == FunctionAttributeKey.Brightness || sceneStatus.key == FunctionAttributeKey.Percent)
+            {
+                btnBrightnessText = btnFunctionText;
+            }
 
             var btnFunctionName = new Button()
             {
@@ -232,7 +251,8 @@
                     case FunctionAttributeKey.SetTemp:
                         LoadEditDialog_Temp(sceneStatus, btnFunctionText);
                         break;
-                    case "delay":
+                    case FunctionAttributeKey.FadeTime:
+
                         break;
                     case "cct":
                         break;
@@ -395,12 +415,40 @@
                 trait.value = "on";
                 sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "on";
                 btn.Text = FunctionList.List.GetValueText(trait.key, trait.value) + FunctionList.List.GetUintString(trait.key);
+
+                var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+                if (temp == null)
+                {
+                    temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+                }
+                if (temp != null)
+                {
+                    if (temp.value == "0")
+                    {
+                        temp.value = "100";
+                    }
+                    btnBrightnessText.Text = FunctionList.List.GetValueText(temp.key, temp.value) + "%";
+                }
             };
             btnOff.MouseUpEventHandler = (sender,e) =>{
                 dialog.Close();
                 trait.value = "off";
                 sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "off";
                 btn.Text= FunctionList.List.GetValueText(trait.key,trait.value) + FunctionList.List.GetUintString(trait.key);
+
+                var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+                if(temp == null)
+                {
+                    temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+                }
+                if (temp != null)
+                {
+                    if (temp.value != "0")
+                    {
+                        temp.value = "0";
+                    }
+                    btnBrightnessText.Text = FunctionList.List.GetValueText(temp.key, temp.value) + "%";
+                }
             };
 
         }
@@ -671,7 +719,155 @@
                 }
             };
         }
- 
+
+
+        /// <summary>
+        /// 鍔犺浇鍙樺寲閫熷害閫夋嫨寮圭獥
+        /// </summary>
+        /// <param name="function"></param>
+        /// <param name="btn"></param>
+        void LoadEditDialog_FadeTime(SceneFunctionStatus trait, Button btn)
+        {
+            if (trait == null)
+            {
+                return;
+            }
+
+            Dialog dialog = new Dialog();
+
+            var pView = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+            dialog.AddChidren(pView);
+
+            var optionBaseView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(467),
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(180),
+                AnimateSpeed = 0.3f,
+                Animate = Animate.DownToUp,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            pView.AddChidren(optionBaseView);
+
+            var topView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(40),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            optionBaseView.AddChidren(topView);
+            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+            var btnTitle = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                TextAlignment = TextAlignment.Center,
+                Width = Application.GetRealWidth(100),
+                Text = FunctionList.List.GetNameText(trait.key),
+                IsBold = true,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+            };
+            topView.AddChidren(btnTitle);
+
+            var btnCancel = new Button()
+            {
+                X = Application.GetRealWidth(21),
+                Width = Application.GetRealWidth(100),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Cancel,
+            };
+            topView.AddChidren(btnCancel);
+
+            var btnConfrim = new Button()
+            {
+                Width = Application.GetRealWidth(320),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Confirm,
+            };
+            topView.AddChidren(btnConfrim);
+
+            Button btnMinusSignIcon = new Button()
+            {
+                X = Application.GetRealWidth(26),
+                Y = Application.GetRealHeight(118),
+                Width = Application.GetMinRealAverage(24),
+                Height = Application.GetMinRealAverage(24),
+                Text = "0s",
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+            };
+            optionBaseView.AddChidren(btnMinusSignIcon);
+
+            DiyImageSeekBar controlBar = new DiyImageSeekBar()
+            {
+                X = btnMinusSignIcon.Right + Application.GetRealWidth(12),
+                Y = Application.GetRealHeight(100),//414,璁捐鏁版嵁
+                Width = Application.GetRealWidth(220),
+                Height = Application.GetRealHeight(54),
+                SeekBarViewHeight = Application.GetRealHeight(8),
+                ThumbImagePath = "Public/ThumbImage.png",
+                ThumbImageHeight = Application.GetRealHeight(54),
+                ProgressBarColor = CSS_Color.MainColor,
+                ProgressTextColor = CSS_Color.FirstLevelTitleColor,
+                ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                MaxValue = 100,
+                Progress = trait.value.ToString().Replace("{}", "") == "" ? 0 : Convert.ToInt32(trait.value.Replace("{}", "")),
+                SeekBarPadding = Application.GetRealWidth(20),
+            };
+            optionBaseView.AddChidren(controlBar);
+
+            Button btnPlusSgnIcon = new Button()
+            {
+                X = controlBar.Right + Application.GetRealWidth(12),
+                Y = Application.GetRealHeight(118),
+                Width = Application.GetMinRealAverage(24),
+                Height = Application.GetMinRealAverage(24),
+                Text = "10s",
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+            };
+            optionBaseView.AddChidren(btnPlusSgnIcon);
+
+            btnMinusSignIcon.MouseUpEventHandler = (sender, e) =>
+            {
+                controlBar.Progress--;
+            };
+            btnPlusSgnIcon.MouseUpEventHandler = (sender, e) =>
+            {
+                controlBar.Progress++;
+            };
+
+            dialog.Show();
+            pView.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+            btnConfrim.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+                trait.value = controlBar.Progress.ToString();
+                btn.Text = trait.value + FunctionList.List.GetUintString(trait.key);
+            };
+        }
+
+
         /// <summary>
         /// 鍔犺浇鍔熻兘灞炴�ф暟鎹�夋嫨寮圭獥
         /// </summary>

--
Gitblit v1.8.0