Exemplo n.º 1
0
        public static void Show(string title, string text, DialogBoxButtons buttons, DialogResultEventHandler eventHandler)
        {
            DialogBoxParameters dbParams = new DialogBoxParameters();
            Size hudSize = UI.CurrentHud.Size;

            dbParams.DialogSize         = new Size(500, 250);
            dbParams.DialogPos          = new Vector2(hudSize.Width / 2 - dbParams.DialogSize.Width / 2, hudSize.Height / 2 - dbParams.DialogSize.Height / 2);
            dbParams.BtnOKSize          = new Size(90, 30);
            dbParams.BtnCancelSize      = new Size(90, 30);
            dbParams.ShowCaptionBar     = true;
            dbParams.BtnOKTextColor     = Color.White;
            dbParams.BtnCancelTextColor = Color.White;

            if (buttons == DialogBoxButtons.YesNo)
            {
                dbParams.BtnOKText     = "Yes";
                dbParams.BtnCancelText = "No";
            }
            else
            {
                dbParams.BtnOKText     = "Ok";
                dbParams.BtnCancelText = "Cancel";
            }
            if (buttons == DialogBoxButtons.Ok)
            {
                dbParams.BtnOKPos = new Vector2(394, 178);
            }
            else
            {
                dbParams.BtnOKPos     = new Vector2(299, 178);
                dbParams.BtnCancelPos = new Vector2(394, 178);
            }

            Show(title, text, buttons, dbParams, eventHandler);
        }
Exemplo n.º 2
0
        DialogBox(string title, DialogBoxParameters dbParams, string text, DialogBoxButtons buttons) : base(
                string.Format("{0}_Dialog{1}", title, UI.CurrentHud.WindowManager.Count),
                title, dbParams.DialogPos, dbParams.DialogSize, defaultColors, dbParams.ShowCaptionBar)

        {
            isModal  = true;
            myParams = dbParams;
            if (myParams.ShowCaptionBar)
            {
                containerPanel.Size = new Size(containerPanel.Size.Width, containerPanel.Size.Height - dbParams.BtnOKSize.Height - 5);
                captionBar.CloseButton.MouseClick +=
                    delegate(BaseControl ctl, MouseEventArgs args)
                {
                    dialogResult = closeBehavior;
                    OnDialogResultAvailable(this, dialogResult);
                };
            }
            else
            {
                containerPanel.Position    = new Vector2();
                containerPanel.Size        = new Size(myParams.DialogSize.Width, myParams.DialogSize.Height - (int)myParams.BtnOKPos.Y);
                borderStyle                = UserInterface.BorderStyle.None;
                containerPanel.BorderStyle = UserInterface.BorderStyle.None;
            }

            BackgroundTexture = myParams.BkgrdTexture;
            TextStyle    ts  = new TextStyle(true, false, false, Color.White, Color.White, 16, "NWN2_TitleB", Alignment.Center, Alignment.Center);
            RichTextArea rta = new RichTextArea(title + "_Rta", new Vector2(0, 0), containerPanel.Size, text, ts);

            if (myParams.MessageFont != null)
            {
                rta.Font = myParams.MessageFont;
            }
            Add(rta);

            switch (buttons)
            {
            default:
            case DialogBoxButtons.Ok:
                closeBehavior = DialogResult.Ok;
                AddOKButton(new MouseEventHandler(ReturnOk));
                break;

            case DialogBoxButtons.OkCancel:
                closeBehavior = DialogResult.Cancel;
                AddOKButton(new MouseEventHandler(ReturnOk));
                AddCancelButton(new MouseEventHandler(ReturnCancel));
                break;

            case DialogBoxButtons.YesNo:
                closeBehavior = DialogResult.No;
                AddOKButton(new MouseEventHandler(ReturnYes));
                AddCancelButton(new MouseEventHandler(ReturnNo));
                break;
            }
        }
