From b2f2494386c4629cf0e0f0a3740e7672919d53a2 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 06 一月 2021 17:09:55 +0800
Subject: [PATCH] 修改了彩灯的百分比计算

---
 ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs |  241 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 155 insertions(+), 86 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs
index 05d8740..a92ebfc 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs
@@ -9,6 +9,7 @@
     public class PublicInterface
     {
 
+
         /// <summary>
         /// 鍗曢�夋嫨
         /// </summary>
@@ -100,32 +101,130 @@
         }
 
 
+        /// <summary>
+        /// 鍗曢�夋嫨
+        /// </summary>
+        /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param>
+        /// <param name="list">鏄剧ず鏁版嵁婧�</param>
+        /// <param name="titleText">鏍囬鏂囨湰</param>
+        /// <param name="stateText">涔嬪墠鐘舵�佹枃鏈�</param>
+        /// <param name="completeAction">瀹屾垚杩斿洖鍊�</param>
+        /// <param name="cancelAction">鍙栨秷杩斿洖鍊�</param>
+        public void SingleSelectionShow(FrameLayout frame, List<string> list, int titleText, string stateText, Action<string> completeAction, Action cancelAction)
+        {
+            FrameLayout frameLayout = new FrameLayout
+            {
+                BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor,
+            };
+            frame.AddChidren(frameLayout);
+            CompleteView view = new CompleteView();
+            view.Btntitle.TextID = titleText;
+            frameLayout.AddChidren(view.Show(list.Count));
+            UserView.HomePage.Instance.ScrollEnabled = false;
+           EventHandler<MouseEventArgs> cancelClick= (sender, e) =>
+            {
+                UserView.HomePage.Instance.ScrollEnabled = true;
+                //绉婚櫎fLayout鐣岄潰
+                frameLayout.RemoveFromParent();
+                cancelAction();
+            };
+            view.Btncancel.MouseUpEventHandler += cancelClick;
+            frameLayout.MouseUpEventHandler += cancelClick;
+            ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
+            Button checkIconBtn = new Button
+            {
+                Tag = "unknown",
+            };
+            Button checkTextBtn = new Button
+            {
+                Tag = "unknown",
+            };
+            for (int i = 0; i < list.Count; i++)
+            {
+                string str = list[i];
+                mFunView mFun = new mFunView();
+                mFun.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
+                mFun.titleBtn.SelectedTextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
+                mFun.frameLayout.Y = Application.GetRealHeight(140 + 20 + 160 * i);
+                view.fraView.AddChidren(mFun.Show());
+                mFun.titleBtn.Text = str;
+                mFun.clickviewBtn.Tag = str;//鏍囪
+                if (list.Count - 1 == i)
+                {
+                    //鏀瑰彉鏈�鍚庝竴鏉$殑棰滆壊
+                    mFun.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+                }
+                if (stateText == str)
+                {
+                    //鍥炬爣鏀瑰彉
+                    checkIconBtn.Visible = false;
+                    mFun.selectedIconBtn.Visible = true;
+                    checkIconBtn = mFun.selectedIconBtn;
+                    checkIconBtn.Tag = mFun.clickviewBtn.Tag.ToString();
+                    //瀛椾綋鏀瑰彉
+                    checkTextBtn.IsSelected = false;
+                    mFun.titleBtn.IsSelected = true;
+                    checkTextBtn = mFun.titleBtn;
+
+                }
+                //鐐瑰嚮浜嬩欢
+                mFun.clickviewBtn.MouseUpEventHandler += (sender1, e1) =>
+                {
+                    //鍥炬爣鏀瑰彉
+                    checkIconBtn.Visible = false;
+                    mFun.selectedIconBtn.Visible = true;
+                    checkIconBtn = mFun.selectedIconBtn;
+                    checkIconBtn.Tag = mFun.clickviewBtn.Tag.ToString();
+                    //瀛椾綋鏀瑰彉
+                    checkTextBtn.IsSelected = false;
+                    mFun.titleBtn.IsSelected = true;
+                    checkTextBtn = mFun.titleBtn;
+                };
+
+            }
+            view.Btncomplete.MouseUpEventHandler += (sender1, e1) =>
+            {
+                if (checkIconBtn.Tag.ToString() == "unknown")
+                {
+                    return;
+                }
+                completeAction(checkIconBtn.Tag.ToString());
+                UserView.HomePage.Instance.ScrollEnabled = true;
+                //绉婚櫎fLayout鐣岄潰
+                frameLayout.RemoveFromParent();
+            };
+
+        }
 
         /// <summary>
         /// 娓╂箍搴︽柟娉�
         /// </summary>
         /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param>
