From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 12 十一月 2020 13:36:01 +0800
Subject: [PATCH] 20201112

---
 HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs |  345 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 303 insertions(+), 42 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs
index d189929..ea9b15c 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs
@@ -9,7 +9,7 @@
     {
 
         #region 鎺т欢闆嗗悎
-        FrameLayout bodyView;
+        static ACPage bodyView;
         /// <summary>
         /// 鍔熻兘鍚嶇О鎸夐挳
         /// </summary>
@@ -23,9 +23,9 @@
         /// </summary>
         Button btnCollection;
         /// <summary>
-        /// 绐楀笜鑳屾櫙icon
+        /// 绌鸿皟娓╁害鎺у埗鎺т欢
         /// </summary>
-        ArcSeekBar arcBar;
+        DiyArcSeekBar arcBar;
         /// <summary>
         /// 鍑忓彿鎸夐挳
         /// </summary>
@@ -46,7 +46,7 @@
         /// <summary>
         /// 妯″紡鎸夐挳
         /// </summary>
-        Button btnPattern;
+        Button btnMode;
         /// <summary>
         /// 椋庝織鎸夐挳
         /// </summary>
@@ -55,10 +55,18 @@
         /// 鐢垫簮鎸夐挳
         /// </summary>
         Button btnSwitch;
+        /// <summary>
+        /// 淇敼妯″紡淇℃伅鍖哄煙
+        /// </summary>
+        //FrameLayout modeChangeView;
+        /// <summary>
+        /// 淇敼椋庨�熶俊鎭尯鍩�
+        /// </summary>
+        //FrameLayout fanChangeView;
         #endregion
 
         #region 鍖哄煙鍙橀噺
-        Function function;
+        AC aC;
         Button btnCollection_Out;
         Button btnFunctionName_Out;
         Button btnFromFloor_Out;
@@ -67,10 +75,10 @@
         /// </summary>
         Action actionRefresh;
         #endregion
-        public ACPage(Function func)
+        public ACPage(AC func)
         {
             bodyView = this;
-            function = func;
+            aC = func;
         }
 
         public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut)
@@ -99,7 +107,7 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
-                Text = function.name,
+                Text = aC.name,
             };
             controlView.AddChidren(btnFunctionName);
 
@@ -112,7 +120,7 @@
                 TextColor = CSS_Color.PromptingColor1,
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = function.GetRoomListName()
+                Text = aC.GetRoomListName()
             };
             controlView.AddChidren(btnFromFoorAndRoom);
 
@@ -124,29 +132,43 @@
                 Height = Application.GetMinRealAverage(40),
                 SelectedImagePath = "Collection/CollectionIcon.png",
                 UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
-                IsSelected = function.collection
+                IsSelected = aC.collection
             };
             controlView.AddChidren(btnCollection);
 
-            arcBar = new ArcSeekBar()
+            arcBar = new DiyArcSeekBar()
             {
+#if __IOS__
                 Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(120),
-                Width = Application.GetRealWidth(280),
-                Height = Application.GetRealWidth(280),
-                Angle = 160,
-                ThumbColor = CSS_Color.AuxiliaryColor1,
-                ThumbModeFill = true,
-                ProgressBarColor = CSS_Color.MainColor,
-                ThumbRadius = Application.GetRealWidth(14),
-                ArcWidthWithDefaultStyle = Application.GetRealWidth(12),
+                Y = Application.GetRealHeight(120+25),
+                Width = Application.GetRealWidth(260-40),
+                Height = Application.GetRealWidth(260-40),
+                OpenAngle = 160,
+                ThumbImagePath = aC.trait_on_off.value.ToString() == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png",
+                ThumbImageHeight = Application.GetRealWidth(50),
+                ProgressBarColor = aC.trait_on_off.value.ToString() == "on"? CSS_Color.MainColor :CSS_Color.PromptingColor2,
                 MinValue = 16,
                 MaxValue = 38,
-                Progress = 16,
-                ProgressBarUnitSring = "掳C",
-                IsClickable = true,
-                ProgressTextColor = 0x00000000,
+                Progress = Convert.ToInt32( aC.trait_temp.value),
+                IsClickable =  aC.trait_on_off.value.ToString() == "on" ,
                 ArcColor = CSS_Color.BackgroundColor,
+                SeekBarPadding = Application.GetRealWidth(8),
+#else
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(120 + 40),
+                Width = Application.GetRealWidth(260 - 40),
+                Height = Application.GetRealWidth(260 - 40),
+                OpenAngle = 160,
+                ThumbImagePath = aC.trait_on_off.value.ToString() == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png",
+                ThumbImageHeight = Application.GetRealWidth(50),
+                ProgressBarColor = aC.trait_on_off.value.ToString() == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2,
+                MinValue = 16,
+                MaxValue = 38,
+                Progress = Convert.ToInt32( aC.trait_temp.value),
+                IsClickable = aC.trait_on_off.value.ToString() == "on",
+                ArcColor = CSS_Color.BackgroundColor,
+                SeekBarPadding = Application.GetRealWidth(7),
+#endif
             };
             controlView.AddChidren(arcBar);
 
