From 9acd3887f1f8db40d59f991b1726a61aa7c7637c Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 五月 2021 15:13:56 +0800
Subject: [PATCH] Merge branch 'CJL' into wxr4

---
 HDL_ON/UI/UI0-Public/PublicAssmebly.cs |  398 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 255 insertions(+), 143 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
index 25523fb..a8c069b 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Text.RegularExpressions;
 using System.Threading;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
@@ -28,15 +29,18 @@
 
             btnConfirm.MouseUpEventHandler += (sender, e) =>
             {
-                //btnConfirm.IsSelected = false;
-                if (string.IsNullOrEmpty(editText.Text.Trim()) || list.Contains(editText.Text.Trim()))
+                var text = editText.Text.Trim();
+                Regex regtest = new Regex(@"\p{Cs}");
+                Match match = regtest.Match(text);
+                if (match.Success)
                 {
-                    if (titleId == StringId.ModifyMemberNickname)
-                    {
-                        return;
-                    }
+                    HDLCommon.Current.ShowAlert(Language.StringByID(StringId.CannotEnterSpecialCharacters));
+                    return;
+                }
+                if (string.IsNullOrEmpty(text) || list.Contains(text))
+                {
                     string tipMsgString = "";
-                    if (string.IsNullOrEmpty(editText.Text.Trim()))
+                    if (string.IsNullOrEmpty(text))
                     {
                         tipMsgString = Language.StringByID(errorId_IsNullOrEmpty);
                     }
@@ -58,7 +62,7 @@
                 }
 
 
-                callBackAction(editText.Text.Trim());
+                callBackAction(text);
                 dialog.Close();
             };
         }
@@ -69,7 +73,7 @@
         /// 淇濆瓨鎸夐挳浜嬩欢闇�瑕佸皢
         /// </summary>
         /// <param name="callBackAction">鍥炶皟鍑芥暟</param>
-        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList, bool encryption = false)
+        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList, bool encryption = false, string confirmText = "")
         {
             Dialog dialog = new Dialog()
             {
@@ -120,10 +124,29 @@
                 Text = editParater,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                SecureTextEntry = encryption,
+                //SecureTextEntry = encryption,
                 //TextAlignment = TextAlignment.CenterLeft ,
             };
             editView.AddChidren(etParater);
+            if(encryption)
+            {
+                etParater.SecureTextEntry = encryption;
+            }
+
+            Button btnClear = new Button()
+            {
+                X = Application.GetRealWidth(218-25),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetRealWidth(24),
+                Height = Application.GetRealWidth(24),
+                UnSelectedImagePath = "Public/ClearIcon.png",
+            };
+            editView.AddChidren(btnClear);
+
+            btnClear.MouseUpEventHandler = (sender, e) =>
+            {
+                etParater.Text = "";
+            };
 
             etParater.TextChangeEventHandler = (sender, e) =>
             {
@@ -183,6 +206,13 @@
                 TextID = StringId.Confirm,
             };
             contentView.AddChidren(btnConfirm);
+
+            //鑷畾涔塨tnConfirm鏍囬
+            if (!string.IsNullOrEmpty(confirmText))
+            {
+                btnConfirm.Text = confirmText;
+            }
+
             int mRectCornerID = HDLUtils.RectCornerBottomRight;
             btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
 
@@ -362,6 +392,7 @@
                 TextSize = CSS_FontSize.TextFontSize,
                 TextColor = isWhite ? CSS_Color.FirstLevelTitleColor : CSS_Color.MainBackgroundColor,
                 Text = msg,
+                IsMoreLines = true,
             };
             frame.AddChidren(btnTipMsg);
 
@@ -541,7 +572,7 @@
         /// 鍦烘櫙寤舵椂璁剧疆寮圭獥
         /// </summary>
         /// <param name="function"></param>
-        public void SetSceneDelayDialog(Action<string> action,string changeDelay)
+        public void SetSceneDelayDialog(Dictionary<string,string>items, Action<string> action,string curItemKey)
         {
             Button lastButton = new Button();
             Dialog dialog = new Dialog();
@@ -551,14 +582,18 @@
             };
             dialog.AddChidren(pView);
 
