Как сделать так, чтобы пользовательская кнопка MessageDialog не закрывала диалог при нажатии в приложении RCP? - PullRequest
2 голосов
/ 28 марта 2012

У меня есть приложение RCP, в котором до удаления, MessageDialog используется для подтверждения операции удаления.Одна из кнопок, как вы можете видеть в приведенном ниже коде, это кнопка «предварительного просмотра», при нажатии которой открывается другое диалоговое окно, в котором отображается дополнительная информация о предполагаемых последствиях операции.Эта кнопка «Предварительный просмотр» как-то закрывает мой основной MessageDialog по умолчанию. Что мне нужно сделать, чтобы он не закрывал главное диалоговое окно?

MessageDialog dialog =
         new MessageDialog(null, "Dangerous Activity", null,
                    "Are you sure you want to delete?", MessageDialog.CONFIRM,
                    new String[]{"Preview>", "Delete", "Cancel"}, 0);

     int dialogResult = dialog.open();
     // if preview button is selected
      if (dialogResult == 0) {
           // open another dialog for a second more informative warning
           // but DO NOT CLOSE THE CURRENT MAIN ONE..HOW TO?

            }

Я ценю любую помощь!

спасибовы,

1 Ответ

3 голосов
/ 28 марта 2012

Попробуйте переопределить метод buttonPressed для MessageDialog:

MessageDialog dialog =
     new MessageDialog(null, "Dangerous Activity", null,
                "Are you sure you want to delete?", MessageDialog.CONFIRM,
                new String[]{"Preview>", "Delete", "Cancel"}, 0)
{
protected void buttonPressed(int buttonId) {
    setReturnCode(buttonId);
    // close(); Call close for Delete or Cancel?
}};
...