From cb6e11c5067ecaba4d8f9907989154167c1e8943 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 09 六月 2021 17:15:05 +0800
Subject: [PATCH] Merge branch 'wxr4' into dev-tzy

---
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs |  191 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 178 insertions(+), 13 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 871b7a1..0d4f5f3 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -35,13 +35,21 @@
         /// </summary>
         FrameLayout environmentalView;
         /// <summary>
-        /// 褰撳墠娓╁害淇℃伅
+        /// 褰撳墠娓╁害淇℃伅-瀹ゅ
         /// </summary>
         TextButton btnTempValues;
         /// <summary>
-        /// 褰撳墠婀垮害淇℃伅
+        /// 褰撳墠婀垮害淇℃伅-瀹ゅ
         /// </summary>
         TextButton btnHumidityValues;
+        /// <summary>
+        /// 褰撳墠娓╁害淇℃伅-瀹ゅ唴
+        /// </summary>
+        TextButton btnIndoorTempValues;
+        /// <summary>
+        /// 褰撳墠婀垮害淇℃伅-瀹ゅ唴
+        /// </summary>
+        TextButton btnIndoorHumiValues;
         /// <summary>
         /// 褰撳墠pm2.5鐘舵��
         /// </summary>
@@ -184,9 +192,27 @@
                 };
                 topView.AddChidren(environmentalView);
                 #region 鐜鏁版嵁
+                var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature);
+                var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity);
+
+                var btnEnvirValuesTitle = new Button() {
+                    X = Application.GetRealWidth(12),
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = CSS_Color.MainBackgroundColor,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextID = StringId.InOutdoor,
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                if (tempSensorList.Count > 0 || humiSensorList.Count > 0)
+                {
+                    btnEnvirValuesTitle.Width = Application.GetRealWidth(8)+ btnEnvirValuesTitle.GetTextWidth();
+                }
+                environmentalView.AddChidren(btnEnvirValuesTitle);
+
                 Button btnTempIcon = new Button()
                 {
-                    X = Application.GetRealWidth(12),
+                    X = btnEnvirValuesTitle.Right,//+ Application.GetRealWidth(4),
+                    //X = Application.GetRealWidth(12),
                     Gravity = Gravity.CenterVertical,
                     Width = Application.GetMinRealAverage(16),
                     Height = Application.GetMinRealAverage(16),
@@ -197,18 +223,44 @@
                 btnTempValues = new TextButton()
                 {
                     X = btnTempIcon.Right + Application.GetRealWidth(4),
-                    Width = Application.GetRealWidth(30),
                     Gravity = Gravity.CenterVertical,
                     TextColor = CSS_Color.MainBackgroundColor,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     Text = MainPage.cityInfo.temperature + "掳",
                     TextAlignment = TextAlignment.CenterLeft,
                 };
+                btnTempValues.Width = btnTempValues.GetTextWidth();
                 environmentalView.AddChidren(btnTempValues);
+
+                btnIndoorTempValues = new TextButton()
+                {
+                    X = btnTempValues.Right,
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = CSS_Color.MainBackgroundColor,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    Text = "/--掳",
+                };
+                if (tempSensorList.Count > 0)
+                {
+                    double tempTotalValues = 0;
+                    foreach (var temp in tempSensorList)
+                    {
+                        double tempValue = 0;
+                        double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue);
+                        tempTotalValues += tempValue;
+                    }
+                    if (tempTotalValues > 0)
+                    {
+                        btnIndoorTempValues.Text = "/" + tempTotalValues + "掳";
+                    }
+                    btnIndoorTempValues.Width = btnIndoorTempValues.GetTextWidth();
+                }
+                environmentalView.AddChidren(btnIndoorTempValues);
 
                 Button btnHumidityIcon = new Button()
                 {
-                    X = btnTempValues.Right + Application.GetRealWidth(2),
+                    X = btnIndoorTempValues.Right + Application.GetRealWidth(8),
                     Gravity = Gravity.CenterVertical,
                     Width = Application.GetMinRealAverage(16),
                     Height = Application.GetMinRealAverage(16),
@@ -219,18 +271,44 @@
                 btnHumidityValues = new TextButton()
                 {
                     X = btnHumidityIcon.Right + Application.GetRealWidth(4),
-                    Width = Application.GetRealWidth(30),
                     Gravity = Gravity.CenterVertical,
                     TextColor = CSS_Color.MainBackgroundColor,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     Text = MainPage.cityInfo.humidity + "%",
                     TextAlignment = TextAlignment.CenterLeft,
                 };
+                btnHumidityValues.Width = btnHumidityValues.GetTextWidth();
                 environmentalView.AddChidren(btnHumidityValues);
+
+                btnIndoorHumiValues = new TextButton()
+                {
+                    X = btnHumidityValues.Right,
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = CSS_Color.MainBackgroundColor,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    Text = "/--%",
+                };
+                if (tempSensorList.Count > 0)
+                {
+                    double humiTotalValues = 0;
+                    foreach (var humi in humiSensorList)
+                    {
+                        double humiValue = 0;
+                        double.TryParse(humi.GetAttrState(FunctionAttributeKey.Value), out humiValue);
+                        humiTotalValues += humiValue;
+                    }
+                    if (humiTotalValues > 0)
+                    {
+                        btnIndoorHumiValues.Text = "/" + humiTotalValues + "%";
+                    }
+                    btnIndoorHumiValues.Width = btnIndoorHumiValues.GetTextWidth();
+                }
+                environmentalView.AddChidren(btnIndoorHumiValues);
 
                 Button btnPm25Icon = new Button()
                 {
-                    X = btnHumidityValues.Right + Application.GetRealWidth(2),
+                    X = btnIndoorHumiValues.Right + Application.GetRealWidth(4),
                     Gravity = Gravity.CenterVertical,
                     Width = Application.GetMinRealAverage(16),
                     Height = Application.GetMinRealAverage(16),
@@ -241,13 +319,13 @@
                 btnPm25Values = new TextButton()
                 {
                     X = btnPm25Icon.Right + Application.GetRealWidth(4),
-                    Width = Application.GetRealWidth(130),
                     Gravity = Gravity.CenterVertical,
                     TextColor = CSS_Color.MainBackgroundColor,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     Text = MainPage.cityInfo.pm25,
                     TextAlignment = TextAlignment.CenterLeft,
                 };
+                btnPm25Values.Width = btnPm25Values.GetTextWidth();
                 environmentalView.AddChidren(btnPm25Values);
                 #endregion
 
@@ -383,7 +461,86 @@
 
 
 #if DEBUG
-            //FunctionList.List.Functions.Add(new Function() { spk = SPK.ClothesHanger, name = "娴嬭瘯鍑夐湼", attributes = new List<FunctionAttributes> { new FunctionAttributes { key = FunctionAttributeKey.HotDry } ,new FunctionAttributes { key = FunctionAttributeKey.HotDryTime } ,new FunctionAttributes { key = FunctionAttributeKey.HotDryTimeLeft } } });
+            FunctionList.List.Functions.Add(new Function() { spk = SPK.PjtIr, name = "娴嬭瘯鎶曞奖浠�",
+                                        attributes = new List<FunctionAttributes>() {
+                                            new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+                                            new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } },
+                                            new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } },
+                                            new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } },
+                                            new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } },
+                                            new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } },
+                                            new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } },
+                                            new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } },
+                                            new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } },
+                                            new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } },
+                                            new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } },
+                                            new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } },
+                                            new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } },
+                                            new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } },
+                                            new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } },
+                                            new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } },
+                                            new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } },
+                                            new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } },
+                                            new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } },
+                                            new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } },
+                                        }
+            });
+
+            FunctionList.List.Functions.Add(new Function()
+            {
+                spk = SPK.StbIr,
+                name = "娴嬭瘯鏈洪《鐩�",
+                attributes = new List<FunctionAttributes>() {
+                                            new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+                                            new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } },
+                                            new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } },
+                                            new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } },
+                                            new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } },
+                                            new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } },
+                                            new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } },
+                                            new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } },
+                                            new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } },
+                                            new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } },
+                                            new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } },
+                                            new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } },
+                                            new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } },
+                                            new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } },
+                                            new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } },
+                                            new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } },
+                                            new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } },
+                                            new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } },
+                                            new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } },
+                                            new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } },
+                                        }
+            });
+
+            FunctionList.List.Functions.Add(new Function()
+            {
+                spk = SPK.TvIr,
+                name = "娴嬭瘯鐢佃",
+                attributes = new List<FunctionAttributes>() {
+                                            new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+                                            new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } },
+                                            new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } },
+                                            new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } },
+                                            new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } },
+                                            new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } },
+                                            new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } },
+                                            new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } },
+                                            new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } },
+                                            new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } },
+                                            new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } },
+                                            new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } },
+                                            new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } },
+                                            new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } },
+                                            new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } },
+                                            new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } },
+                                            new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } },
+                                            new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } },
+                                            new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } },
+                                            new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } },
+                                        }
+            });
 #endif
 
         }
