示例#1
0
        /// <summary>
        /// Show MessageBoxFlyout with contents
        /// </summary>
        /// <param name="message">Message on the main screen</param>
        /// <param name="caption">Caption string (title)</param>
        /// <param name="buttons">Buttons according to WPF standard messagebox</param>
        /// <param name="image">Image according to WPF standard messagebox</param>
        /// <returns></returns>
        public override AnyUiMessageBoxResult MessageBoxFlyoutShow(
            string message, string caption, AnyUiMessageBoxButton buttons, AnyUiMessageBoxImage image)
        {
            htmlEventType = "MessageBoxFlyoutShow";
            htmlEventInputs.Add(message);
            htmlEventInputs.Add(caption);
            htmlEventInputs.Add(buttons);
            htmlEventIn = true;
            Program.signalNewData(2); // build new tree

            while (!htmlEventOut)
            {
                ;
            }
            AnyUiMessageBoxResult r = AnyUiMessageBoxResult.None;

            if (htmlEventOutputs.Count == 1)
            {
                r = (AnyUiMessageBoxResult)htmlEventOutputs[0];
            }
            htmlEventOutputs.Clear();
            htmlEventType     = "";
            htmlEventOut      = false;
            htmlDotnetEventIn = false;
            return(r);
        }
示例#2
0
 public static AnyUiMessageBoxResult MesssageBoxShow(
     UiLambdaSet lambdaSet,
     string content, string text, string caption, AnyUiMessageBoxButton buttons = 0)
 {
     if (lambdaSet?.MesssageBox != null)
     {
         return(lambdaSet.MesssageBox(content, text, caption, buttons));
     }
     return(AnyUiMessageBoxResult.Cancel);
 }
        /// <summary>
        /// Show MessageBoxFlyout with contents
        /// </summary>
        /// <param name="message">Message on the main screen</param>
        /// <param name="caption">Caption string (title)</param>
        /// <param name="buttons">Buttons according to WPF standard messagebox</param>
        /// <param name="image">Image according to WPF standard messagebox</param>
        /// <returns></returns>
        public override AnyUiMessageBoxResult MessageBoxFlyoutShow(
            string message, string caption, AnyUiMessageBoxButton buttons, AnyUiMessageBoxImage image)
        {
            AnyUiHtmlEventSession found = null;

            lock (htmlDotnetLock)
            {
                foreach (var s in sessions)
                {
                    if (_bi.sessionNumber == s.sessionNumber)
                    {
                        found = s;
                        break;
                    }
                }
            }

            AnyUiMessageBoxResult r = AnyUiMessageBoxResult.None;

            if (found != null)
            {
                found.htmlEventInputs.Clear();
                found.htmlEventType = "MessageBoxFlyoutShow";
                found.htmlEventInputs.Add(message);
                found.htmlEventInputs.Add(caption);
                found.htmlEventInputs.Add(buttons);
                found.htmlEventIn = true;
                Program.signalNewData(2, found.sessionNumber); // build new tree

                while (!found.htmlEventOut)
                {
                    ;
                }
                if (found.htmlEventOutputs.Count == 1)
                {
                    r = (AnyUiMessageBoxResult)found.htmlEventOutputs[0];
                }

                found.htmlEventType = "";
                found.htmlEventOutputs.Clear();
                found.htmlEventOut = false;
                found.htmlEventInputs.Clear();
                found.htmlDotnetEventIn = false;
            }

            return(r);
        }
示例#4
0
        public MessageBoxFlyout(string message, string caption,
                                AnyUiMessageBoxButton buttons, AnyUiMessageBoxImage image)
        {
            InitializeComponent();

            // texts
            this.TextBlockTitle.Text   = caption;
            this.TextBlockMessage.Text = message;

            // image
            this.ImageIcon.Source = null;
            if (image == AnyUiMessageBoxImage.Error)
            {
                this.ImageIcon.Source = new BitmapImage(
                    new Uri("/AasxIntegrationBaseWpf;component/Resources/msg_error.png", UriKind.RelativeOrAbsolute));
            }
            if (image == AnyUiMessageBoxImage.Hand)
            {
                this.ImageIcon.Source = new BitmapImage(
                    new Uri("/AasxIntegrationBaseWpf;component/Resources/msg_hand.png", UriKind.RelativeOrAbsolute));
            }
            if (image == AnyUiMessageBoxImage.Information)
            {
                this.ImageIcon.Source = new BitmapImage(
                    new Uri("/AasxIntegrationBaseWpf;component/Resources/msg_info.png", UriKind.RelativeOrAbsolute));
            }
            if (image == AnyUiMessageBoxImage.Question)
            {
                this.ImageIcon.Source = new BitmapImage(
                    new Uri(
                        "/AasxIntegrationBaseWpf;component/Resources/msg_question.png", UriKind.RelativeOrAbsolute));
            }
            if (image == AnyUiMessageBoxImage.Warning)
            {
                this.ImageIcon.Source = new BitmapImage(
                    new Uri(
                        "/AasxIntegrationBaseWpf;component/Resources/msg_warning.png", UriKind.RelativeOrAbsolute));
            }

            // buttons
            List <string> buttonDefs = new List <string>();
            List <AnyUiMessageBoxResult> buttonResults = new List <AnyUiMessageBoxResult>();

            if (buttons == AnyUiMessageBoxButton.OK)
            {
                buttonDefs.Add("OK");
                buttonResults.Add(AnyUiMessageBoxResult.OK);
            }
            if (buttons == AnyUiMessageBoxButton.OKCancel)
            {
                buttonDefs.Add("OK");
                buttonResults.Add(AnyUiMessageBoxResult.OK);
                buttonDefs.Add("Cancel");
                buttonResults.Add(AnyUiMessageBoxResult.Cancel);
            }
            if (buttons == AnyUiMessageBoxButton.YesNo)
            {
                buttonDefs.Add("Yes");
                buttonResults.Add(AnyUiMessageBoxResult.Yes);
                buttonDefs.Add("No");
                buttonResults.Add(AnyUiMessageBoxResult.No);
            }
            if (buttons == AnyUiMessageBoxButton.YesNoCancel)
            {
                buttonDefs.Add("Yes");
                buttonResults.Add(AnyUiMessageBoxResult.Yes);
                buttonDefs.Add("No");
                buttonResults.Add(AnyUiMessageBoxResult.No);
                buttonDefs.Add("Cancel");
                buttonResults.Add(AnyUiMessageBoxResult.Cancel);
            }
            this.StackPanelButtons.Children.Clear();
            buttonToResult = new Dictionary <Button, AnyUiMessageBoxResult>();
            foreach (var bd in buttonDefs)
            {
                var b = new Button();
                b.Style      = (Style)FindResource("TranspRoundCorner");
                b.Content    = "" + bd;
                b.Height     = 40;
                b.Width      = 40;
                b.Margin     = new Thickness(5, 0, 5, 0);
                b.Foreground = Brushes.White;
                b.Click     += StackPanelButton_Click;
                this.StackPanelButtons.Children.Add(b);
                if (buttonResults.Count > 0)
                {
                    buttonToResult[b] = buttonResults[0];
                    buttonResults.RemoveAt(0);
                }
            }
        }