-        /// <param name="common">褰撳墠璁惧</param>
-        /// <param name="state1">涔嬪墠鐘舵��</param>
+        /// <param name="symbol">绗﹀彿锛�%锛屸剝锛�</param>
+        /// <param name="state1">涔嬪墠鐘舵��(姣旇緝绗﹀彿)</param>
         /// <param name="state2">涔嬪墠鐘舵��</param>
         /// <param name="action">杩斿洖鍊�</param>
-        public void TemperatureShow1(FrameLayout frameLayout, CommonDevice common, string state1, string state2, Action<string, string> action)
+        public void TemperatureShow1(FrameLayout frame, string tlite,string symbol, string state1, string state2, Action<string, string> action, Action cancelAction)
         {
-            //FrameLayout frameLayout = new FrameLayout
-            //{
-            //    BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor,
-            //};
-            //frame.AddChidren(frameLayout);
+            FrameLayout frameLayout = new FrameLayout
+            {
+                BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor,
+            };
+            frame.AddChidren(frameLayout);
             CompleteView view = new CompleteView();
-            view.Btntitle.Text= LocalDevice.Current.GetDeviceEpointName(common);
+            view.Btntitle.Text= tlite;
             frameLayout.AddChidren(view.Show(4));
             UserView.HomePage.Instance.ScrollEnabled = false;
-            view.Btncancel.MouseUpEventHandler += (sender, e) =>
+
+            EventHandler<MouseEventArgs> cancelClick = (sender, e) =>
             {
                 UserView.HomePage.Instance.ScrollEnabled = true;
                 //绉婚櫎fLayout鐣岄潰
                 frameLayout.RemoveFromParent();
+                cancelAction();
             };
+            view.Btncancel.MouseUpEventHandler += cancelClick;
+            frameLayout.MouseUpEventHandler += cancelClick;
 
             #region  甯冨眬View
             var PickerViewfra = new FrameLayout
@@ -142,28 +241,12 @@
 
             var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" };
             var mList2 = new List<string>();
-            var mList3 = new List<string>();
+            var mList3 = new List<string>() { symbol };
             for (int i = 1; i <= 100; i++)
             {
                 mList2.Add(i.ToString());
             }
-            switch (common.Type)
-            {
-                case DeviceType.TemperatureSensor:
-                    {
-                        var temperatureSensor = common as TemperatureSensor;
-                        if (temperatureSensor.SensorDiv == 1)
-                        {
-                            mList3.Add("鈩�");
-                        }
-                        else
-                        {
-                            mList3.Add("%");
-
-                        }
-                    }
-                    break;
-            }
+           
                 
             mUIPickerView.setNPicker(mList1, mList2, mList3);
 
@@ -214,43 +297,6 @@
                 //杩斿洖绱㈠紩鍊�
                 index1 = s1;
                 index2 = s2;
-
-                string relationValueStr = "";
-                switch (mList1[index1])
-                {
-                    case ">":
-                        {
-                            relationValueStr = "0";
-                        }
-                        break;
-                    case "<":
-                        {
-                            relationValueStr = "2";
-
-                        }
-                        break;
-                    case "=":
-                        {
-                            relationValueStr = "1";
-
-                        }
-                        break;
-                    case "鈮�":
-                        {
-
-                            relationValueStr = "6";
-
-                        }
-                        break;
-                    case "鈮�":
-                        {
-                            relationValueStr = "7";
-                        }
-                        break;
-                }
-                ///娓╁害杩涚巼杞崲*100
-                string tempValueStr = (int.Parse(mList2[index2]) * 100).ToString();
-                action(relationValueStr, tempValueStr);
             };
             view.Btncomplete.MouseUpEventHandler += (sender1, e1) =>
             {
@@ -296,7 +342,7 @@
             };
 
         }
