From 263401d40b2d9d2c1b36a24f33d45c5cb7192518 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 23 十二月 2020 15:51:54 +0800
Subject: [PATCH] 20201223-6

---
 HDL_ON/UI/UI0-Public/PublicAssmebly.cs |  136 +++++++++++++++++++++++++++------------------
 1 files changed, 81 insertions(+), 55 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
index 00f7b44..4e3c6b1 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,22 @@
 
             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))
+                {
+                    //if (titleId == StringId.ModifyMemberNickname)
+                    //{
+                    //    return;
+                    //}
                     string tipMsgString = "";
-                    if (string.IsNullOrEmpty(editText.Text.Trim()))
+                    if (string.IsNullOrEmpty(text))
                     {
                         tipMsgString = Language.StringByID(errorId_IsNullOrEmpty);
                     }
@@ -58,7 +66,7 @@
                 }
 
 
-                callBackAction(editText.Text.Trim());
+                callBackAction(text);
                 dialog.Close();
             };
         }
@@ -120,10 +128,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) =>
             {
@@ -173,7 +200,7 @@
             {
                 X = btnCancel.Right,
                 Y = btnLine.Y,
-                Width = Application.GetRealWidth(135),
+                Width = Application.GetRealWidth(137),
                 Height = Application.GetRealHeight(43 + 1),
                 TextAlignment = TextAlignment.Center,
                 //TextColor = CSS_Color.TextualColor,
@@ -188,17 +215,10 @@
 
             dialog.Show();
 
-            //btnCancel.MouseDownEventHandler += (sender, e) => {
-            //    btnCancel.IsSelected = true;
-            //};
             btnCancel.MouseUpEventHandler += (sender, e) =>
             {
-                //btnCancel.IsSelected = false;
                 dialog.Close();
             };
-            //btnConfirm.MouseDownEventHandler += (sender, e) => {
-            //    btnConfirm.IsSelected = true;
-            //};
             EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction,
                 contentView, btnLine, btnCancel, editView, dialog, titleId);
         }
@@ -209,7 +229,7 @@
         /// <param name="titleId"></param>
         /// <param name="msgId"></param>
         /// <param name="callBackAction"></param>
-        public void TipMsg(int titleId, int msgId, Action callBackAction)
+        public void TipOptionMsg(int titleId, int msgId, Action callBackAction)
         {
             Dialog dialog = new Dialog()
             {
@@ -250,6 +270,7 @@
                 TextColor = CSS_Color.TextualColor,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 TextID = msgId,
+                IsMoreLines = true,
             };
             contentView.AddChidren(btnMsg);
 
@@ -276,22 +297,12 @@
             };
             contentView.AddChidren(btnCancel);
 
-            //Button btnBottomLine = new Button()
-            //{
-            //    X = btnCancel.Right,
-            //    Y = btnLine.Bottom,
-            //    Height = Application.GetRealHeight(43),
-            //    Width = Application.GetRealWidth(1),
-            //    BackgroundColor = CSS_Color.DividingLineColor,
-            //};
-            //contentView.AddChidren(btnBottomLine);
-
             Button btnConfirm = new Button()
             {
                 X = btnCancel.Right,
                 Y = btnLine.Y,
                 Width = Application.GetRealWidth(135),
-                Height = Application.GetRealHeight(43 + 1),
+                Height = Application.GetRealHeight(45),
                 TextAlignment = TextAlignment.Center,
                 //TextColor = CSS_Color.TextualColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
@@ -334,20 +345,31 @@
         /// <param name="isWhite"></param>
         public void TipMsgAutoClose(string msg, bool isWhite, int closeTime = 1500)
         {
-            Dialog dialog = new Dialog()
+            Dialog dialog = new Dialog();
+
+            FrameLayout dialogBody = new FrameLayout();
+            dialog.AddChidren(dialogBody);
+            dialogBody.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+                dialog = null;
+            };
+
+            FrameLayout frame = new FrameLayout()
             {
                 X = Application.GetRealWidth(89),
                 Y = Application.GetRealHeight(285),
                 Width = Application.GetRealWidth(198),
                 Height = Application.GetRealHeight(98),
-            };
-
-            FrameLayout frame = new FrameLayout()
-            {
                 BackgroundColor = isWhite ? 0xE6FFFFFF : CSS_Color.DialogTransparentColor1,
                 Radius = (uint)Application.GetRealWidth(12),
             };
             dialog.AddChidren(frame);
+            frame.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+                dialog = null;
+            };
 
             Button btnTipIcon = new Button()
             {
@@ -367,6 +389,7 @@
                 TextSize = CSS_FontSize.TextFontSize,
                 TextColor = isWhite ? CSS_Color.FirstLevelTitleColor : CSS_Color.MainBackgroundColor,
                 Text = msg,
+                IsMoreLines = true,
             };
             frame.AddChidren(btnTipMsg);
 
