From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:50:43 +0800
Subject: [PATCH] Revert "1"

---
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs |  276 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 243 insertions(+), 33 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
index 4874520..d6d93ae 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using System.Collections.Generic;
 using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
 using HDL_ON.Stan;
@@ -35,6 +36,10 @@
         /// 妯″紡鎸夐挳
         /// </summary>
         Button btnMode;
+        /// <summary>
+        /// 鎵鎸夐挳
+        /// </summary>
+        Button btnSwing;
         /// <summary>
         /// 椋庨�熸寜閽�
         /// </summary>
@@ -110,7 +115,7 @@
             arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off";
             arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min;
             arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max;
-            arcBar.Progress = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
+            arcBar.Progress = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp));
 
             btnTemp = new Button()
             {
@@ -121,7 +126,7 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = 50,
                 IsBold = true,
-                Text = device.GetAttrState(FunctionAttributeKey.SetTemp),
+                Text = Convert.ToDouble( device.GetAttrState(FunctionAttributeKey.SetTemp)).ToString(),
                 TextAlignment = TextAlignment.Center,
             };
             FrameWhiteCentet1.AddChidren(btnTemp);
@@ -181,6 +186,19 @@
                 UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)),
             };
             FrameWhiteCentet1.AddChidren(btnMode);
+
+
+            btnSwing = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(330),
+                Width = Application.GetRealWidth(40),
+                Height = Application.GetRealWidth(40),
+                UnSelectedImagePath = "FunctionIcon/AC/SweepIconNullOn.png",
+            };
+            FrameWhiteCentet1.AddChidren(btnSwing);
+
+
 
             btnWindSpeed = new Button()
             {
@@ -310,18 +328,136 @@
                     device.SetAttrState(FunctionAttributeKey.Mode, m);
                     btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m);
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                    btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath;
+                    //btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath;
                     d.Add(FunctionAttributeKey.Mode, m);
                     Control.Ins.SendWriteCommand(device, d);
                     dialog.Close();
                     if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                     {
                         arcBar.IsClickable = false;
+                        arcBar.IsOffline = true;
                     }
                     else
                     {
+                        arcBar.IsOffline = false;
                         arcBar.IsClickable = true;
                     }
+                };
+                btnModeIcon.MouseUpEventHandler = eventHandler1;
+                btnModeText.MouseUpEventHandler = eventHandler1;
+                dialogView.MouseUpEventHandler = eventHandler;
+
+            }
+
+            dialogView.MouseUpEventHandler = (sender, e) => {
+                dialog.Close();
+            };
+            dialog.Show();
+        }
+
+        /// <summary>
+        /// 鍔犺浇淇敼鎵妯″紡鍖哄煙
+        /// </summary>
+        void LoadDiv_ChangeSwingView()
+        {
+            Dialog dialog = new Dialog();
+
+            FrameLayout dialogView = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+            dialog.AddChidren(dialogView);
+
+            FrameLayout modeChangeView;
+            modeChangeView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(128),
+                Width = Application.GetRealWidth(160),
+                Height = Application.GetRealHeight(287),
+                BackgroundImagePath = "FunctionIcon/AC/DivBg2.png",
+            };
+            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.Swing,
+                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);
+
+            var modeList = device.GetAttribute(FunctionAttributeKey.Swing).value;
+            foreach (var m in modeList)
+            {
+                Button btnModeIcon = new Button()
+                {
+                    X = btnTitle.X,
+                    Y = Application.GetRealHeight(41 * (modeList.IndexOf(m) + 1) + 10 + 8),
+                    Width = Application.GetRealWidth(30),
+                    Height = Application.GetRealWidth(30),
+                    IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m,
+                };
+                modeChangeView.AddChidren(btnModeIcon);
+
+                Button btnModeText = new Button()
+                {
+                    X = Application.GetRealWidth(12) + btnModeIcon.Right,
+                    Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
+                    Height = Application.GetRealHeight(44),
+                    Width = Application.GetRealWidth(90),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    SelectedTextColor = CSS_Color.MainColor,
+                    IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m,
+                    TextSize = CSS_FontSize.TextFontSize,
+                };
+                modeChangeView.AddChidren(btnModeText);
+
+                btnModeIcon.UnSelectedImagePath = acFunction.GetSwingIconPath(m, false);
+                btnModeIcon.SelectedImagePath = acFunction.GetSwingIconPath(m);
+                btnModeText.Text = acFunction.GetSwingAttrText(m);
+
+                if (modeList.IndexOf(m) < modeList.Count - 1)
+                {
+                    modeChangeView.AddChidren(new Button()
+                    {
+                        X = btnTitle.X,
+                        Y = btnModeText.Bottom,
+                        Width = Application.GetRealWidth(112),
+                        Height = Application.GetRealHeight(1),
+                        BackgroundColor = CSS_Color.BackgroundColor,
+                    });
+                }
+                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+                {
+                    dialog.Close();
+                };
+                EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+                {
+                    btnModeIcon.IsSelected = btnModeText.IsSelected = true;
+                    device.SetAttrState(FunctionAttributeKey.Swing, m);
+                    btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(m);
+                    Dictionary<string, string> d = new Dictionary<string, string>();
+                    d.Add(FunctionAttributeKey.Swing, m);
+                    Control.Ins.SendWriteCommand(device, d);
+                    dialog.Close();
                 };
                 btnModeIcon.MouseUpEventHandler = eventHandler1;
                 btnModeText.MouseUpEventHandler = eventHandler1;
@@ -408,9 +544,9 @@
                     TextSize = CSS_FontSize.TextFontSize,
                 };
                 modeChangeView.AddChidren(btnFanText);