Exemplo n.º 3
0
        public static void Show(string title, string text, DialogBoxButtons buttons, DialogBoxParameters dbParams, DialogResultEventHandler eventHandler)
        {
            HUD hud = UI.CurrentHud;

            hud.BeginDesign();
            DialogBox dialog = new DialogBox(title, dbParams, text, buttons);

            hud.Add(dialog);
            hud.WindowManager.BringToFront(dialog);
            hud.EndDesign();
            dialog.DialogResultAvailable += eventHandler;
        }
Exemplo n.º 4
0
        internal void AddButtons(DialogBoxButtons buttons)
        {
            DialogBoxButtonOp btn = (DialogBoxButtonOp)buttons;

            // Sin botones, poner solo Ok
            if (btn == DialogBoxButtonOp.None)
            {
                AddButton("Aceptar", DialogBoxResult.Ok); return;
            }

            // Poner botones seleccionados
            if ((btn & DialogBoxButtonOp.Ok) == DialogBoxButtonOp.Ok)
            {
                AddButton("Aceptar", DialogBoxResult.Ok);
            }

            if ((btn & DialogBoxButtonOp.Yes) == DialogBoxButtonOp.Yes)
            {
                AddButton("Si", DialogBoxResult.Yes);
            }

            if ((btn & DialogBoxButtonOp.No) == DialogBoxButtonOp.No)
            {
                AddButton("No", DialogBoxResult.No);
            }

            if ((btn & DialogBoxButtonOp.Abort) == DialogBoxButtonOp.Abort)
            {
                AddButton("Anular", DialogBoxResult.Abort);
            }

            if ((btn & DialogBoxButtonOp.Retry) == DialogBoxButtonOp.Retry)
            {
                AddButton("Reintentar", DialogBoxResult.Retry);
            }

            if ((btn & DialogBoxButtonOp.Ignore) == DialogBoxButtonOp.Ignore)
            {
                AddButton("Omitir", DialogBoxResult.Ignore);
            }

            if ((btn & DialogBoxButtonOp.IgnoreAll) == DialogBoxButtonOp.IgnoreAll)
            {
                AddButton("Omitir todos", DialogBoxResult.IgnoreAll);
            }

            if ((btn & DialogBoxButtonOp.Cancel) == DialogBoxButtonOp.Cancel)
            {
                AddButton("Cancelar", DialogBoxResult.Cancel);
            }
        }
Exemplo n.º 5
0
        public static DialogResult Show(string text, string title, DialogBoxButtons buttons, DialogBoxSettings settings)
        {
            var dialogBox = new DialogBox(settings, MiyagiSystem.Latest);

            dialogBox.CreateControls(text, title, buttons);

            while (dialogBox.dialogResult == DialogResult.None)
            {
                if (dialogBox.MiyagiSystem == null || !dialogBox.MiyagiSystem.Backend.MessagePump())
                {
                    dialogBox.Close();
                    return(DialogResult.None);
                }
            }

            dialogBox.Close();
            return(dialogBox.dialogResult);
        }
Exemplo n.º 6
0
        public static DialogBoxResult Show(IWin32Window owner, string text, string caption = "", DialogBoxButtons buttons = DialogBoxButtons.Ok, DialogBoxIcon icon = DialogBoxIcon.None, string title = null, int defaultButton = 1, int timeOut = 0, DialogBoxTimeoutResult timeoutResult = DialogBoxTimeoutResult.Timeout, int disable = 0)
        {
            DialogBoxForm dg = new DialogBoxForm()
            {
                Title         = title,
                Message       = text,
                Caption       = caption,
                Image         = icon,
                DefaultButton = defaultButton,
                Timeout       = timeOut,
                TimeoutResult = timeoutResult,
                Disable       = disable,
            };

            dg.AddButtons(buttons);

            return(dg.ShowDialog(owner));
        }