@@ -157,9 +179,9 @@
                 Width = Application.GetRealWidth(71),
                 Height = Application.GetRealWidth(60),
                 TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = 56,
+                TextSize = 50,
                 IsBold = true,
-                Text = "20",
+                Text = aC.trait_temp.value.ToString(),
                 TextAlignment = TextAlignment.Center,
             };
             controlView.AddChidren(btnTemp);
@@ -169,7 +191,7 @@
                 X = btnTemp.Right,
                 Y = btnTemp.Y,
                 Width = Application.GetRealWidth(30),
-                Height = Application.GetRealWidth(20),
+                Height = Application.GetRealHeight(30),
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
                 IsBold = true,
@@ -210,23 +232,23 @@
             };
             controlView.AddChidren(btnPlus);
 
-            btnPattern = new Button()
+            btnMode = new Button()
             {
-                X = Application.GetRealWidth(64),
-                Y = Application.GetRealHeight(330),
-                Width = Application.GetRealWidth(38),
-                Height = Application.GetRealWidth(38),
-                UnSelectedImagePath = "FunctionIcon/AC/CoolIcon.png",
+                X = Application.GetRealWidth(60),
+                Y = Application.GetRealHeight(334),
+                Width = Application.GetRealWidth(30),
+                Height = Application.GetRealWidth(30),
+                UnSelectedImagePath = aC.curModeImage,
             };
-            controlView.AddChidren(btnPattern);
+            controlView.AddChidren(btnMode);
 
             btnWindSpeed = new Button()
             {
-                X = Application.GetRealWidth(225),
-                Y = Application.GetRealHeight(330),
-                Width = Application.GetRealWidth(38),
-                Height = Application.GetRealWidth(38),
-                UnSelectedImagePath = "FunctionIcon/AC/WindHighIcon.png",
+                X = Application.GetRealWidth(235),
+                Y = Application.GetRealHeight(337),
+                Width = Application.GetRealWidth(30),
+                Height = Application.GetRealWidth(30),
+                UnSelectedImagePath = aC.curFanImage,
             };
             controlView.AddChidren(btnWindSpeed);
 
@@ -238,13 +260,252 @@
                 Height = Application.GetRealWidth(40),
                 UnSelectedImagePath = "Public/PowerClose.png",
                 SelectedImagePath = "Public/PowerOpen.png",
+                IsSelected = aC.trait_on_off.value.ToString() == "on"
             };
             controlView.AddChidren(btnSwitch);
 
-
             LoadEventList();
-            new TopViewDiv(bodyView, Language.StringByID(StringId.LocationManagement)).LoadTopView(function, actionRefresh);
+            new TopViewDiv(bodyView,aC.name).LoadTopView_FunctionTop(aC, actionRefresh);
         }
