Example #1
0
        public DialogResult ShowDialog(Control parent)
        {
            var alert = new NSAlert();

            AddButtons(alert);

            alert.AlertStyle      = Convert(Type);
            alert.MessageText     = Caption ?? string.Empty;
            alert.InformativeText = Text ?? string.Empty;
            var ret = MacModal.Run(alert, parent);

            switch (Buttons)
            {
            default:
                return(DialogResult.Ok);

            case MessageBoxButtons.OKCancel:
                return((ret == 1000) ? DialogResult.Ok : DialogResult.Cancel);

            case MessageBoxButtons.YesNo:
                return((ret == 1000) ? DialogResult.Yes : DialogResult.No);

            case MessageBoxButtons.YesNoCancel:
                return((ret == 1000) ? DialogResult.Yes : (ret == 1001) ? DialogResult.Cancel : DialogResult.No);
            }
        }
Example #2
0
        public virtual Task ShowModalAsync(Control parent)
        {
            var tcs = new TaskCompletionSource <bool>();

            session = null;
            if (parent != null && parent.ParentWindow != null)
            {
                var nswindow = parent.ParentWindow.ControlObject as NSWindow;
                if (nswindow != null)
                {
                    Control.ParentWindow = nswindow;
                }
            }
            Callback.OnShown(Widget, EventArgs.Empty);

            Widget.Closed += HandleClosed;
            if (DisplayMode.HasFlag(DialogDisplayMode.Attached))
            {
                MacModal.BeginSheet(Widget, Control, out session, () => tcs.SetResult(true));
            }
            else
            {
                Control.MakeKeyWindow();
                Application.Instance.AsyncInvoke(() =>
                {
                    MacModal.Run(Widget, Control, out session);
                    tcs.SetResult(true);
                });
            }
            return(tcs.Task);
        }
Example #3
0
        public DialogResult ShowDialog(Window parent)
        {
            //Control.AllowsOtherFileTypes = false;
            Control.Delegate = new SavePanelDelegate {
                Handler = this
            };
            Create();

            int ret = MacModal.Run(Control, parent);

            return(ret == 1 ? DialogResult.Ok : DialogResult.Cancel);
        }
Example #4
0
        public virtual void ShowModal()
        {
            session = null;
            Callback.OnShown(Widget, EventArgs.Empty);

            Widget.Closed += HandleClosed;
            if (DisplayMode.HasFlag(DialogDisplayMode.Attached) && Control.ParentWindow != null)
            {
                MacModal.RunSheet(Widget, Control, out session);
            }
            else
            {
                Control.MakeKeyWindow();
                MacModal.Run(Widget, Control, out session);
            }
        }
Example #5
0
        public virtual void ShowModal()
        {
            session = null;
            Application.Instance.AsyncInvoke(FireOnShown);             // fire after dialog is shown

            Widget.Closed += HandleClosed;
            if (DisplayMode.HasFlag(DialogDisplayMode.Attached) && Widget.Owner != null)
            {
                MacModal.RunSheet(Widget, Control, Widget.Owner.ToNative(), out session);
            }
            else
            {
                Control.MakeKeyWindow();
                MacModal.Run(Widget, Control, out session);
            }
        }
Example #6
0
        public virtual Task ShowModalAsync()
        {
            var tcs = new TaskCompletionSource <bool>();

            session = null;

            Widget.Closed += HandleClosed;
            if (DisplayMode.HasFlag(DialogDisplayMode.Attached) && Widget.Owner != null)
            {
                MacModal.BeginSheet(Widget, Control, Widget.Owner.ToNative(), out session, () => tcs.SetResult(true));
            }
            else
            {
                Control.MakeKeyWindow();
                Application.Instance.AsyncInvoke(() =>
                {
                    Application.Instance.AsyncInvoke(FireOnShown);                     // fire after dialog is shown
                    MacModal.Run(Widget, Control, out session);
                    tcs.SetResult(true);
                });
            }
            return(tcs.Task);
        }
Example #7
0
        public virtual void ShowModal(Control parent)
        {
            session = null;
            if (parent != null && parent.ParentWindow != null)
            {
                var nswindow = parent.ParentWindow.ControlObject as NSWindow;
                if (nswindow != null)
                {
                    Control.ParentWindow = nswindow;
                }
            }
            Callback.OnShown(Widget, EventArgs.Empty);

            Widget.Closed += HandleClosed;
            if (DisplayMode.HasFlag(DialogDisplayMode.Attached))
            {
                MacModal.RunSheet(Widget, Control, out session);
            }
            else
            {
                Control.MakeKeyWindow();
                MacModal.Run(Widget, Control, out session);
            }
        }