Exemplo n.º 7
0
 public static DialogBoxResult Show(string text, string caption = "", DialogBoxButtons buttons = DialogBoxButtons.Ok, DialogBoxIcon icon = DialogBoxIcon.None, string title = null, int defaultButton = 1, int timeOut = 0, DialogBoxTimeoutResult timeoutResult = DialogBoxTimeoutResult.Timeout, int disable = 0)
 {
     return(Show(null, text, caption, buttons, icon, title, defaultButton, timeOut, timeoutResult, disable));
 }
Exemplo n.º 8
0
        public static DialogResult Show(string title, string message, DialogBoxIcon icon, DialogBoxButtons buttons)
        {
            if (ThundershockPlatform.IsPlatform(Platform.Windows))
            {
                var mainWindow = Process.GetCurrentProcess().MainWindowHandle;

                var type = icon switch
                {
                    DialogBoxIcon.Information => MB_ICONINFORMATION,
                    DialogBoxIcon.Warning => MB_ICONWARNING,
                    DialogBoxIcon.Question => MB_ICONQUESTION,
                    DialogBoxIcon.Error => MB_ICONSTOP,
                    _ => MB_ICONINFORMATION
                } | buttons switch
Exemplo n.º 9
0
        private void CreateControls(string text, string title, DialogBoxButtons buttons)
        {
            Skin dialogBoxSkin       = Skin ?? (Skin = Skin.CreateForDialogBox(this.MiyagiSystem));
            Skin dialogBoxButtonSkin = ButtonSkin ?? (ButtonSkin = Skin.CreateForDialogBoxButton(this.MiyagiSystem));

            // create main panel
            this.Controls.Add(
                this.mainPanel = new Panel
            {
                Movable    = true,
                Size       = this.size,
                Location   = this.location,
                ResizeMode = ResizeModes.None,
                Skin       = dialogBoxSkin
            });

            // title label
            this.mainPanel.Controls.Add(
                new Label
            {
                Size      = new Size(this.size.Width, this.size.Height / 4),
                Location  = Point.Empty,
                Text      = title,
                TextStyle =
                {
                    Alignment = Alignment.TopLeft,
                    Offset    = this.labelTextOffset
                }
            });

            // text label
            this.mainPanel.Controls.Add(
                new Label
            {
                Size      = new Size(this.size.Width, this.size.Height / 4),
                Location  = new Point(0, this.size.Height / 4),
                Text      = text,
                TextStyle =
                {
                    Alignment = Alignment.MiddleCenter,
                    Offset    = this.labelTextOffset
                }
            });

            // buttons
            if (buttons.IsFlagSet(DialogBoxButtons.Ok))
            {
                this.mainPanel.Controls.Add(
                    this.buttonOk = new Button
                {
                    Size      = this.buttonSize,
                    TextStyle =
                    {
                        Alignment = Alignment.MiddleCenter,
                        Offset    = this.buttonTextOffset,
                    },
                    Skin = dialogBoxButtonSkin
                });

                this.buttonOk.MouseClick += this.DialogBoxMouseClick;
            }

            if (buttons.IsFlagSet(DialogBoxButtons.Yes))
            {
                this.mainPanel.Controls.Add(
                    this.buttonYes = new Button
                {
                    Size      = this.buttonSize,
                    TextStyle =
                    {
                        Alignment = Alignment.MiddleCenter,
                        Offset    = this.buttonTextOffset,
                    },
                    Skin = dialogBoxButtonSkin
                });

                this.buttonYes.MouseClick += this.DialogBoxMouseClick;
            }

            if (buttons.IsFlagSet(DialogBoxButtons.No))
            {
                this.mainPanel.Controls.Add(
                    this.buttonNo = new Button
                {
                    Size      = this.buttonSize,
                    TextStyle =
                    {
                        Alignment = Alignment.MiddleCenter,
                        Offset    = this.buttonTextOffset,
                    },
                    Skin = dialogBoxButtonSkin
                });

                this.buttonNo.MouseClick += this.DialogBoxMouseClick;
            }

            if (buttons.IsFlagSet(DialogBoxButtons.Cancel))
            {
                this.mainPanel.Controls.Add(
                    this.buttonCancel = new Button
                {
                    Size      = this.buttonSize,
                    TextStyle =
                    {
                        Alignment = Alignment.MiddleCenter,
                        Offset    = this.buttonTextOffset,
                    },
                    Skin = dialogBoxButtonSkin
                });

                this.buttonCancel.MouseClick += this.DialogBoxMouseClick;
            }

            // align buttons
            int buttonCount = this.mainPanel.Controls.Count - 2;
            int totalWidth  = (this.buttonSize.Width * buttonCount) + ((this.buttonSize.Width / 10) * (buttonCount - 1));
            int width       = this.buttonSize.Width + (this.buttonSize.Width / 10);

            for (int i = 1; i <= buttonCount; i++)
            {
                int x = ((this.size.Width - totalWidth) / 2) + (width * (i - 1));
                int y = (this.size.Height * 3) / 4;
                this.mainPanel.Controls[i + 1].Location = new Point(x, y);
            }

            this.SetButtonText();
        }
Exemplo n.º 10
0
 public static DialogResult Show(string text, string title, DialogBoxButtons buttons)
 {
     return(Show(text, title, buttons, null));
 }
Exemplo n.º 11
0
 public DialogBoxResult ShowUserDialog(string title, ViewNames viewName, DialogBoxButtons dialogBoxButtons)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 12
0
 private string ShowDialogBox(DialogBoxButtons btns)
 {
     return(Forms.DialogBox.Show(GetMessage(), txtCaption.Text, btns, GetDialogBoxIcon(), GetTitleText(), 1, timeOut: GetTimeout(), disable: GetDeshabilitado()).ToString());
 }
Exemplo n.º 13
0
        /// <summary>Creates a dialog box</summary>
        /// <param name="Type"></param>
        /// <param name="Text"></param>
        /// <param name="Buttons"></param>
        public DialogBox(Icon.IconType Type, DialogBoxButtons Buttons, String Text)
        {
            //time to set up a window

            //MaxWidth-6 because 3 for the icon, 1 for spacing between icon and left, icon and text, and text and right
            //MaxHeight-5 because 1 for header, 1 for space between header and text, 1 for space between text and button, 1 for button, and 1 for footer
            FormattedText TextButFormatted = new FormattedText(Text, MaxWidth - 6, MaxHeight - 5);

            //find the minimum width of the window given the buttons:
            //5 is the base because that's the width of the icon;
            int MinWidth = 5;

            switch (Buttons)
            {
            case DialogBoxButtons.OK:
                //Single button (length of button, plus spacing with the left side of the window
                MinWidth += 12 + 1;
                break;

            case DialogBoxButtons.OKCancel:
            case DialogBoxButtons.YesNo:
                //two buttons
                //two single buttons
                MinWidth += 13 + 13;
                break;

            case DialogBoxButtons.YesNoCancel:
            case DialogBoxButtons.AbortRetryIgnore:
                //Three buttons
                //Three single buttons
                MinWidth += 13 * 3;
                break;

            default:
                break;
            }

            //Get the actual width of the window.
            //Max in case the text's width or height is smaller than the minimum required to display other elements.
            int WindowWidth  = Math.Max(MinWidth, TextButFormatted.ActualWidth + 6);
            int WindowHeight = Math.Max(6, TextButFormatted.ActualHeight + 5);

            //OK now lets figure out which title/icon this will have.
            String       Title;
            ConsoleColor HeaderBG = ConsoleColor.DarkBlue;

            switch (Type)
            {
            case Icon.IconType.ERROR:
                Title    = "Error";
                HeaderBG = ConsoleColor.DarkRed;
                break;

            case Icon.IconType.EXCLAMATION:
                Title = "Warning";
                break;

            case Icon.IconType.INFORMATION:
                Title = "Information";
                break;

            case Icon.IconType.QUESTION:
                Title = "Question";
                break;

            default:
                Title = "Uh...";
                break;
            }

            //Now we're ready to create the window
            MainWindow = new Window(false, true, ConsoleColor.Gray, HeaderBG, ConsoleColor.White, Title, WindowWidth, WindowHeight);

            //Now let's go ahead and populate the window
            MainWindow.AddElement(new Icon(MainWindow, Type, 1, 2));
            MainWindow.AddElement(new Label(MainWindow, TextButFormatted, ConsoleColor.Gray, ConsoleColor.Black, 5, 2));

            switch (Buttons)
            {
            case DialogBoxButtons.OK:
                OKButton = new FlaggedCloseButton(MainWindow, OKButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2);

                MainWindow.AddElement(OKButton);

                MainWindow.HighlightedElement = OKButton;
                OKButton.Highlighted          = true;
                break;

            case DialogBoxButtons.OKCancel:
                OKButton     = new FlaggedCloseButton(MainWindow, OKButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 26, MainWindow.Height - 2);
                CancelButton = new FlaggedCloseButton(MainWindow, CancelButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2);

                MainWindow.AddElement(OKButton);
                MainWindow.AddElement(CancelButton);

                OKButton.NextElement         = CancelButton;
                CancelButton.PreviousElement = OKButton;

                MainWindow.HighlightedElement = OKButton;
                OKButton.Highlighted          = true;
                break;

            case DialogBoxButtons.YesNo:
                YesButton = new FlaggedCloseButton(MainWindow, YesButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 26, MainWindow.Height - 2);
                NoButton  = new FlaggedCloseButton(MainWindow, NoButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2);

                MainWindow.AddElement(YesButton);
                MainWindow.AddElement(NoButton);

                YesButton.NextElement    = NoButton;
                NoButton.PreviousElement = YesButton;

                MainWindow.HighlightedElement = YesButton;
                YesButton.Highlighted         = true;

                break;

            case DialogBoxButtons.YesNoCancel:
                YesButton    = new FlaggedCloseButton(MainWindow, YesButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 39, MainWindow.Height - 2);
                NoButton     = new FlaggedCloseButton(MainWindow, NoButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 26, MainWindow.Height - 2);
                CancelButton = new FlaggedCloseButton(MainWindow, CancelButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2);

                MainWindow.AddElement(YesButton);
                MainWindow.AddElement(NoButton);
                MainWindow.AddElement(CancelButton);

                YesButton.NextElement        = NoButton;
                NoButton.PreviousElement     = YesButton;
                NoButton.NextElement         = CancelButton;
                CancelButton.PreviousElement = NoButton;

                MainWindow.HighlightedElement = YesButton;
                YesButton.Highlighted         = true;

                break;

            case DialogBoxButtons.AbortRetryIgnore:
                AbortButton  = new FlaggedCloseButton(MainWindow, AbortButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 39, MainWindow.Height - 2);
                RetryButton  = new FlaggedCloseButton(MainWindow, RetryButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 26, MainWindow.Height - 2);
                IgnoreButton = new FlaggedCloseButton(MainWindow, IgnoreButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2);

                MainWindow.AddElement(AbortButton);
                MainWindow.AddElement(RetryButton);
                MainWindow.AddElement(IgnoreButton);

                AbortButton.NextElement      = RetryButton;
                RetryButton.PreviousElement  = AbortButton;
                RetryButton.NextElement      = IgnoreButton;
                IgnoreButton.PreviousElement = RetryButton;

                MainWindow.HighlightedElement = AbortButton;
                AbortButton.Highlighted       = true;

                break;

            default:
                break;
            }
        }
Exemplo n.º 14
0
 /// <summary>Shows a dialog box by first creating it, executing it, then disposing of it.</summary>
 /// <param name="Type"></param>
 /// <param name="Buttons"></param>
 /// <param name="Text"></param>
 /// <returns>Returns a DialogBoxResult based on whichever button was pressed.</returns>
 public static DialogBoxResult ShowDialogBox(Icon.IconType Type, DialogBoxButtons Buttons, String Text)
 {
     return(new DialogBox(Type, Buttons, Text).Execute());
 }