From df7dd3e3f8830eceb615c59099631fc2a744b0ee Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 27 一月 2021 17:20:42 +0800
Subject: [PATCH] Merge branch 'WJC' into NewFilePath

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/EmptyClass.cs |  475 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 475 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/EmptyClass.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/EmptyClass.cs
new file mode 100644
index 0000000..2293a25
--- /dev/null
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/EmptyClass.cs
@@ -0,0 +1,475 @@
+锘縰sing System;
+using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
+using Shared;
+using System.Collections.Generic;
+using System.Text;
+
+namespace HDL_ON.UI.UI2.Intelligence.Automation
+{
+    public class EmptyClass : FrameLayout
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="list">琛ㄧず璇ュ垪琛ㄥ厓绱燗-Z瀛楁瘝绛涢�夋樉绀哄嚭鏉�</param>
+        /// <param name="list6">琛ㄧず璇ュ垪琛ㄥ厓绱犳樉绀哄湪list鍓嶉潰(璇ュ垪琛ㄥ厓绱犱笉鍋欰-Z瀛楁瘝绛涢��),娌℃湁鍙互涓簂ist6=null</param>
+        /// <param name="action">杩斿洖閫変腑鏂囨湰</param>
+        public void Show(List<string> list, List<string> list6, Action<string> action) 
+        {
+
+
+            //string text = "30";
+            //byte[] bytes = new byte[text.Length / 2];
+            //for (int i = 0, j = 0; i < bytes.Length; j += 2, i++)
+            //{
+            //    //鎶�16杩涘害杞崲鎴恇yte
+            //    bytes[i] = Convert.ToByte(text.Substring(j, 2), 16);
+            //}
+            ////鎶奲yte鏁扮粍杞崲鎴愭枃瀛�
+            //string str = System.Text.Encoding.UTF8.GetString(bytes);
+
+
+            var frameLayout = new FrameLayout
+            {
+                BackgroundColor = CSS.CSS_Color.viewTop,
+                Height = Application.GetRealHeight(112),
+                Width = Application.GetRealWidth(375),
+            };
+            this.AddChidren(frameLayout);
+
+            var topNameBtn = new Button
+            {
+                TextSize = TextSize.text18,
+                TextColor = CSS.CSS_Color.textColor,
+                Width = Application.GetRealWidth(TextSize.view375 - 60 - 60),
+                Height = Application.GetRealHeight(25),
+                Y = Application.GetRealHeight(30),
+                X = Application.GetRealWidth(60),
+                Text = "璇烽�夋嫨鍝佺墝",
+
+            };
+            frameLayout.AddChidren(topNameBtn);
+
+            var backBtn = new Button
+            {
+                Width = Application.GetRealWidth(12),
+                Height = Application.GetRealWidth(20),
+                X = Application.GetRealWidth(TextSize.left16),
+                Y = Application.GetRealHeight(32),
+                UnSelectedImagePath = "LogicIcon/back.png",
+            };
+            frameLayout.AddChidren(backBtn);
+            backBtn.MouseUpEventHandler += (sen, e) =>
+            {
+                this.RemoveFromParent();
+            };
+
+            var editText = new EditText
+            {
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealWidth(28),
+                X = Application.GetRealWidth(TextSize.left16),
+                Y = Application.GetRealHeight(76),
+                BackgroundColor = CSS.CSS_Color.view,
+                TextColor = CSS.CSS_Color.textColor,
+                TextAlignment = TextAlignment.Center,
+
+            };
+            frameLayout.AddChidren(editText);
+
+            var fram = new FrameLayout
+            {
+                Y = Application.GetRealHeight(112),
+                Height = Application.GetRealHeight(667 - 112),
+                Width = Application.GetRealWidth(375),
+                BackgroundColor = CSS.CSS_Color.view,
+            };
+            this.AddChidren(fram);
+
+
+            //var list11 = new List<string> {
+            //   "鐖变綘", "鍝庡懄","鍩冨強","鍝堝紬鎹㈠3鍝堝紬", "鐖卞痉鍗庡v","淇哄嚑涓柉浜�",
+            //    "鎷滀簡", "宸村+", "鐧惧か",  "鐧惧悎鍦扮悊璇句綘鎵撶畻", "涓嶅害鑰侀浼忔灔", "姣斿埌涔濈偣",
+            //    "杞︾珯","娴嬭瘯","姝ゅ湴", "鎵嶇湅瑙佸ソ寰楀揩","鍚冭蒋楗�","浠庣湅瑙佷簩鍗佸",
+            //   "绛夊緟鏈轰細鍚�","鐨勫鎴�", "澶氬枬鐐�", "鐧昏鍝︾劧鍚�", "鎵撶數璇�",
+            //     "鎭╄偆闇滅湅灏辩湅浜�", "楗挎os","鎭堕瓟鍩�","鍎跨鑱斿姩", "鎭╁叚棰楀瓙寮规媺鎷夎¥娲楁尽浜�","鍙戝ぇ瀛︾敓鍙戝彂",
+            //    "鐪熷帀瀹砳鍙戝灏�", "鐭ラ亾浣犱粯娆句簡鍙�", "灏厭鍥炲",  "鏀硅繘鐨勮瘽", "澶╁ぉ閫熷害鍥炵瓟", "澶ソ浜嗗紑杞�",
+            //    "鍑忚偉鐨勭湅杩�","妗″嚭鍙e閭�","濡傛灉瑙夊緱", "寰堣垝鏈嶇殑","鍚冭蒋楗�","浠庣湅瑙佷簩鍗佸",
+            //   "榫欏嵎椋庝簭澶у彂","鍘诲ソ鐪�", "澶氬枬鐐�", "濂芥氮璐瑰ソ", "鎵撶數璇�"};
+            if (list == null)
+            {
+                list = new List<string>();
+            }
+            if (list6 == null)
+            {
+                list6 = new List<string>();
+            }
+            var list1 = GetDateList(list);
+            list1.Add("1");
+            list1.InsertRange(0, list6);
+
+
+
+            var vv = new VerticalScrolViewLayout();
+            fram.AddChidren(vv);
+            var listStr = new List<string>();
+            listStr.AddRange(list1);
+            editText.TextChangeEventHandler += (view, strView) =>
+            {
+                listStr.Clear();
+                for (int i = 0; i < list1.Count; i++)
+                {
+                    var s = list1[i];
+                    if (s.Contains(strView))
+                    {
+                        listStr.Add(s);
+                    }
+                }
+                RefreshLayout(vv, listStr, action);
+
+            };
+
+            #region A-Z
+
+
+            var a_zFra = new FrameLayout
+            {
+                Y = Application.GetRealHeight(46),
+                X = Application.GetRealWidth(362 - 6),
+                Height = Application.GetRealHeight(351),
+                Width = Application.GetRealWidth(10 + 6),
+            };
+            fram.AddChidren(a_zFra);
+            var list2 = GetList();  
+            for (int i = 0; i < list2.Count; i++)
+            {
+
+                var a_zBtn = new Button
+                {
+                    Padding = new Padding(0, 6, 0, 0),
+                    Y = Application.GetRealHeight(i * 13),
+                    Width = Application.GetRealWidth(16),
+                    Height = Application.GetRealHeight(10),
+                    Text = list2[i],
+                    TextSize = TextSize.text10,
+                    TextColor = CSS.CSS_Color.textConfirmColor,
+                    Tag = list2[i],
+                };
+                a_zFra.AddChidren(a_zBtn);
+
+
+                a_zBtn.MouseUpEventHandler += (sender, e) =>
+                {
+
+                    try
+                    {
+                        //鎵惧埌绱㈠紩鍊�
+                        var index = listStr.IndexOf(a_zBtn.Tag.ToString());
+                        if (index != -1)
+                        {
+                            vv.ScrollToViewIndex(index);
+                        }
+                        else
+                        {
+                            if (a_zBtn.Tag.ToString() == "#")
+                            {
+                                vv.ScrollToViewIndex(0);
+                            }
+                        }
+                    }
+                    catch { }
+                };
+
+            }
+            #endregion
+
+            RefreshLayout(vv, list1,action);
+
+
+
+
+
+        }
+        /// <summary>
+        /// 鏇存柊鍒楄〃Viev
+        /// </summary>
+        /// <param name="vv">鐖舵帶浠�</param>
+        /// <param name="list">鏄剧ず鍒楄〃</param>
+        private void RefreshLayout(VerticalScrolViewLayout vv, List<string> list,Action<string> action)
+        {
+            vv.RemoveAll();
+            foreach (var str in list)
+            {
+                var rowLayout = new RowLayout { LineColor = CSS.CSS_Color.view };
+                var textName = new Button
+                {
+                    TextSize = TextSize.text16,
+                    TextColor = CSS.CSS_Color.textColor,
+                    Width = Application.GetRealWidth(300),
+                    Height = Application.GetRealHeight(22),
+                    X = Application.GetRealWidth(16),
+                    Gravity = Gravity.CenterVertical,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    Text = str,
+                };
+                var clickBtn = new Button
+                {
+                    Tag = str,
+                    Width = Application.GetRealWidth(350),
+                };
+
+                if (Exist(str))
+                {
+                    //鍥犱负瀛楁瘝娌℃湁鐐瑰嚮浜嬩欢
+                    rowLayout.Height = Application.GetRealHeight(24);
+                    rowLayout.BackgroundColor = CSS.CSS_Color.viewTop;
+                    textName.TextSize = TextSize.text12;
+                    rowLayout.AddChidren(textName);
+                }
+                else
+                {
+                    rowLayout.Height = Application.GetRealHeight(44);
+                    rowLayout.AddChidren(textName);
+                    rowLayout.AddChidren(clickBtn);
+                }
+                vv.AddChidren(rowLayout);
+                clickBtn.MouseUpEventHandler += (sen, e) =>
+                {
+                    //鎵惧埌绱㈠紩鍊�
+                    var index = list.IndexOf(clickBtn.Tag.ToString());
+
+                    this.RemoveFromParent();
+                };
+
+            }
+
+        }
+        /// <summary>
+        /// 鍒楄〃鏄惁鍖呭惈璇ュ��(true=鍖呭惈锛宖alse=涓嶅寘鍚�)
+        /// </summary>
+        /// <param name="str"></param>
+        /// <returns></returns>
+        private bool Exist(string str)
+        {
+
+            if (GetList().Contains(str) || "涓绘祦鍝佺墝" == str)
+            {
+                return true;
+            }
+            else
+            {
+                return false;
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇鏄剧ず鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        private List<string> GetDateList(List<string> mList)
+        {
+            var list = new List<string>();
+            //鑾峰彇A-Z瀛楁瘝鍒楄〃
+            var a_zList = GetList(false);
+            //閬嶅巻A-Z瀛楁瘝鍒楄〃
+            for (int i = 0; i < a_zList.Count; i++)
+            {
+                var zimu = a_zList[i];
+                //閬嶅巻瀛楃涓插垪琛�
+                for (int a = 0; a < mList.Count; a++)
+                {
+                    var str = mList[a];
+                    //鎻愬彇瀛楃涓茬涓�浣�
+                    string s = str.Substring(0, 1);
+                    //杩斿洖瀛楃涓茬涓�浣嶉瀛楁瘝锛堝ぇ鍐欙級
+                    var a_z = GetCharSpellCode(s);
+                    //鍒ゆ柇鏄惁鍚屽瓧姣�
+                    if (zimu == a_z)
+                    {
+                        //鍒ゆ柇鍒楄〃鏄惁瀛樺湪瀛楁瘝
+                        if (!list.Contains(zimu))
+                        {
+                            //娣诲姞瀛楁瘝
+                            list.Add(zimu);
+                        }
+                        //娣诲姞棣栧瓧鍚屼竴涓瓧姣嶇殑鏁版嵁
+                        list.Add(str);
+                    }
+
+                }
+            }
+            return list;
+        }
+
+        /// <summary>
+        /// 鑾峰彇A-Z瀛楁瘝鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        private List<string> GetList(bool value = true)
+        {
+            var list = new List<string>();
+            if (value)
+            {
+                list.Add("#");
+            }
+            for (int j = 65; j <= 90; j++)
+            {
+                char c = (char)j;
+                string s = c.ToString();
+                list.Add(s);
+
+            }
+            return list;
+        }
+
+        /// <summary>
+        /// 鑾峰彇姹夊瓧棣栧瓧姣�
+        /// </summary>
+        /// <param name="textValue"></param>
+        /// <returns></returns>
+        private string GetCharSpellCode(string textValue)
+        {
+            long iCnChar;
+
+            byte[] ZW = Encoding.GetEncoding("gb2312").GetBytes(textValue);
+
+            //濡傛灉鏄瓧姣嶏紝鍒欑洿鎺ヨ繑鍥� 
+            if (ZW.Length == 1)
+            {
+                return textValue.ToUpper();
+            }
+            else
+            {
+                // get the array of byte from the single char 
+                int i1 = (short)(ZW[0]);
+                int i2 = (short)(ZW[1]);
+                iCnChar = i1 * 256 + i2;
+            }
+
+            //expresstion 
+            //table of the constant list 
+            // 'A'; //45217..45252 
+            // 'B'; //45253..45760 
+            // 'C'; //45761..46317 
+            // 'D'; //46318..46825 
+            // 'E'; //46826..47009 
+            // 'F'; //47010..47296 
+            // 'G'; //47297..47613 
+
+            // 'H'; //47614..48118 
+            // 'J'; //48119..49061 
+            // 'K'; //49062..49323 
+            // 'L'; //49324..49895 
+            // 'M'; //49896..50370 
+            // 'N'; //50371..50613 
+            // 'O'; //50614..50621 
+            // 'P'; //50622..50905 
+            // 'Q'; //50906..51386 
+
+            // 'R'; //51387..51445 
+            // 'S'; //51446..52217 
+            // 'T'; //52218..52697 
+            //娌℃湁U,V 
+            // 'W'; //52698..52979 
+            // 'X'; //52980..53640 
+            // 'Y'; //53689..54480 
+            // 'Z'; //54481..55289 
+
+            // iCnChar match the constant 
+            if ((iCnChar >= 45217) && (iCnChar <= 45252))
+            {
+                return "A";
+            }
+            else if ((iCnChar >= 45253) && (iCnChar <= 45760))
+            {
+                return "B";
+            }
+            else if ((iCnChar >= 45761) && (iCnChar <= 46317))
+            {
+                return "C";
+            }
+            else if ((iCnChar >= 46318) && (iCnChar <= 46825))
+            {
+                return "D";
+            }
+            else if ((iCnChar >= 46826) && (iCnChar <= 47009))
+            {
+                return "E";
+            }
+            else if ((iCnChar >= 47010) && (iCnChar <= 47296))
+            {
+                return "F";
+            }
+            else if ((iCnChar >= 47297) && (iCnChar <= 47613))
+            {
+                return "G";
+            }
+            else if ((iCnChar >= 47614) && (iCnChar <= 48118))
+            {
+                return "H";
+            }
+            else if ((iCnChar >= 48119) && (iCnChar <= 49061))
+            {
+                return "J";
+            }
+            else if ((iCnChar >= 49062) && (iCnChar <= 49323))
+            {
+                return "K";
+            }
+            else if ((iCnChar >= 49324) && (iCnChar <= 49895))
+            {
+                return "L";
+            }
+            else if ((iCnChar >= 49896) && (iCnChar <= 50370))
+            {
+                return "M";
+            }
+
+            else if ((iCnChar >= 50371) && (iCnChar <= 50613))
+            {
+                return "N";
+            }
+            else if ((iCnChar >= 50614) && (iCnChar <= 50621))
+            {
+                return "O";
+            }
+            else if ((iCnChar >= 50622) && (iCnChar <= 50905))
+            {
+                return "P";
+            }
+            else if ((iCnChar >= 50906) && (iCnChar <= 51386))
+            {
+                return "Q";
+            }
+            else if ((iCnChar >= 51387) && (iCnChar <= 51445))
+            {
+                return "R";
+            }
+            else if ((iCnChar >= 51446) && (iCnChar <= 52217))
+            {
+                return "S";
+            }
+            else if ((iCnChar >= 52218) && (iCnChar <= 52697))
+            {
+                return "T";
+            }
+            else if ((iCnChar >= 52698) && (iCnChar <= 52979))
+            {
+                return "W";
+            }
+            else if ((iCnChar >= 52980) && (iCnChar <= 53640))
+            {
+                return "X";
+            }
+            else if ((iCnChar >= 53689) && (iCnChar <= 54480))
+            {
+                return "Y";
+            }
+            else if ((iCnChar >= 54481) && (iCnChar <= 55289))
+            {
+                return "Z";
+            }
+            else return ("ZZ");
+        }
+    }
+}

--
Gitblit v1.8.0