@@ -683,6 +840,11 @@
                 };
                 view.AddChidren(btnIcon);
 
+
+                btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+                btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
+
+
                 Button btnName;
                 btnName = new Button()
                 {
@@ -784,14 +946,17 @@
                     LoadEvent_ControlCurtain(function, btnCurtainClose, btnCurtainOpen);
                 }
 
-                else if (function.spk == SPK.ElectricTV || function.spk == SPK.TvIr)
+                else if (function.spk == SPK.ElectricTV || function.spk == SPK.TvIr || function.spk == SPK.TvXmIr
+                    || function.spk == SPK.StbIr || function.spk == SPK.PjtIr)
                 {
-                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
+                    //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+                    //btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
+
                     Button btnPower;
                     btnPower = new Button()
                     {
                         X = Application.GetRealWidth(131),
-                        Y = Application.GetRealHeight(70),
+                        Y = Application.GetRealHeight(80),
                         Width = Application.GetRealWidth(32),
                         Height = Application.GetRealWidth(32),
                         UnSelectedImagePath = "Public/PowerClose.png",
@@ -971,7 +1136,7 @@
                 btnIcon.MouseUpEventHandler = skipControlPageEvent;
                 btnState.MouseUpEventHandler = skipControlPageEvent;
                 //鐢佃涓嶉渶瑕佹洿鏂扮姸鎬�
-                if(function.spk!= SPK.ElectricTV)
+                if(function.spk!= SPK.ElectricTV && function.spk != SPK.StbIr && function.spk != SPK.PjtIr)
                 {
                     UpdataFunctionStates(function);
                 }

--
Gitblit v1.8.0