示例#5
0
 /// <summary>
 /// Show MessageBoxFlyout with contents
 /// </summary>
 /// <param name="message">Message on the main screen</param>
 /// <param name="caption">Caption string (title)</param>
 /// <param name="buttons">Buttons according to WPF standard messagebox</param>
 /// <param name="image">Image according to WPF standard messagebox</param>
 /// <returns></returns>
 public virtual AnyUiMessageBoxResult MessageBoxFlyoutShow(
     string message, string caption, AnyUiMessageBoxButton buttons, AnyUiMessageBoxImage image)
 {
     return(AnyUiMessageBoxResult.Cancel);
 }
        /// <summary>
        /// Assumes, that the flyout is open and BLOCKS the message loop until a result button
        /// is being pressed!
        /// </summary>
        public AnyUiMessageBoxResult MessageBoxShow(
            string content, string text, string caption,
            AnyUiMessageBoxButton buttons)
        {
            // show tab page
            TabControlMain.SelectedItem = TabItemMessageBox;

            // set text portions
            TextBlockMessageBoxCaption.Text = "" + caption;
            TextBlockMessageBoxText.Text    = "" + text;
            if (caption.HasContent())
            {
                LogMessage(new StoredPrint(StoredPrint.Color.Yellow, "" + caption));
            }
            if (text.HasContent())
            {
                LogMessage(new StoredPrint("" + text));
            }
            if (content.HasContent())
            {
                LogMessage(new StoredPrint("" + content));
            }

            // set respective buttons
            _presetOkYes    = AnyUiMessageBoxResult.None;
            _presetNoCancel = AnyUiMessageBoxResult.None;

            ButtonMessageBoxOK.Visibility     = Visibility.Collapsed;
            ButtonMessageBoxCancel.Visibility = Visibility.Collapsed;
            ButtonMessageBoxYes.Visibility    = Visibility.Collapsed;
            ButtonMessageBoxNo.Visibility     = Visibility.Collapsed;

            if (buttons == AnyUiMessageBoxButton.OK)
            {
                ButtonMessageBoxOK.Visibility = Visibility.Visible;
                _presetOkYes = AnyUiMessageBoxResult.OK;
            }

            if (buttons == AnyUiMessageBoxButton.OKCancel)
            {
                ButtonMessageBoxOK.Visibility     = Visibility.Visible;
                ButtonMessageBoxCancel.Visibility = Visibility.Visible;
                _presetOkYes    = AnyUiMessageBoxResult.OK;
                _presetNoCancel = AnyUiMessageBoxResult.Cancel;
            }

            if (buttons == AnyUiMessageBoxButton.YesNo)
            {
                ButtonMessageBoxYes.Visibility = Visibility.Visible;
                ButtonMessageBoxNo.Visibility  = Visibility.Visible;
                _presetOkYes    = AnyUiMessageBoxResult.Yes;
                _presetNoCancel = AnyUiMessageBoxResult.No;
            }

            if (buttons == AnyUiMessageBoxButton.YesNoCancel)
            {
                ButtonMessageBoxCancel.Visibility = Visibility.Visible;
                ButtonMessageBoxYes.Visibility    = Visibility.Visible;
                ButtonMessageBoxNo.Visibility     = Visibility.Visible;
                _presetOkYes    = AnyUiMessageBoxResult.Yes;
                _presetNoCancel = AnyUiMessageBoxResult.Cancel;
            }

            // modified from StartFlyoverModal()
            // This will "block" execution of the current dispatcher frame
            // and run our frame until the dialog is closed.
            _dialogResult    = AnyUiMessageBoxResult.None;
            _dispatcherFrame = new DispatcherFrame();
            Dispatcher.PushFrame(_dispatcherFrame);

            return(_dialogResult);
        }