From 203c3a3ffde6259413d9743f6a723b95b1e7989c Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 06 七月 2023 22:43:05 +0800
Subject: [PATCH] 门锁功能

---
 HDL_ON/UI/UI2/FuntionControlView/Acst/AcstSubPage.cs |  112 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 76 insertions(+), 36 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstSubPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstSubPage.cs
index 593a132..6669399 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstSubPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstSubPage.cs
@@ -21,29 +21,47 @@
         Function function;
 
         uint curColor;
+        string colorString;
 
         string imageFolder = "blue";
 
         public static void UpdateStatus(Function temp)
         {
-            if(bodyView == null)
+            if(bodyView == null || bodyView.function.sid != temp.sid)
             {
                 return;
             }
             Application.RunOnMainThread(() => {
                 bodyView.btnTempValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_temp.ToString());
                 bodyView.btnHumiValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString());
-                bodyView.btnSetTempValues.Width = bodyView.btnSetTempValues.GetTextWidth() + Application.GetRealWidth(10);
-                bodyView.tempBar.Progress = Convert.ToInt32(temp.GetAttrState(FunctionAttributeKey.SetTemp)) + 16;
+
+
+                int setTempValue = 0;
+                double dd = 0;
+                double.TryParse(temp.GetAttrState(AcstSub_AttrEnum.set_temp.ToString(), "--"), out dd);
+                setTempValue = Convert.ToInt32(dd);
+                if (setTempValue != 0)
+                    bodyView.btnSetTempValues.Text = setTempValue.ToString();
+
+                //bodyView.btnSetTempValues.Width = bodyView.btnSetTempValues.GetTextWidth() + Application.GetRealWidth(10);
+
+                //int progress = 0;
+                //int.TryParse(temp.GetAttrState(AcstSub_AttrEnum.set_temp.ToString()), out progress);
+                if (bodyView.tempBar.Progress != setTempValue - 16)
+                    bodyView.tempBar.Progress = setTempValue - 16;
                 if(temp.trait_on_off.curValue.ToString() == "on")
                 {
                     bodyView.btnPowerControl.IsSelected = true;
-                    bodyView.tempBar.IsOffline = false;
+                    bodyView.tempBar.ProgressBarColor = bodyView.curColor;
+                    //bodyView.tempBar.IsClickable = function.trait_on_off.curValue.ToString() == "off",
+                    //bodyView.tempBar.IsOffline = false;
+
                 }
                 else
                 {
                     bodyView.btnPowerControl.IsSelected = false;
-                    bodyView.tempBar.IsOffline = true;
+                    bodyView.tempBar.ProgressBarColor = CSS_Color.DividingLineColor;
+                    //bodyView.tempBar.IsOffline = true;
                 }
             });
 
@@ -56,21 +74,24 @@
             switch (imageFolder)
             {
                 case "blue":
-                    curColor = CSS.CSS_Color.MainColor;
+                    curColor = CSS_Color.MainColor;
+                    colorString = "#4484F4";
                     break;
                 case "orange":
                     curColor = 0xFFFFB848;
+                    colorString = "#FFB848";
                     break;
                 case "purple":
                     curColor = 0xFF9175F3;
+                    colorString = "#9175F3";
                     break;
             }
             bodyView = this;
         }
 
