From adc150efb13a0506f45a3c344c3ee2ef2dba8e90 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:19:13 +0800
Subject: [PATCH] 合并嘉乐lc代码

---
 HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs |  229 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 229 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs b/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs
new file mode 100644
index 0000000..a8d8520
--- /dev/null
+++ b/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs
@@ -0,0 +1,229 @@
+锘�
+using System;
+using Shared;
+using HDL_ON.UI.CSS;
+
+namespace HDL_ON.UI
+{
+    /// <summary>
+    /// 閫氱敤浜屾纭鐣岄潰
+    /// 鍙互鑷畾涔夋寜閽枃瀛椼�佹彁绀哄唴瀹规敮鎸佸琛屾樉绀�
+    /// </summary>
+    public class ConfirmDialog : Dialog
+    {
+        /// bodyView
+        /// </summary>
+        FrameLayout bodyView;
+        /// <summary>
+        /// 鏄惁鍔犺浇鎶ヨ棰滆壊绐楀彛(绾㈣壊)
+        /// </summary>
+        bool isAlarmColor = false;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public ConfirmDialog()
+        {
+
+        }
+        /// <summary>
+        /// 
+        /// </summary>
+        public ConfirmDialog(bool isAlarmColor)
+        {
+            this.isAlarmColor = isAlarmColor;
+        }
+
+        /// <summary>
+        /// 鍒濆鍖朌ialog
+        /// </summary>
+        /// <param name="titleStr"></param>
+        /// <param name="msgStr"></param>
+        /// <param name="okAction"></param>
+        /// <param name="cancelAction"></param>
+        /// <param name="cancelID"></param>
+        /// <param name="confirmID"></param>
+        void ShowDialogBase(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm)
+        {
+            this.BackgroundColor = CSS_Color.DialogTransparentColor1;
+
+            if (bodyView != null && bodyView.Parent != null)
+            {
+                bodyView.RemoveFromParent();
+            }
+
+            bodyView = new FrameLayout();
+            this.AddChidren(bodyView);
+
+            FrameLayout contentView = new FrameLayout()
+            {
+                Gravity = Gravity.Center,
+                Width = Application.GetRealWidth(270),
+                Height = Application.GetRealHeight(140),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                BorderColor = 0x00000000,
+                BorderWidth = 0,
+                Radius = (uint)Application.GetMinRealAverage(10),
+            };
+            bodyView.AddChidren(contentView);
+
+            Button btnTitle = new Button()
+            {
+                Y = Application.GetRealHeight(20),
+                Height = Application.GetRealHeight(22),
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextAlignment = TextAlignment.Center,
+                IsBold = true,
+                Text = titleStr,
+            };
+            contentView.AddChidren(btnTitle);
+            int Width135 = Application.GetRealWidth(135);
+            //鎻愮ず鍐呭鎸夐挳
+            Button btnMsg = new Button()
+            {
+                Y = btnTitle.Bottom + Application.GetRealHeight(4),
+                X = Application.GetRealWidth(6),
+                Height = Application.GetRealHeight(46),
+                Width = Application.GetRealWidth(258),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                Text = msgStr,
+                IsMoreLines = true,
+            };
+            contentView.AddChidren(btnMsg);
+
+            Button btnLine = new Button()
+            {
+                Y = Application.GetRealHeight(96),
+                Height = Application.GetRealHeight(1),
+                Width = Application.GetRealWidth(270 / 2),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            };
+            contentView.AddChidren(btnLine);
+
+            Button btnCancel = new Button()
+            {
+                Y = btnLine.Bottom,
+                Width = Width135,
+                Height = Application.GetRealHeight(43),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextID = cancelID,
+            };
+            contentView.AddChidren(btnCancel);
+
+            Button btnConfirm = new Button()
+            {
+                X = contentView.Width - Width135,
+                Y = btnLine.Y,
+                Width = Width135,
+                Height = Application.GetRealHeight(45),
+                TextAlignment = TextAlignment.Center,
+                //TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.MainBackgroundColor,
+                BackgroundColor = CSS_Color.MainColor,
+                TextID = confirmID,
+            };
+            contentView.AddChidren(btnConfirm);
+            //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
+            int mRectCornerID = HDLUtils.RectCornerBottomRight;
+            btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
+
+            btnCancel.MouseUpEventHandler += (sender, e) =>
+            {
+                this.Close();
+                cancelAction?.Invoke();
+            };
+
+            btnConfirm.MouseUpEventHandler += (sender, e) =>
+            {
+                this.Close();
+                okAction?.Invoke();
+            };
+
+            //this.Show();
+            if(isAlarmColor)
+            {
+                btnTitle.TextColor = CSS_Color.WarningColor;
+                btnConfirm.TextColor = CSS_Color.MainBackgroundColor;
+                btnConfirm.BackgroundColor = CSS_Color.WarningColor;
+            }
+        }
+
+        /// <summary>
+        /// 鍔犺浇鎻愮ずDialog
+        /// </summary>
+        /// <param name="titleId"></param>
+        /// <param name="msgId"></param>
+        /// <param name="callBackAction"></param>
+        public void ShowDialog(int titleId, int msgId, Action okAction, Action cancelAction = null)
+        {
+            this.ShowDialogBase(Language.StringByID(titleId), Language.StringByID(msgId), okAction, cancelAction);
+            this.Show();
+        }
+
+        /// <summary>
+        /// 鍔犺浇鎻愮ずDialog
+        /// 鍙互鑷畾涔夋寜閽枃瀛�
+        /// </summary>
+        /// <param name="titleId"></param>
+        /// <param name="msgId"></param>
+        /// <param name="okAction"></param>
+        /// <param name="cancelAction"></param>
+        /// <param name="cancelID"></param>
+        /// <param name="confirmID"></param>
+        public void ShowDialog(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID, int confirmID)
+        {
+            this.ShowDialogBase(Language.StringByID(titleId), Language.StringByID(msgId), okAction, cancelAction, cancelID, confirmID);
+            this.Show();
+        }
+
+        /// <summary>
+        /// 鍔犺浇鎻愮ずDialog
+        /// </summary>
+        /// <param name="titleId"></param>
+        /// <param name="msgId"></param>
+        /// <param name="callBackAction"></param>
+        public void ShowDialog(string titleStr, string msgStr, Action okAction, Action cancelAction = null)
+        {
+            this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction);
+            this.Show();
+        }
+
+        /// <summary>
+        /// 鍔犺浇鎻愮ずDialog
+        /// 鍙互鑷畾涔夋寜閽枃瀛�
+        /// </summary>
+        /// <param name="titleStr"></param>
+        /// <param name="msgStr"></param>
+        /// <param name="okAction"></param>
+        /// <param name="cancelAction"></param>
+        /// <param name="cancelID"></param>
+        /// <param name="confirmID"></param>
+        public void ShowDialog(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID, int confirmID)
+        {
+            this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction, cancelID, confirmID);
+            this.Show();
+        }
+
+        /// <summary>
+        /// RefreshDialog 鍦―ialog娌″叧闂儏鍐典笅璋冪敤
+        /// 鍙互鑷畾涔夋寜閽枃瀛�
+        /// </summary>
+        /// <param name="titleStr"></param>
+        /// <param name="msgStr"></param>
+        /// <param name="okAction"></param>
+        /// <param name="cancelAction"></param>
+        /// <param name="cancelID"></param>
+        /// <param name="confirmID"></param>
+        public void RefreshDialog(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID, int confirmID)
+        {
+            this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction, cancelID, confirmID);
+            //this.Show();涓嶉渶瑕乻how
+        }
+    }
+}

--
Gitblit v1.8.0