From 2fb0c39b09110be4f5a88a8c8004f03fc257f612 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 06 一月 2021 11:11:53 +0800
Subject: [PATCH] 2021-1-6-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs |  417 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 415 insertions(+), 2 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs
index 50c1671..a92ebfc 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs
@@ -2,11 +2,13 @@
 using System.Collections.Generic;
 using Shared.Common;
 using Shared.R;
+using ZigBee.Device;
 
 namespace Shared.Phone.Device.Logic
 {
     public class PublicInterface
     {
+
 
         /// <summary>
         /// 鍗曢�夋嫨
@@ -100,6 +102,360 @@
 
 
         /// <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="symbol">绗﹀彿锛�%锛屸剝锛�</param>
+        /// <param name="state1">涔嬪墠鐘舵��(姣旇緝绗﹀彿)</param>
+        /// <param name="state2">涔嬪墠鐘舵��</param>
+        /// <param name="action">杩斿洖鍊�</param>
+        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);
+            CompleteView view = new CompleteView();
+            view.Btntitle.Text= tlite;
+            frameLayout.AddChidren(view.Show(4));
+            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;
+
+            #region  甯冨眬View
+            var PickerViewfra = new FrameLayout
+            {
+                Y = Application.GetRealHeight(140),
+                Height = Application.GetRealHeight(640),
+            };
+            view.fraView.AddChidren(PickerViewfra);
+            var mUIPickerView = new UIPickerView
+            {
+                Height = Application.GetRealHeight(640 - 5),
+            };
+            PickerViewfra.AddChidren(mUIPickerView);
+
+            var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" };
+            var mList2 = new List<string>();
+            var mList3 = new List<string>() { symbol };
+            for (int i = 1; i <= 100; i++)
+            {
+                mList2.Add(i.ToString());
+            }
+           
+                
+            mUIPickerView.setNPicker(mList1, mList2, mList3);
+
+            #endregion
+            //榛樿=,50
+            int index1 = 2, index2 = 49;
+            if (state1!="" && state2 != "")
+            {
+                string s = "";
+                switch (state1)
+                {
+                    case "0":
+                        {
+                            s = ">";
+                        }
+                        break;
+                    case "1":
+                        {
+                            s = "=";
+                        }
+                        break;
+                    case "2":
+                        {
+                            s = "<";
+                        }
+                        break;
+                    case "6":
+                        {
+                            s = "鈮�";
+                        }
+                        break;
+                    case "7":
+                        {
+                            s = "鈮�";
+                        }
+                        break;
+                }
+                //鏌ユ壘绱㈠紩
+                index1 = mList1.IndexOf(s);
+                //杞崲娓╁害鍊�/100
+                string tempValue = (int.Parse(state2) / 100).ToString();
+                index2 = mList2.IndexOf(tempValue);
+            }
+            ///鏇存柊鏈�鏂扮姸鎬侊紱
+            mUIPickerView.setCurrentItems(index1, index2, 0);
+            mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
+            {
+                //杩斿洖绱㈠紩鍊�
+                index1 = s1;
+                index2 = s2;
+            };
+            view.Btncomplete.MouseUpEventHandler += (sender1, e1) =>
+            {
+                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);
+                UserView.HomePage.Instance.ScrollEnabled = true;
+                //绉婚櫎fLayout鐣岄潰
+                frameLayout.RemoveFromParent();
+            };
+
+        }
+        public void TemperatureShow(FrameLayout frameLayout, string symbol, string state1, string state2, Action<string, string> action)
+        {
+            #region  甯冨眬View
+            var PickerViewfra = new FrameLayout
+            {
+                Y = Application.GetRealHeight(140),
+                Height = Application.GetRealHeight(640),
+            };
+            frameLayout.AddChidren(PickerViewfra);
+            var mUIPickerView = new UIPickerView
+            {
+                Height = Application.GetRealHeight(640 - 5),
+            };
+            PickerViewfra.AddChidren(mUIPickerView);
+
+            var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" };
+            var mList2 = new List<string>();
+            var mList3 = new List<string>() { symbol };
+            for (int i = 1; i <= 100; i++)
+            {
+                mList2.Add(i.ToString());
+            }
+
+            mUIPickerView.setNPicker(mList1, mList2, mList3);
+
+            #endregion
+            //榛樿=,50
+            int index1 = 2, index2 = 49;
+            if (state1 != "" && state2 != "")
+            {
+                string s = "";
+                switch (state1)
+                {
+                    case "0":
+                        {
+                            s = ">";
+                        }
+                        break;
+                    case "1":
+                        {
+                            s = "=";
+                        }
+                        break;
+                    case "2":
+                        {
+                            s = "<";
+                        }
+                        break;
+                    case "6":
+                        {
+                            s = "鈮�";
+                        }
+                        break;
+                    case "7":
+                        {
+                            s = "鈮�";
+                        }
+                        break;
+                }
+                //鏌ユ壘绱㈠紩
+                index1 = mList1.IndexOf(s);
+                //杞崲娓╁害鍊�/100
+                string tempValue = (int.Parse(state2) / 100).ToString();
+                index2 = mList2.IndexOf(tempValue);
+            }
+            ///鏇存柊鏈�鏂扮姸鎬侊紱
+            mUIPickerView.setCurrentItems(index1, index2, 0);
+            mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
+            {
+                //杩斿洖绱㈠紩鍊�
+                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);
+            };
+         
+        }
+
+        /// <summary>
         /// 鑾峰彇鐣岄潰鍒楄〃
         /// </summary>
         /// <param name="isStr">鑷繁瀹氫箟鑷繁鐢�</param>
@@ -119,7 +475,8 @@
                             };
                     }
                     break;
-                case "鏃堕棿": {
+                case "鏃堕棿":
+                    {
                         list = new List<string> {
                  Language.StringByID(MyInternationalizationString.immediateexecution),
                 Language.StringByID(MyInternationalizationString.timeframe),
@@ -142,7 +499,63 @@
                             };
                     }
                     break;
-
+                case "寮�鍏�2":
+                    {
+                        list = new List<string> {
+                 Language.StringByID(MyInternationalizationString.open),
+                Language.StringByID(MyInternationalizationString.close),
+                            };
+                    }
+                    break;
+                case "寮�鍏�3":
+                    {
+                        list = new List<string> {
+                 Language.StringByID(MyInternationalizationString.open),
+                Language.StringByID(MyInternationalizationString.close),
+                Language.StringByID(MyInternationalizationString.onoff),
+                            };
+                    }
+                    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