-        public void LoadPage()
+        public void LoadPage(Action action)
         {
-            new TopViewDiv(bodyView, function.GetRoomListName()).LoadTopView();
+            new TopViewDiv(bodyView, function.name).LoadTopView_FunctionTop(function,action);
 
             var contentView = new FrameLayout()
             {
@@ -98,69 +119,71 @@
             var tempValuesView = new FrameLayout()
             {
                 X = Application.GetRealWidth(21),
-                Y = Application.GetRealWidth(17),
+                Y = Application.GetRealWidth(22),
                 Width = Application.GetRealWidth(130),
                 Height = Application.GetRealWidth(132),
             };
             tempHumiView.AddChidren(tempValuesView);
             btnTempValues = new Button()
             {
-                Y = Application.GetRealWidth(45),
-                Height = Application.GetRealWidth(35),
+                Y = Application.GetRealWidth(38),
+                Height = Application.GetRealWidth(66),
                 IsBold = true,
                 TextSize = 30,
                 TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                 TextAlignment = TextAlignment.TopRight,
-                Text = "---",
+                Text = function.GetAttrState(AcstSub_AttrEnum.room_temp.ToString(),"---"),
             };
-            btnTempValues.Text = function.GetAttrState(AcstSub_AttrEnum.room_temp.ToString());
+#if __IOS__
+            btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(10);
+#else
             btnTempValues.Width = btnTempValues.GetTextWidth();
+#endif
             btnTempValues.Gravity = Gravity.CenterHorizontal;
             tempValuesView.AddChidren(btnTempValues);
             var btnTempValuesUint = new Button()
             {
                 X = btnTempValues.Right,
-                Y = Application.GetRealWidth(48),
+                //Y = Application.GetRealWidth(48),
+                Y = Application.GetRealWidth(45),
+                Height = Application.GetRealWidth(66),
                 TextAlignment = TextAlignment.TopLeft,
                 Width = Application.GetRealWidth(30),
-                Height = Application.GetRealWidth(30),
+                //Height = Application.GetRealWidth(30),
                 TextSize = 10,
                 TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                 Text = "掳C"
             };
             tempValuesView.AddChidren(btnTempValuesUint);
 
-
-
             var humiValuesView = new FrameLayout()
             {
                 X = Application.GetRealWidth(130+21),
-                Y = Application.GetRealWidth(17),
+                Y = Application.GetRealWidth(22),
                 Width = Application.GetRealWidth(130),
                 Height = Application.GetRealWidth(132),
             };
             tempHumiView.AddChidren(humiValuesView);
             btnHumiValues = new Button()
             {
-                Y = Application.GetRealWidth(45),
-                Height = Application.GetRealWidth(35),
+                Y = Application.GetRealWidth(39),
+                Height = Application.GetRealWidth(66),
                 IsBold = true,
                 TextSize = 30,
                 TextColor = CSS.CSS_Color.FirstLevelTitleColor,
-                Text = "---",
+                Text = function.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString(),"---"),
                 TextAlignment = TextAlignment.TopRight,
             };
-            btnHumiValues.Text = function.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString());
             btnHumiValues.Width = btnTempValues.GetTextWidth();
             btnHumiValues.Gravity = Gravity.CenterHorizontal;
             humiValuesView.AddChidren(btnHumiValues);
             var btnHumiValuesUint = new Button()
             {
                 X = btnTempValues.Right,
-                Y = Application.GetRealWidth(48),
+                Y = Application.GetRealWidth(45),
                 TextAlignment = TextAlignment.TopLeft,
                 Width = Application.GetRealWidth(30),
-                Height = Application.GetRealWidth(30),
+                Height = Application.GetRealWidth(66),
                 TextSize = 10,
                 TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                 Text = "%"
@@ -169,7 +192,7 @@
 
 
             EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
-                var page = new AcstSubHistoryPage(function);
+                var page = new AcstSubHistoryPage(function, colorString);
                 MainPage.BasePageView.AddChidren(page);
                 page.LoadPage();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -181,25 +204,36 @@
             #endregion
 
 
+            int setTempValue = 0;
+            string setTempStr = "--";
+            double dd = 0;
+            double.TryParse(function.GetAttrState(AcstSub_AttrEnum.set_temp.ToString(), "--"), out dd);
+            setTempValue = Convert.ToInt32(dd);
+            if (setTempValue != 0)
+                setTempStr = setTempValue.ToString();
             btnSetTempValues = new Button()
             {
-                Gravity = Gravity.CenterHorizontal,
+                X = Application.GetRealWidth((375 - 77 -30)/2),
                 Y = Application.GetRealHeight(260),
-                Width = Application.GetRealWidth(71),
+                Width = Application.GetRealWidth(73),
                 Height = Application.GetRealHeight(90),
-                TextAlignment = TextAlignment.TopRight,
+                TextAlignment = TextAlignment.TopCenter,
                 TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                 IsBold = true,
                 TextSize = 60,
-                Text = function.GetAttrState(AcstSub_AttrEnum.set_temp.ToString(), "--")
+                Text = setTempStr
             };
             contentView.AddChidren(btnSetTempValues);
+#if __IOS__
+            bodyView.btnSetTempValues.Width = bodyView.btnSetTempValues.GetTextWidth() + Application.GetRealWidth(10);
+#endif
+
 
             var btnSetTempUnit = new Button()
             {
                 X = btnSetTempValues.Right + Application.GetRealWidth(3),
                 Y = Application.GetRealHeight(267),
-                Width = Application.GetRealWidth(30),
+                Width = Application.GetRealWidth(50),
                 Height = Application.GetRealHeight(50),
                 TextSize = 23,
                 TextColor = CSS.CSS_Color.FirstLevelTitleColor,
@@ -223,6 +257,10 @@
             };
             contentView.AddChidren(btnMinValuesText);
 
+
+            //int progress = 0;
+            //int.TryParse(function.GetAttrState(FunctionAttributeKey.SetTemp),out progress);
+
             tempBar = new DiyImageSeekBar()
             {
                 Gravity = Gravity.CenterHorizontal,
@@ -234,11 +272,13 @@
                 ThumbImageHeight = Application.GetRealHeight(51),
                 ProgressBarColor = function.trait_on_off.curValue.ToString() == "on" ? curColor : CSS_Color.DividingLineColor,
                 MaxValue = 14,
-                Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.SetTemp)) + 16,
+                Progress = setTempValue - 16,
                 SeekBarPadding = Application.GetRealWidth(20),
                 IsProgressTextShow = false,
                 ProgressChangeDelayTime = 0,
-                IsOffline = function.trait_on_off.curValue.ToString() == "off",
+                //IsClickable = function.trait_on_off.curValue.ToString() == "off",
+                //Enable = function.trait_on_off.curValue.ToString() == "off",
+                //IsOffline = true,// function.trait_on_off.curValue.ToString() == "off",
             };
             contentView.AddChidren(tempBar);
             tempBar.OnProgressChangedEvent = (sender, e) => {
@@ -247,7 +287,7 @@
             tempBar.OnStopTrackingTouchEvent = (sender, e) => {
                 new System.Threading.Thread(() => {
                     var d = new Dictionary<string, string>();
-                    d.Add(FunctionAttributeKey.SetTemp, e.ToString());
+                    d.Add(FunctionAttributeKey.SetTemp, (e+16).ToString());
                     Control.Ins.SendWriteCommand(function, d);
                 })
                 { IsBackground = true }.Start();
@@ -269,8 +309,6 @@
 
 
 
-
-
             btnPowerControl = new Button()
             {
                 Y = Application.GetRealHeight(496),
@@ -288,12 +326,14 @@
 
                 new System.Threading.Thread(() => {
                     Dictionary<string, string> d = new Dictionary<string, string>();
-                    d.Add("onoff", btnPowerControl.IsSelected ? "on" : "off");
+                    d.Add(FunctionAttributeKey.OnOff, btnPowerControl.IsSelected ? "on" : "off");
                     Control.Ins.SendWriteCommand(function, d);
                 })
                 { IsBackground = true }.Start();
             };
 
+            Control.Ins.SendReadCommand(function);
+
         }
     }
 }

--
Gitblit v1.8.0