Exemplo n.º 1
0
 /// <summary>
 /// Returns the localized text of the given <paramref name="resultItem"/>.
 /// </summary>
 /// <param name="resultItem">Item to localize</param>
 /// <returns>Localized result item text</returns>
 private string LocalizeText(EMessageDialogResult resultItem)
 {
     if (resultItem == EMessageDialogResult.Ok)
     {
         return(Messages.MessageDialogWindow_Button_Ok);
     }
     if (resultItem == EMessageDialogResult.Cancel)
     {
         return(Messages.MessageDialogWindow_Button_Cancel);
     }
     if (resultItem == EMessageDialogResult.No)
     {
         return(Messages.MessageDialogWindow_Button_No);
     }
     if (resultItem == EMessageDialogResult.Yes)
     {
         return(Messages.MessageDialogWindow_Button_Yes);
     }
     if (resultItem == EMessageDialogResult.None)
     {
         return(Messages.MessageDialogWindow_Button_None);
     }
     if (resultItem == EMessageDialogResult.Close)
     {
         return(Messages.MessageDialogWindow_Button_Close);
     }
     return(resultItem.ToString());
 }
Exemplo n.º 2
0
        /// <summary>
        /// Returns TRUE if the given editor instance can be closed. If the editor is dirty, a question dialog
        /// is shown. If the user decides to save the modified content, <see cref="ISaveableWorkbenchPart.ExecuteSave"/>
        /// is called.
        /// </summary>
        /// <param name="editor">Editor instance to check</param>
        /// <returns>TRUE or FALSE</returns>
        protected virtual bool CanCloseEditor(IEditor editor)
        {
            if (editor == null)
            {
                return(true);
            }
            if (!editor.IsDirty)
            {
                return(true);
            }

            EMessageDialogResult questionResult = MessageDialog.ShowQuestion(
                Messages.AbstractPerspective_CanCloseEditor_Dialog_Title,
                Messages.AbstractPerspective_CanCloseEditor_Dialog_Header,
                Messages.AbstractPerspective_CanCloseEditor_Dialog_Text,
                new[] { EMessageDialogResult.Yes, EMessageDialogResult.No, EMessageDialogResult.Cancel });

            // User has canceled
            if (questionResult == EMessageDialogResult.Cancel)
            {
                return(false);
            }

            // User wants to save
            if (questionResult == EMessageDialogResult.Yes)
            {
                try {
                    editor.ExecuteSave(null);
                } catch (Exception ex) {
                    _log.Error("Error on execute save on active editor.", ex);
                }
            }

            return(true);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Creates and adds a button for each result item of the given collection.
        /// </summary>
        /// <param name="resultSet">Collection of avaiable result items</param>
        protected virtual void AddMessageDialogButtons(EMessageDialogResult[] resultSet)
        {
            for (int i = resultSet.Length; --i != -1;)
            {
                EMessageDialogResult resultItem = resultSet[i];
                string buttonText = LocalizeText(resultItem);

                ((IDialogWindow)this).AddButton(buttonText, new ActionHandlerDelegate(() => {
                    MessageDialogResult = resultItem;
                    Close();
                })); // XXX Closure
            }
        }