@@ -377,7 +400,10 @@
                 Thread.Sleep(closeTime);
                 Application.RunOnMainThread(() =>
                 {
-                    dialog.Close();
+                    if(dialog!=null)
+                    {
+                        dialog.Close();
+                    }
                 });
             })
             { IsBackground = true }.Start();
@@ -388,7 +414,7 @@
         /// </summary>
         /// <param name="titleId"></param>
         /// <param name="msgId"></param>
-        public void TipMsg(int titleId, int msgId)
+        public void TipMsg(int titleId, int msgId,Action action = null)
         {
             Dialog dialog = new Dialog()
             {
@@ -429,6 +455,7 @@
                 TextColor = CSS_Color.TextualColor,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 TextID = msgId,
+                IsMoreLines = true,
             };
             contentView.AddChidren(btnMsg);
 
@@ -462,6 +489,7 @@
             btnConfirm.MouseUpEventHandler += (sender, e) =>
             {
                 btnConfirm.IsSelected = false;
+                action?.Invoke();
                 dialog.Close();
             };
 
@@ -541,12 +569,10 @@
         /// 鍦烘櫙寤舵椂璁剧疆寮圭獥
         /// </summary>
         /// <param name="function"></param>
-        public void SetSceneDelayDialog(Function function,Button btn)
+        public void SetSceneDelayDialog(Action<string> action,string changeDelay)
         {
             Button lastButton = new Button();
-            int changeDelay = 0;
             Dialog dialog = new Dialog();
-
             var pView = new FrameLayout()
             {
                 BackgroundColor = CSS_Color.DialogTransparentColor1,
@@ -601,11 +627,12 @@
 
             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);
 
@@ -624,7 +651,7 @@
                 SelectedBackgroundColor = CSS_Color.MainColor,
                 X = Application.GetRealWidth(20),
                 Y = Application.GetRealHeight(80),
-                IsSelected = function.delayText == "30s"
+                IsSelected = changeDelay == "30"
             };
             optionBaseView.AddChidren(btn1);
 
@@ -644,7 +671,7 @@
                 SelectedBackgroundColor = CSS_Color.MainColor,
                 X = Application.GetRealWidth(195),
                 Y = Application.GetRealHeight(80),
-                IsSelected = function.delayText == "1min"
+                IsSelected = changeDelay == "60"
             };
             optionBaseView.AddChidren(btn2);
 
@@ -664,7 +691,7 @@
                 SelectedBackgroundColor = CSS_Color.MainColor,
                 X = Application.GetRealWidth(20),
                 Y = Application.GetRealHeight(140),
-                IsSelected = function.delayText == "2min"
+                IsSelected = changeDelay == "120"
             };
             optionBaseView.AddChidren(btn3);
 
@@ -684,7 +711,7 @@
                 SelectedBackgroundColor = CSS_Color.MainColor,
                 X = Application.GetRealWidth(195),
                 Y = Application.GetRealHeight(140),
-                IsSelected = function.delayText == "5min"
+                IsSelected = changeDelay == "300"
             };
             optionBaseView.AddChidren(btn4);
 
@@ -704,9 +731,8 @@
             };
             btnConfrim.MouseUpEventHandler = (sender, e) =>
             {
+                action(changeDelay);
                 dialog.Close();
-                function.delay = changeDelay;
-                btn.Text = function.delayText;
             };
             btn1.MouseUpEventHandler = (sender, e) => {
                 btn1.IsSelected = !btn1.IsSelected;
@@ -715,11 +741,11 @@
                 btn4.IsSelected = false;
                 if(btn1.IsSelected)
                 {
-                    changeDelay = 30;
+                    changeDelay = "30";
                 }
                 else
                 {
-                    changeDelay = 0;
+                    changeDelay = "0";
                 }       
             };
             btn2.MouseUpEventHandler = (sender, e) => {
@@ -729,11 +755,11 @@
                 btn4.IsSelected = false;
                 if (btn2.IsSelected)
                 {
-                    changeDelay = 60;
+                    changeDelay = "60";
                 }
                 else
                 {
-                    changeDelay = 0;
+                    changeDelay = "0";
                 }
             };
             btn3.MouseUpEventHandler = (sender, e) => {
@@ -743,11 +769,11 @@
                 btn4.IsSelected = false;
                 if (btn3.IsSelected)
                 {
-                    changeDelay = 120;
+                    changeDelay = "120";
                 }
                 else
                 {
-                    changeDelay = 0;
+                    changeDelay = "0";
                 }
             };
             btn4.MouseUpEventHandler = (sender, e) => {
@@ -757,11 +783,11 @@
                 btn1.IsSelected = false;
                 if (btn4.IsSelected)
                 {
-                    changeDelay = 300;
+                    changeDelay = "300";
                 }
                 else
                 {
-                    changeDelay = 0;
+                    changeDelay = "0";
                 }
             };
 

--
Gitblit v1.8.0