wei
2021-04-28 b13a98b48df67d902da843a3bd3d5659e3737d17
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.Stan;
@@ -110,7 +111,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 +122,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);
@@ -310,16 +311,18 @@
                    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;
                    }
                };
@@ -408,9 +411,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 +439,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;
@@ -484,28 +487,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 +534,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 +619,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 +634,10 @@
                    { IsBackground = true }.Start();
                };
                }
                index++;
            }
            dialog.Show();
        }
@@ -621,7 +677,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 +696,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,6 +722,14 @@
                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>
        /// 控制模式事件
@@ -722,8 +786,8 @@
        {
            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));
                btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed));
                arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)));