-                btnFanIcon.UnSelectedImagePath = acFunction.GetModeIconPath(m,false);
-                btnFanIcon.SelectedImagePath = acFunction.GetModeIconPath(m);
-                btnFanText.Text = acFunction.GetModeAttrText(m);
+                btnFanIcon.UnSelectedImagePath = acFunction.GetFanIconPath(m,false);
+                btnFanIcon.SelectedImagePath = acFunction.GetFanIconPath(m);
+                btnFanText.Text = acFunction.GetFanAttrText(m);
 
                 if (modeList.IndexOf(m) < modeList.Count - 1)
                 {
@@ -436,7 +572,7 @@
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add(FunctionAttributeKey.FanSpeed, m);
                     Control.Ins.SendWriteCommand(device, d);
-                    btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
+                    //btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
                     dialog.Close();
                 };
                 btnFanIcon.MouseUpEventHandler = eventHandler1;
@@ -457,7 +593,7 @@
                 var btnMore = new Button()
                 {
                     Gravity = Gravity.CenterHorizontal,
-                    Y = Application.GetRealHeight(334),
+                    Y = Application.GetRealHeight(334 + 80),
                     Width = Application.GetRealWidth(30),
                     Height = Application.GetRealWidth(30),
                     UnSelectedImagePath = "FunctionIcon/AC/More.png",
@@ -469,6 +605,7 @@
                 };
             }
         }
+
         /// <summary>
         /// 鍔犺浇棰濆瀵圭孩澶栨寜閽晫闈�
         /// </summary>
@@ -484,28 +621,37 @@
 
             var bodyView = new FrameLayout()
             {
-                Y = Application.GetRealHeight(463),
-                Height = Application.GetRealHeight(375),
+                Y = Application.GetRealHeight(427),//667
+                Height = Application.GetRealHeight(240),
                 BackgroundColor = CSS_Color.MainBackgroundColor,
             };
             div.AddChidren(bodyView);
 
-            var contentView = new FrameLayout()
+            var contentView = new VerticalScrolViewLayout()
             {
                 Y = Application.GetRealHeight(16),
                 Gravity = Gravity.CenterHorizontal,
-                Width = Application.GetRealWidth(296),
+                Width = Application.GetRealWidth(296+200),
             };
             bodyView.AddChidren(contentView);
 
-                var row = new FrameLayout()
-                {
-                    Height = Application.GetRealHeight(60),
-                };
-                contentView.AddChidren(row);
 
