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