+            var itemCount = items.Count;
+            var optionBaseViewHeight = ((itemCount > 3 ? itemCount : 3) + 1) * Application.GetRealHeight(50);
             var optionBaseView = new FrameLayout()
             {
-                Y = Application.GetRealHeight(439),
+                //Y = Application.GetRealHeight(439),
+                Y = Application.GetRealHeight(647) - optionBaseViewHeight,
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(343),
-                Height = Application.GetRealHeight(208),
-                AnimateSpeed = 0.3f,
-                Animate = Animate.DownToUp,
+                //Height = Application.GetRealHeight(208),
+                Height = optionBaseViewHeight,
+                //AnimateSpeed = 0.3f,
+                //Animate = Animate.DownToUp,
                 BackgroundColor = CSS_Color.MainBackgroundColor,
                 Radius = (uint)Application.GetRealWidth(12),
             };
@@ -599,92 +634,169 @@
 
             var btnConfrim = new Button()
             {
-                Width = Application.GetRealWidth(320),
+                X = Application.GetRealWidth(160),
+                Width = Application.GetRealWidth(160),
                 TextAlignment = TextAlignment.CenterRight,
                 TextColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                TextID = StringId.Complete,
+                TextID = StringId.Confirm,
             };
             topView.AddChidren(btnConfrim);
 
-            Button btn1 = new Button()
+            var itemsView = new VerticalScrolViewLayout()
             {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "30s",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(20),
-                Y = Application.GetRealHeight(80),
-                IsSelected = changeDelay == "30"
+                Y = topView.Bottom,
+                Height = optionBaseViewHeight - Application.GetRealHeight(50),
+                ScrollEnabled = itemCount > 4,
             };
-            optionBaseView.AddChidren(btn1);
+            optionBaseView.AddChidren(itemsView);
 
+            bool isFrist = true;
+            Button btnLastSelectedTip = null;
 
-            Button btn2 = new Button()
+            foreach (var item in items)
             {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "1min",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(195),
-                Y = Application.GetRealHeight(80),
-                IsSelected = changeDelay == "60"
-            };
-            optionBaseView.AddChidren(btn2);
+                if (isFrist)
+                {
+                    isFrist = false;
+                }
+                else
+                {
+                    itemsView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
+                }
+                var row = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(50),
+                };
+                itemsView.AddChidren(row);
+
+                var btnTipSelected = new Button()
+                {
+                    X = Application.GetRealWidth(303),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(28),
+                    Height= Application.GetRealWidth(28),
+                    UnSelectedImagePath = "Public/ChooseIcon.png",
+                    SelectedImagePath = "Public/ChooseOnIcon.png",
+                };
+                row.AddChidren(btnTipSelected);
+                if( item.Key == curItemKey)
+                {
+                    btnTipSelected.IsSelected = true;
+                    btnLastSelectedTip = btnTipSelected;
+                }
 
 
-            Button btn3 = new Button()
-            {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "2min",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(20),
-                Y = Application.GetRealHeight(140),
-                IsSelected = changeDelay == "120"
-            };
-            optionBaseView.AddChidren(btn3);
+                var btnRowTitle = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Text = item.Value,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                row.AddChidren(btnRowTitle);
+
+                btnRowTitle.MouseUpEventHandler = (sender, e) =>
+                {
+                    if (btnTipSelected.IsSelected)
+                    {
+                        curItemKey = "0";
+                        btnTipSelected.IsSelected = false;
+                        btnLastSelectedTip = null;
+                    }
+                    else
+                    {
+                        curItemKey = item.Key;
+                        if (btnLastSelectedTip != null)
+                        {
+                            btnLastSelectedTip.IsSelected = false;
+                        }
+                        btnTipSelected.IsSelected = true;
+                        btnLastSelectedTip = btnTipSelected;
+                    }
+                };
+
+            }
+
+            //Button btn1 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "30s",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(20),
+            //    Y = Application.GetRealHeight(80),
+            //    IsSelected = curItemKey == "30"
+            //};
+            //optionBaseView.AddChidren(btn1);
 
 
-            Button btn4 = new Button()
-            {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "5min",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(195),
-                Y = Application.GetRealHeight(140),
-                IsSelected = changeDelay == "300"
-            };
-            optionBaseView.AddChidren(btn4);
+            //Button btn2 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "1min",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(195),
+            //    Y = Application.GetRealHeight(80),
+            //    IsSelected = curItemKey == "60"
+            //};
+            //optionBaseView.AddChidren(btn2);
+
+
+            //Button btn3 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "2min",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(20),
+            //    Y = Application.GetRealHeight(140),
+            //    IsSelected = curItemKey == "120"
+            //};
+            //optionBaseView.AddChidren(btn3);
+
+
+            //Button btn4 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "5min",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(195),
+            //    Y = Application.GetRealHeight(140),
+            //    IsSelected = curItemKey == "300"
+            //};
+            //optionBaseView.AddChidren(btn4);
 
 
 
