예제 #1
0
 public static DialogResult Show(MessageBoxTypes MessageBoxType, string Message)
 {
     using (var frm = new ALMessageForm(MessageBoxType, Message))
     {
         return(frm.ShowDialog());
     }
 }
예제 #2
0
 public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
 {
     if (callback != null)
     {
         callback(MessageBoxResult.Cancel);
     }
 }
        private async void showAsync(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
                #endif
        {
                        #if WINDOWS_PHONE
            WinRTPlugin.Dispatcher.BeginInvoke(delegate()
            {
                // XNA method
                Microsoft.Xna.Framework.GamerServices.Guide.BeginShowMessageBox(title, message,
                                                                                new System.Collections.Generic.List <string> {
                    options.OkButtonName, options.CancelButtonText
                }, 0, Microsoft.Xna.Framework.GamerServices.MessageBoxIcon.Error,
                                                                                asyncResult =>
                {
                    int?result = Microsoft.Xna.Framework.GamerServices.Guide.EndShowMessageBox(asyncResult);
                    ReignServices.InvokeOnUnityThread(delegate
                    {
                        if (callback != null)
                        {
                            callback(result == 0 ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
                        }
                    });
                }, null);

                // Silverlight method. (Doesn't support custom named buttons)
                //var result = MessageBox.Show(message, title, type == MessageBoxTypes.Ok ? MessageBoxButton.OK : MessageBoxButton.OKCancel);
                //if (callback != null) callback(result == System.Windows.MessageBoxResult.OK ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
            });
                        #else
            await WinRTPlugin.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async delegate()
            {
                var msg = new MessageDialog(message, title);
                if (type == MessageBoxTypes.Ok)
                {
                    await msg.ShowAsync();
                    ReignServices.InvokeOnUnityThread(delegate
                    {
                        if (callback != null)
                        {
                            callback(MessageBoxResult.Ok);
                        }
                    });
                }
                else if (type == MessageBoxTypes.OkCancel)
                {
                    bool result = false;
                    msg.Commands.Add(new UICommand(options.OkButtonName, new UICommandInvokedHandler((cmd) => result     = true)));
                    msg.Commands.Add(new UICommand(options.CancelButtonText, new UICommandInvokedHandler((cmd) => result = false)));
                    await msg.ShowAsync();
                    ReignServices.InvokeOnUnityThread(delegate
                    {
                        if (callback != null)
                        {
                            callback(result ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
                        }
                    });
                }
            });
                        #endif
        }
예제 #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="title">MessageBox Title.</param>
 /// <param name="message">MessageBox Message.</param>
 /// <param name="type">MessageBox Type.</param>
 /// <param name="options">MessageBox Options.</param>
 /// <param name="callback">The callback that fires when done.</param>
 public static void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
 {
     if (options == null)
     {
         options = new MessageBoxOptions();
     }
     plugin.Show(title, message, type, options, callback);
 }
예제 #5
0
        public ALMessageForm(MessageBoxTypes MessageBoxType) : this()
        {
            _MessageBoxType = MessageBoxType;

            switch (_MessageBoxType)
            {
            case MessageBoxTypes.Error:
                pnlHeader.BackColor = Color.Crimson;
                pbIcon.Image        = Properties.Resources.Error_96x96_;
                lblTitle.Text       = "Error";
                btn2.Visible        = true;
                btn2.Text           = "Ok";
                btn2.Image          = Properties.Resources.Done_32x32_;
                break;

            case MessageBoxTypes.Information:
                pnlHeader.BackColor = Color.RoyalBlue;
                pbIcon.Image        = Properties.Resources.Information_128x128_;
                lblTitle.Text       = "Information";
                btn2.Visible        = true;
                btn2.Text           = "Ok";
                btn2.Image          = Properties.Resources.Done_32x32_;
                break;

            case MessageBoxTypes.Message:
                pnlHeader.BackColor = Color.Green;
                pbIcon.Image        = Properties.Resources.Message_96x96_;
                lblTitle.Text       = "Message";
                btn2.Visible        = true;
                btn2.Text           = "OK";
                btn2.Image          = Properties.Resources.Done_32x32_;
                break;

            case MessageBoxTypes.Question:
                pnlHeader.BackColor = Color.DimGray;
                pbIcon.Image        = Properties.Resources.Question_128x128_;
                lblTitle.Text       = "Question";
                btn1.Visible        = true;
                btn1.Text           = "Yes";
                btn1.Image          = Properties.Resources.Done_32x32_;
                btn2.Visible        = true;
                btn2.Text           = "No";
                btn2.Image          = Properties.Resources.Error_32x32_;
                break;

            case MessageBoxTypes.Warning:
                pnlHeader.BackColor = Color.Gold;
                pbIcon.Image        = Properties.Resources.Warning_96x96_;
                lblTitle.Text       = "Warning";
                btn2.Visible        = true;
                btn2.Text           = "Ok";
                btn2.Image          = Properties.Resources.Done_32x32_;
                break;
            }
        }
예제 #6
0
        private int convertType(MessageBoxTypes type)
        {
            switch (type)
            {
            case MessageBoxTypes.Ok: return(0);

            case MessageBoxTypes.OkCancel: return(1);

            default: throw new Exception("Unsuported MessageBoxType: " + type);
            }
        }
		public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
		{
			if (type == MessageBoxTypes.Ok)
			{
				EditorUtility.DisplayDialog(title, message, options.OkButtonName);
				if (callback != null) callback(MessageBoxResult.Ok);
			}
			else
			{
				bool value = EditorUtility.DisplayDialog(title, message, options.OkButtonName, options.CancelButtonText);
				if (callback != null) callback(value ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
			}
		}
		public void Show(string title, string message, MessageBoxTypes type, MessageBoxCallback callback)
		{
			if (type == MessageBoxTypes.Ok)
			{
				MessageBox(IntPtr.Zero, message, title, MB_OK);
				if (callback != null) callback(MessageBoxResult.Ok);
			}
			else
			{
				int result = MessageBox(IntPtr.Zero, message, title, MB_OKCANCEL);
				if (callback != null) callback(result != IDCANCEL ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
			}
		}
		public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
		{
			if (type == MessageBoxTypes.Ok)
			{
				MessageBoxShow(title, message, 0);
				if (callback != null) callback(MessageBoxResult.Ok);
			}
			else
			{
				int result = MessageBoxShow(title, message, 1);
				Debug.Log("VALUE: " + result);
				if (callback != null) callback(result == 1 ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
			}
		}
예제 #10
0
        /// <summary>
        /// Creates the boxes usings each line's text and arguments.
        /// </summary>
        private IEnumerator CreateBoxes()
        {
            while (currentLine <= endLine)
            {
                currentType = currentMessage.messageBoxArguments [currentLine].type;

                string[]      currentLines = GetRespectiveLines();
                TextboxArgs[] args         = GetRespectiveArgs <TextboxArgs>().ToArray();
                Textbox       boxToAdd     = boxDelegates [(int)currentType] (currentLines, args);

                messageBoxes.Enqueue(boxToAdd);
                currentLine += currentMessageLineCount;
            }
            yield return(StartCoroutine(Render()));
        }
		private async void showAsync(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
		#endif
		{
			#if WINDOWS_PHONE
			WinRTPlugin.Dispatcher.BeginInvoke(delegate()
			{
				// XNA method
				Microsoft.Xna.Framework.GamerServices.Guide.BeginShowMessageBox(title, message,
				new System.Collections.Generic.List<string> {options.OkButtonName, options.CancelButtonText}, 0, Microsoft.Xna.Framework.GamerServices.MessageBoxIcon.Error,
				asyncResult =>
				{
					int? result = Microsoft.Xna.Framework.GamerServices.Guide.EndShowMessageBox(asyncResult);
					ReignServices.InvokeOnUnityThread(delegate
					{
						if (callback != null) callback(result == 0 ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
					});
				}, null);

				// Silverlight method. (Doesn't support custom named buttons)
				//var result = MessageBox.Show(message, title, type == MessageBoxTypes.Ok ? MessageBoxButton.OK : MessageBoxButton.OKCancel);
				//if (callback != null) callback(result == System.Windows.MessageBoxResult.OK ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
			});
			#else
			await WinRTPlugin.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async delegate()
			{
				var msg = new MessageDialog(message, title);
				if (type == MessageBoxTypes.Ok)
				{
					await msg.ShowAsync();
					ReignServices.InvokeOnUnityThread(delegate
					{
						if (callback != null) callback(MessageBoxResult.Ok);
					});
				}
				else if (type == MessageBoxTypes.OkCancel)
				{
					bool result = false;
					msg.Commands.Add(new UICommand(options.OkButtonName, new UICommandInvokedHandler((cmd) => result = true)));
					msg.Commands.Add(new UICommand(options.CancelButtonText, new UICommandInvokedHandler((cmd) => result = false)));
					await msg.ShowAsync();
					ReignServices.InvokeOnUnityThread(delegate
					{
						if (callback != null) callback(result ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
					});
				}
			});
			#endif
		}
예제 #12
0
 public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
 {
     if (type == MessageBoxTypes.Ok)
     {
         EditorUtility.DisplayDialog(title, message, options.OkButtonName);
         if (callback != null)
         {
             callback(MessageBoxResult.Ok);
         }
     }
     else
     {
         bool value = EditorUtility.DisplayDialog(title, message, options.OkButtonName, options.CancelButtonText);
         if (callback != null)
         {
             callback(value ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
         }
     }
 }
예제 #13
0
        public static void Show(Window owner, string title, string description, MessageBoxTypes mbTypes = MessageBoxTypes.Info)
        {
            var t = StringUtil.GetBytes(title);
            var c = StringUtil.GetBytes(description);

            switch (mbTypes)
            {
            case MessageBoxTypes.Info:
                NativeMethods.MsgBox(owner.handle, t, c);
                break;

            case MessageBoxTypes.Error:
                NativeMethods.MsgBoxError(owner.handle, t, c);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(mbTypes), mbTypes, null);
            }
        }
예제 #14
0
 public void Show(string title, string message, MessageBoxTypes type, MessageBoxCallback callback)
 {
     if (type == MessageBoxTypes.Ok)
     {
         MessageBox(IntPtr.Zero, message, title, MB_OK);
         if (callback != null)
         {
             callback(MessageBoxResult.Ok);
         }
     }
     else
     {
         int result = MessageBox(IntPtr.Zero, message, title, MB_OKCANCEL);
         if (callback != null)
         {
             callback(result != IDCANCEL ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
         }
     }
 }
예제 #15
0
 public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
 {
     if (type == MessageBoxTypes.Ok)
     {
         MessageBoxShow(title, message, 0);
         if (callback != null)
         {
             callback(MessageBoxResult.Ok);
         }
     }
     else
     {
         int result = MessageBoxShow(title, message, 1);
         Debug.Log("VALUE: " + result);
         if (callback != null)
         {
             callback(result == 1 ? MessageBoxResult.Ok : MessageBoxResult.Cancel);
         }
     }
 }
 public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
 {
     Native.Show(title, message, type, options, callback);
 }
		public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
		{
			this.callback = callback;
			ShowMessageBox(title, message, options.OkButtonName, options.CancelButtonText, type == MessageBoxTypes.Ok ? 0 : 1);
		}
예제 #18
0
 public ALMessageForm(MessageBoxTypes MessageBoxType, string Message) : this(MessageBoxType)
 {
     lblMessage.Text = Message;
 }
예제 #19
0
 public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
 {
     this.callback = callback;
     native.CallStatic("Show", title, message, options.OkButtonName, options.CancelButtonText, convertType(type));
 }
		private void showAsync(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
			public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
			{
				if (callback != null) callback(MessageBoxResult.Cancel);
			}
예제 #22
0
 /// <summary>
 /// Use to show an OK or OK/Cancel message box.
 /// </summary>
 /// <param name="title">MessageBox Title.</param>
 /// <param name="message">MessageBox Message.</param>
 /// <param name="type">MessageBox Type.</param>
 /// <param name="callback">The callback that fires when done.</param>
 public static void Show(string title, string message, MessageBoxTypes type, MessageBoxCallback callback)
 {
     plugin.Show(title, message, type, new MessageBoxOptions(), callback);
 }
예제 #23
0
 public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
 {
     this.callback = callback;
     ShowMessageBox(title, message, options.OkButtonName, options.CancelButtonText, type == MessageBoxTypes.Ok ? 0 : 1);
 }
예제 #24
0
        public static DialogResults Show(string message, MessageBoxTypes msgType = MessageBoxTypes.Info, MessageBoxButtons buttons = MessageBoxButtons.OkCancel, SummerGUIWindow parent = null)
        {
            // *** Icon
            FontAwesomeIcons icon         = FontAwesomeIcons.fa_anchor;
            ColorContexts    colorContext = ColorContexts.Default;

            // init icon
            switch (msgType)
            {
            case MessageBoxTypes.Info:
                icon         = FontAwesomeIcons.fa_info_circle;
                colorContext = ColorContexts.Information;
                break;

            case MessageBoxTypes.Success:
                icon         = FontAwesomeIcons.fa_exclamation_circle;
                colorContext = ColorContexts.Success;
                break;

            case MessageBoxTypes.Warning:
                icon         = FontAwesomeIcons.fa_warning;
                colorContext = ColorContexts.Warning;
                break;

            case MessageBoxTypes.Error:
                icon         = FontAwesomeIcons.fa_times_circle;
                colorContext = ColorContexts.Danger;
                break;

            case MessageBoxTypes.Question:
                icon         = FontAwesomeIcons.fa_question_circle;
                colorContext = ColorContexts.Question;
                break;

            case MessageBoxTypes.Help:
                icon         = FontAwesomeIcons.fa_life_ring;
                colorContext = ColorContexts.Success;
                break;
            }

            MessageBoxOverlay box = new MessageBoxOverlay(parent, colorContext);

            box.InitIconImage((char)icon, colorContext);

            // *** Buttons
            box.InitButtons(buttons, colorContext);
            box.InitText(message.TrimRightLinebreaks() + "\n", colorContext);

            if (msgType == MessageBoxTypes.Error)
            {
                //box.InitCopyButton ();
            }

            box.Style.BackColorBrush.Color =
                Color.FromArgb(30, Color.DarkSlateGray);
            /*** ***/

            box.Show(parent);
            box.Focus();

            return(DialogResults.OK);

            /***
             * if (box != null)
             *      box.Dispose ();
             * return box.Result;
             ***/
        }
		/// <summary>
		/// Use to show an OK or OK/Cancel message box.
		/// </summary>
		/// <param name="title">MessageBox Title.</param>
		/// <param name="message">MessageBox Message.</param>
		/// <param name="type">MessageBox Type.</param>
		/// <param name="callback">The callback that fires when done.</param>
		public static void Show(string title, string message, MessageBoxTypes type, MessageBoxCallback callback)
		{
			plugin.Show(title, message, type, new MessageBoxOptions(), callback);
		}
예제 #26
0
        public static DialogResults Show(string caption, string message, MessageBoxTypes msgType = MessageBoxTypes.Info, MessageBoxButtons buttons = MessageBoxButtons.OkCancel, SummerGUIWindow parent = null)
        {
            float scaling = 1;

            if (parent != null)
            {
                scaling = parent.ScaleFactor;
            }

            MessageBoxWindow box = new MessageBoxWindow("MsgBox", caption, (DefaultWidth * scaling).Ceil(), (DefaultHeight * scaling).Ceil(), parent);

            // *** Icon

            FontAwesomeIcons icon         = FontAwesomeIcons.fa_anchor;
            ColorContexts    colorContext = ColorContexts.Default;

            // init icon
            switch (msgType)
            {
            case MessageBoxTypes.Info:
                icon         = FontAwesomeIcons.fa_info_circle;
                colorContext = ColorContexts.Information;
                break;

            case MessageBoxTypes.Success:
                icon         = FontAwesomeIcons.fa_exclamation_circle;
                colorContext = ColorContexts.Success;
                break;

            case MessageBoxTypes.Warning:
                icon         = FontAwesomeIcons.fa_warning;
                colorContext = ColorContexts.Warning;
                break;

            case MessageBoxTypes.Error:
                icon         = FontAwesomeIcons.fa_times_circle;
                colorContext = ColorContexts.Danger;
                break;

            case MessageBoxTypes.Question:
                icon         = FontAwesomeIcons.fa_question_circle;
                colorContext = ColorContexts.Question;
                break;

            case MessageBoxTypes.Help:
                icon         = FontAwesomeIcons.fa_life_ring;
                colorContext = ColorContexts.Success;
                break;
            }

            box.InitIconImage((char)icon, colorContext);

            // *** Buttons
            box.InitButtons(buttons);
            box.InitText(message);

            if (msgType == MessageBoxTypes.Error)
            {
                box.InitCopyButton();
            }

            box.ShowInTaskBar = false;
            box.Show(parent);
            if (box != null)
            {
                box.Dispose();
            }

            return(box.Result);
        }
 private void showAsync(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
		public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
		{
			Native.Show(title, message, type, options, callback);
		}
예제 #29
0
        public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
        {
            const string okContextID = "okButton", cancelContextID = "cancelButton";

            dialog_request_events(0);
            if (dialog_create_alert(ref dialog) != 0)
            {
                return;
            }
            if (dialog_set_title_text(dialog, title) != 0)
            {
                dispose();
                return;
            }

            if (dialog_set_alert_message_text(dialog, message) != 0)
            {
                dispose();
                return;
            }

            if (dialog_add_button(dialog, options.OkButtonName, true, okContextID, true) != 0)
            {
                dispose();
                return;
            }

            if (type == MessageBoxTypes.OkCancel && dialog_add_button(dialog, options.CancelButtonText, true, cancelContextID, true) != 0)
            {
                dispose();
                return;
            }

            if (dialog_show(dialog) != 0)
            {
                dispose();
                return;
            }

            // wait for messge box event
            while (true)
            {
                IntPtr _event = IntPtr.Zero;
                Common.bps_get_event(ref _event, -1);                // wait here for next event
                if (_event != IntPtr.Zero)
                {
                    if (dialog_get_domain() == Common.bps_event_get_domain(_event))
                    {
                        var context = dialog_event_get_selected_context(_event);
                        if (context != IntPtr.Zero)
                        {
                            if (Marshal.PtrToStringAnsi(context) == okContextID)
                            {
                                if (callback != null)
                                {
                                    callback(MessageBoxResult.Ok);
                                }
                                break;
                            }

                            if (Marshal.PtrToStringAnsi(context) == cancelContextID)
                            {
                                if (callback != null)
                                {
                                    callback(MessageBoxResult.Cancel);
                                }
                                break;
                            }
                        }
                    }
                }
            }

            dispose();
        }
		/// <summary>
		/// 
		/// </summary>
		/// <param name="title">MessageBox Title.</param>
		/// <param name="message">MessageBox Message.</param>
		/// <param name="type">MessageBox Type.</param>
		/// <param name="options">MessageBox Options.</param>
		/// <param name="callback">The callback that fires when done.</param>
		public static void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
		{
			if (options == null) options = new MessageBoxOptions();
			plugin.Show(title, message, type, options, callback);
		}
예제 #31
0
 public static void Show(string title, string description = ".NET Core wapper of libui", MessageBoxTypes mbTypes = MessageBoxTypes.Info)
 {
     Show(Application.MainWindow, title, description, mbTypes);
 }
		public void Show(string title, string message, MessageBoxTypes type, MessageBoxOptions options, MessageBoxCallback callback)
		{
			const string okContextID = "okButton", cancelContextID = "cancelButton";
		
			dialog_request_events(0);
			if (dialog_create_alert(ref dialog) != 0) return;
			if (dialog_set_title_text(dialog, title) != 0)
			{
				dispose();
				return;
			}
			
			if (dialog_set_alert_message_text(dialog, message) != 0)
			{
				dispose();
				return;
			}
			
			if (dialog_add_button(dialog, options.OkButtonName, true, okContextID, true) != 0)
			{
				dispose();
				return;
			}
			
			if (type == MessageBoxTypes.OkCancel && dialog_add_button(dialog, options.CancelButtonText, true, cancelContextID, true) != 0)
			{
				dispose();
				return;
			}
			
			if (dialog_show(dialog) != 0)
			{
				dispose();
				return;
			}
			
			// wait for messge box event
			while (true)
			{
				IntPtr _event = IntPtr.Zero;
				Common.bps_get_event(ref _event, -1);// wait here for next event
				if (_event != IntPtr.Zero)
				{
					if (dialog_get_domain() == Common.bps_event_get_domain(_event))
					{
						var context = dialog_event_get_selected_context(_event);
						if (context != IntPtr.Zero)
						{
							if (Marshal.PtrToStringAnsi(context) == okContextID)
							{
								if (callback != null) callback(MessageBoxResult.Ok);
								break;
							}
							
							if (Marshal.PtrToStringAnsi(context) == cancelContextID)
							{
								if (callback != null) callback(MessageBoxResult.Cancel);
								break;
							}
						}
					}
				}
			}
			
			dispose();
		}