+        /// <summary>
+        /// 鍔犺浇淇敼妯″紡鍖哄煙
+        /// </summary>
+        void LoadDiv_ChangeModeView()
+        {
+            Dialog dialog = new Dialog();
 
+            FrameLayout dialogView = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+            dialog.AddChidren(dialogView);
+
+            FrameLayout modeChangeView;
+            modeChangeView = new FrameLayout()
+            {
+                X = Application.GetRealWidth(30),
+                Y = Application.GetRealHeight(128),
+                Width = Application.GetRealWidth(160),
+                Height = Application.GetRealHeight(287),
+                BackgroundImagePath = "FunctionIcon/AC/DivBg1.png",
+                Animate = Animate.UpToDown,
+                AnimateSpeed = 0.3f
+            };
+            dialogView.AddChidren(modeChangeView);
+
+            Button btnTitle;
+            btnTitle = new Button()
+            {
+                X = Application.GetRealWidth(8+16),
+                Y = Application.GetRealHeight(8),
+                Width = Application.GetRealWidth(112),
+                Height = Application.GetRealHeight(44),
+                TextID = StringId.ChooseMode,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+            };
+            modeChangeView.AddChidren(btnTitle);
+
+            Button btnLine = new Button()
+            {
+                X = btnTitle.X,
+                Y = btnTitle.Bottom,
+                Width = Application.GetRealWidth(112),
+                Height = Application.GetRealHeight(1),
+                BackgroundColor = CSS_Color.BackgroundColor,
+            };
+            modeChangeView.AddChidren(btnLine);
+
+            foreach(var m in aC.trait_mode.value_key)
+            {
+                Button btnModeIcon = new Button()
+                {
+                    X = btnTitle.X,
+                    Y = Application.GetRealHeight(44 * (aC.trait_mode.value_key.IndexOf(m) + 1) + 10 + 8),
+                    Width = Application.GetRealWidth(24),
+                    Height = Application.GetRealWidth(24),
+                    IsSelected = aC.trait_mode.value.ToString() == m,
+                };
+                modeChangeView.AddChidren(btnModeIcon);
+
+                Button btnModeText = new Button()
+                {
+                    X = Application.GetRealWidth(12) + btnModeIcon.Right,
+                    Y = Application.GetRealHeight(44 * (aC.trait_mode.value_key.IndexOf(m) + 1) + 8),
+                    Height = Application.GetRealHeight(44),
+                    Width = Application.GetRealWidth(70),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    SelectedTextColor = CSS_Color.MainColor,
+                    IsSelected = aC.trait_mode.value.ToString() == m,
+                    TextSize = CSS_FontSize.TextFontSize,
+                };
+                modeChangeView.AddChidren(btnModeText);
+
+                switch (m)
+                {
+                    case "auto":
+                        btnModeIcon.UnSelectedImagePath = "FunctionIcon/AC/AutoIconGray.png";
+                        btnModeIcon.SelectedImagePath = "FunctionIcon/AC/AutoIcon.png";
+                        btnModeText.TextID = StringId.Auto;
+                        break;
+                    case "cool":
+                        btnModeIcon.UnSelectedImagePath = "FunctionIcon/AC/CoolIconGray.png";
+                        btnModeIcon.SelectedImagePath = "FunctionIcon/AC/CoolIcon.png";
+                        btnModeText.TextID = StringId.Cool;
+                        break;
+                    case "heat":
+                        btnModeIcon.UnSelectedImagePath = "FunctionIcon/AC/HeatingIconGray.png";
+                        btnModeIcon.SelectedImagePath = "FunctionIcon/AC/HeatingIcon.png";
+                        btnModeText.TextID = StringId.Heat;
+                        break;
+                    case "dry":
+                        btnModeIcon.UnSelectedImagePath = "FunctionIcon/AC/DehumidificationIconGray.png";
+                        btnModeIcon.SelectedImagePath = "FunctionIcon/AC/DehumidificationIcon.png";
+                        btnModeText.TextID = StringId.Dry;
+                        break;
+                    case "fan":
+                        btnModeIcon.UnSelectedImagePath = "FunctionIcon/AC/AirSupplyIconGray.png";
+                        btnModeIcon.SelectedImagePath = "FunctionIcon/AC/AirSupplyIcon.png";
+                        btnModeText.TextID = StringId.AirSupply;
+                        break;
+                }
+
+                if(aC.trait_mode.value_key.IndexOf(m) < aC.trait_mode.value_key.Count-1)
+                {
+                    modeChangeView.AddChidren(new Button()
+                    {
+                        X = btnTitle.X,
+                        Y = btnModeText.Bottom ,
+                        Width = Application.GetRealWidth(112),
+                        Height = Application.GetRealHeight(1),
+                        BackgroundColor = CSS_Color.BackgroundColor,
+                    });
+                }
+                LoadEvent_ChangeMode(dialog, dialogView, btnModeIcon, btnModeText,m);
+            }
+
+            dialogView.MouseUpEventHandler = (sender, e) => {
+                dialog.Close();
+            };
+            dialog.Show();
+        }
+        /// <summary>
+        /// 鍔犺浇淇敼妯″紡鍖哄煙
+        /// </summary>
+        void LoadDiv_ChangeFanView()
+        {
+            Dialog dialog = new Dialog();
+
+            FrameLayout dialogView = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+            dialog.AddChidren(dialogView);
+
+            FrameLayout modeChangeView;
+            modeChangeView = new FrameLayout()
+            {
+                X = Application.GetRealWidth(185),
+                Y = Application.GetRealHeight(172),
+                Width = Application.GetRealWidth(160),
+                Height = Application.GetRealHeight(243),
+                AnimateSpeed = 0.3f,
+                BackgroundImagePath = "FunctionIcon/AC/DivBg2.png",
+                Animate = Animate.UpToDown,
+            };
+            dialogView.AddChidren(modeChangeView);
+
+            Button btnTitle;
+            btnTitle = new Button()
+            {
+                X = Application.GetRealWidth(8 + 16),
+                Y = Application.GetRealHeight(8),
+                Width = Application.GetRealWidth(112),
+                Height = Application.GetRealHeight(44),
+                TextID = StringId.ChooseFan,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+            };
+            modeChangeView.AddChidren(btnTitle);
+
+            Button btnLine = new Button()
+            {
+                X = btnTitle.X,
+                Y = btnTitle.Bottom,
+                Width = Application.GetRealWidth(112),
+                Height = Application.GetRealHeight(1),
+                BackgroundColor = CSS_Color.BackgroundColor,
+            };
+            modeChangeView.AddChidren(btnLine);
+
+            foreach (var m in aC.trait_fan.value_key)
+            {
+                Button btnFanIcon = new Button()
+                {
+                    X = btnTitle.X,
+                    Y = Application.GetRealHeight(44 * (aC.trait_fan.value_key.IndexOf(m) + 1) + 10 + 8),
+                    Width = Application.GetRealWidth(24),
+                    Height = Application.GetRealWidth(24),
+                    IsSelected = aC.trait_fan.value.ToString() == m,
+                };
+                modeChangeView.AddChidren(btnFanIcon);
+
+                Button btnFanText = new Button()
+                {
+                    X = Application.GetRealWidth(12) + btnFanIcon.Right,
+                    Y = Application.GetRealHeight(44 * (aC.trait_fan.value_key.IndexOf(m) + 1) + 8),
+                    Height = Application.GetRealHeight(44),
+                    Width = Application.GetRealWidth(70),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    SelectedTextColor = CSS_Color.MainColor,
+                    IsSelected = aC.trait_fan.value.ToString() == m,
+                    TextSize = CSS_FontSize.TextFontSize,
+                };
+                modeChangeView.AddChidren(btnFanText);
+
+                switch (m)
+                {
+                    case "high":
+                        btnFanIcon.UnSelectedImagePath = "FunctionIcon/AC/WindHighIconGray.png";
+                        btnFanIcon.SelectedImagePath = "FunctionIcon/AC/WindHighIcon.png";
+                        btnFanText.TextID = StringId.HighWindSpeed;
+                        break;
+                    case "medium":
+                        btnFanIcon.UnSelectedImagePath = "FunctionIcon/AC/WindMediumIconGray.png";
+                        btnFanIcon.SelectedImagePath = "FunctionIcon/AC/WindMediumIcon.png";
+                        btnFanText.TextID = StringId.MiddleWindSpeed;
+                        break;
+                    case "low":
+                        btnFanIcon.UnSelectedImagePath = "FunctionIcon/AC/WindLowIconGray.png";
+                        btnFanIcon.SelectedImagePath = "FunctionIcon/AC/WindLowIcon.png";
+                        btnFanText.TextID = StringId.LowWindSpeed;
+                        break;
+                    case "auto":
+                        btnFanIcon.UnSelectedImagePath = "FunctionIcon/AC/AutoIconGray.png";
+                        btnFanIcon.SelectedImagePath = "FunctionIcon/AC/AutoIcon.png";
+                        btnFanText.TextID = StringId.Auto;
+                        break;
+                }
+
+                if (aC.trait_fan.value_key.IndexOf(m) < aC.trait_fan.value_key.Count - 1)
+                {
+                    modeChangeView.AddChidren(new Button()
+                    {
+                        X = btnTitle.X,
+                        Y = btnFanText.Bottom,
+                        Width = Application.GetRealWidth(112),
+                        Height = Application.GetRealHeight(1),
+                        BackgroundColor = CSS_Color.BackgroundColor,
+                    });
+                }
+                LoadEvent_ChangeFan(dialog, dialogView, btnFanIcon, btnFanText,m);
+            }
+
+            dialog.Show();
+        }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0