-        public void TemperatureShow(FrameLayout frameLayout, CommonDevice common, string state1, string state2, Action<string, string> action)
+        public void TemperatureShow(FrameLayout frameLayout, string symbol, string state1, string state2, Action<string, string> action)
         {
             #region  甯冨眬View
             var PickerViewfra = new FrameLayout
@@ -313,27 +359,10 @@
 
             var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" };
             var mList2 = new List<string>();
-            var mList3 = new List<string>();
+            var mList3 = new List<string>() { symbol };
             for (int i = 1; i <= 100; i++)
             {
                 mList2.Add(i.ToString());
-            }
-            switch (common.Type)
-            {
-                case DeviceType.TemperatureSensor:
-                    {
-                        var temperatureSensor = common as TemperatureSensor;
-                        if (temperatureSensor.SensorDiv == 1)
-                        {
-                            mList3.Add("鈩�");
-                        }
-                        else
-                        {
-                            mList3.Add("%");
-
-                        }
-                    }
-                    break;
             }
 
             mUIPickerView.setNPicker(mList1, mList2, mList3);
@@ -446,7 +475,8 @@
                             };
                     }
                     break;
-                case "鏃堕棿": {
+                case "鏃堕棿":
+                    {
                         list = new List<string> {
                  Language.StringByID(MyInternationalizationString.immediateexecution),
                 Language.StringByID(MyInternationalizationString.timeframe),
@@ -486,7 +516,46 @@
                             };
                     }
                     break;
-
+                case "绌烘皵璐ㄩ噺浼犳劅鍣�":
+                    {
+                        list = new List<string> {
+                            Language.StringByID(MyInternationalizationString.kongqizhiliang),
+                            Language.StringByID(MyInternationalizationString.pm25),
+                            Language.StringByID(MyInternationalizationString.co2),
+                            Language.StringByID(MyInternationalizationString.sensortemperature),
+                            Language.StringByID(MyInternationalizationString.sensorhumidity),
+                            };
+                    }
+                    break;
+                case "绌烘皵璐ㄩ噺":
+                    {
+                        list = new List<string> {
+                 Language.StringByID(MyInternationalizationString.you),
+                Language.StringByID(MyInternationalizationString.liang),
+                Language.StringByID(MyInternationalizationString.cha),
+                            };
+                    }
+                    break;
+                case "pm2.5":
+                    {
+                        list = new List<string> {
+                            Language.StringByID(MyInternationalizationString.pmyou),
+                            Language.StringByID(MyInternationalizationString.pmliang),
+                            Language.StringByID(MyInternationalizationString.pmqingdu),
+                            Language.StringByID(MyInternationalizationString.pmzhongdu),
+                            };
+                    }
+                    break;
+                case "co2":
+                    {
+                        list = new List<string> {
+                            Language.StringByID(MyInternationalizationString.co2qingxin),
+                            Language.StringByID(MyInternationalizationString.co2huizhuo),
+                            Language.StringByID(MyInternationalizationString.co2queyang),
+                            Language.StringByID(MyInternationalizationString.co2yanzhongqueyang),
+                            };
+                    }
+                    break;
 
             }
             return list;

--
Gitblit v1.8.0