@@ -702,65 +814,65 @@
             };
             btnConfrim.MouseUpEventHandler = (sender, e) =>
             {
-                action(changeDelay);
+                action(curItemKey);
                 dialog.Close();
             };
-            btn1.MouseUpEventHandler = (sender, e) => {
-                btn1.IsSelected = !btn1.IsSelected;
-                btn2.IsSelected = false;
-                btn3.IsSelected = false;
-                btn4.IsSelected = false;
-                if(btn1.IsSelected)
-                {
-                    changeDelay = "30";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }       
-            };
-            btn2.MouseUpEventHandler = (sender, e) => {
-                btn2.IsSelected = !btn2.IsSelected;
-                btn1.IsSelected = false;
-                btn3.IsSelected = false;
-                btn4.IsSelected = false;
-                if (btn2.IsSelected)
-                {
-                    changeDelay = "60";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }
-            };
-            btn3.MouseUpEventHandler = (sender, e) => {
-                btn3.IsSelected = !btn3.IsSelected;
-                btn2.IsSelected = false;
-                btn1.IsSelected = false;
-                btn4.IsSelected = false;
-                if (btn3.IsSelected)
-                {
-                    changeDelay = "120";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }
-            };
-            btn4.MouseUpEventHandler = (sender, e) => {
-                btn4.IsSelected = !btn4.IsSelected;
-                btn2.IsSelected = false;
-                btn3.IsSelected = false;
-                btn1.IsSelected = false;
-                if (btn4.IsSelected)
-                {
-                    changeDelay = "300";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }
-            };
+            //btn1.MouseUpEventHandler = (sender, e) => {
+            //    btn1.IsSelected = !btn1.IsSelected;
+            //    btn2.IsSelected = false;
+            //    btn3.IsSelected = false;
+            //    btn4.IsSelected = false;
+            //    if(btn1.IsSelected)
+            //    {
+            //        curItemKey = "30";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }       
+            //};
+            //btn2.MouseUpEventHandler = (sender, e) => {
+            //    btn2.IsSelected = !btn2.IsSelected;
+            //    btn1.IsSelected = false;
+            //    btn3.IsSelected = false;
+            //    btn4.IsSelected = false;
+            //    if (btn2.IsSelected)
+            //    {
+            //        curItemKey = "60";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }
+            //};
+            //btn3.MouseUpEventHandler = (sender, e) => {
+            //    btn3.IsSelected = !btn3.IsSelected;
+            //    btn2.IsSelected = false;
+            //    btn1.IsSelected = false;
+            //    btn4.IsSelected = false;
+            //    if (btn3.IsSelected)
+            //    {
+            //        curItemKey = "120";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }
+            //};
+            //btn4.MouseUpEventHandler = (sender, e) => {
+            //    btn4.IsSelected = !btn4.IsSelected;
+            //    btn2.IsSelected = false;
+            //    btn3.IsSelected = false;
+            //    btn1.IsSelected = false;
+            //    if (btn4.IsSelected)
+            //    {
+            //        curItemKey = "300";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }
+            //};
 
         }
 

--
Gitblit v1.8.0