-                int index = 0;
-            foreach (var attr in device.attributes)
+            var row = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(60),
+                Width = Application.GetRealWidth(296),
+                Gravity = Gravity.CenterHorizontal,
+            };
+            contentView.AddChidren(row);
+
+            int index = 0;
+            List<FunctionAttributes> attrList = new List<FunctionAttributes>();
+            attrList.AddRange(device.attributes);
+            attrList.Add(new FunctionAttributes() {
+                key = "+",
+            });
+
+            foreach (var attr in attrList)
             {
                 if (attr.key == FunctionAttributeKey.Mode
                     || attr.key == FunctionAttributeKey.OnOff
@@ -522,13 +668,62 @@
                 {
                     row = new FrameLayout()
                     {
-                        Width = Application.GetRealWidth(200),
                         Height = Application.GetRealHeight(56),
+                        Width = Application.GetRealWidth(296),
+                        Gravity = Gravity.CenterHorizontal,
                     };
                     contentView.AddChidren(row);
                 }
+                if (attr.key == "+")
+                {
+                    var addView = new FrameLayout()
+                    {
+                        Gravity = Gravity.CenterVertical,
+                        Width = Application.GetRealWidth(88),
+                        Height = Application.GetRealHeight(40),
+                        Radius = (uint)Application.GetRealHeight(18),
+                        BorderColor = CSS_Color.PromptingColor1,
+                        BorderWidth = (uint)Application.GetRealWidth(2),
+                    };
 
-                var btn = new Button()
+
+                    if (index % 3 == 1)
+                    {
+                        addView.Gravity = Gravity.Center;
+                    }
+                    else if (index % 3 == 2)
+                    {
+                        addView.X = Application.GetRealWidth(208);
+                    }
+                    row.AddChidren(addView);
+
+                    var btnAdd = new Button()
+                    {
+                        Gravity = Gravity.Center,
+                        UnSelectedImagePath = "Public/PlusSignIcon.png",
+                        Width = Application.GetRealWidth(32),
+                        Height = Application.GetRealWidth(32),
+                    };
+                    addView.AddChidren(btnAdd);
+
+                    btnAdd.MouseUpEventHandler = (sender, e) =>
+                    {
+                        dialog.Close();
+                        Action action = () => {
+                            LoadDialog_IrMoreView();
+                        };
+                        var addButton = new AcControlPage_AddIrButton(action);
+                        MainPage.BasePageView.AddChidren(addButton);
+                        addButton.Show(device);
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    };
+
+
+                }
+                else
+                {
+
+                    var btn = new Button()
                 {
                     Gravity = Gravity.CenterVertical,
                     Width = Application.GetRealWidth(88),
@@ -558,8 +753,8 @@
 
                 btn.MouseUpEventHandler = (sender, e) =>
                 {
-                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                    d.Add(FunctionAttributeKey.Key, attr.key);
+                    Dictionary<string, string> d = new Dictionary<string, string>();
+                    d.Add(attr.key, "");
                     Control.Ins.SendWriteCommand(device, d);
 
                     new System.Threading.Thread(() =>
@@ -573,15 +768,10 @@
                     { IsBackground = true }.Start();
                 };
 
-
+                }
 
                 index++;
             }
-
-
-
-
-
 
             dialog.Show();
         }
@@ -621,7 +811,7 @@
                 {
                     return;
                 }
-                var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
+                var temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp));
                 if (temp <= device.GetAttribute(FunctionAttributeKey.Mode).min)
                 {
                     return;
@@ -640,7 +830,7 @@
                 {
                     return;
                 }
-                var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
+                var temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp));
                 if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max)
                 {
                     return;
@@ -666,7 +856,17 @@
                 device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
                 btnTemp.Text = e.ToString();
             };
+            //arcBar.MouseDownEventHandler = (sender, e) => {
+            //    Console.WriteLine("ddd");
+            //    MainPage.BasePageView.ScrollEnabled =false;
+            //};
+            //arcBar.MouseUpEventHandler = (sender, e) => {
+            //    Console.WriteLine("ddd2");
+            //    MainPage.BasePageView.ScrollEnabled = true;
+            //};
         }
+
+
         /// <summary>
         /// 鎺у埗妯″紡浜嬩欢
         /// </summary>
@@ -679,6 +879,15 @@
                     return;
                 }
                 LoadDiv_ChangeModeView();
+            };
+            //鎵鏀瑰彉妯″紡
+            btnSwing.MouseUpEventHandler = (sender, e) =>
+            {
+                if (device.trait_on_off.curValue.ToString() == "off")
+                {
+                    return;
+                }
+                LoadDiv_ChangeSwingView();
             };
             btnWindSpeed.MouseUpEventHandler = (sender, e) =>
             {
@@ -722,9 +931,10 @@
         {
             Application.RunOnMainThread(() =>
             {
-                btnTemp.Text = device.GetAttrState(FunctionAttributeKey.SetTemp);
-                btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.IndoorTemp))) + "掳C";
+                btnTemp.Text = Convert.ToDouble( device.GetAttrState(FunctionAttributeKey.SetTemp)).ToString();
+                btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp))) + "掳C";
                 btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode));
+                btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing));
                 btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed));
                 arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)));
                 if (device.trait_on_off.curValue.ToString() == "on")

--
Gitblit v1.8.0