Как использовать InputDialog внутри EMF Commands? - PullRequest
2 голосов
/ 17 ноября 2010

Я пытаюсь открыть InputDialog внутри метода execute () пользовательской команды.Это выглядит следующим образом:

public class MyCommand extends CompoundCommand{
   ...
   execute(){
      try {
         ...
         super.execute();
      }catch(Exception e){
         InputDialog myDialog = ...
         myDialog.open();
         ...
         super.execute();
      }
   }
}

Работает нормально, но выдает некоторые исключения.Это:

org.eclipse.core.commands.ExecutionException: While executing the operation, 
an exception occurred

, вызванное

java.lang.IllegalStateException: Cannot open an operation while one 
is already open

Я переопределяю метод createSetCommand () ItemProvider в моем проекте EMF.Диалог ввода необходим для того, чтобы получить действительное значение от пользователя в случае, если он / она ввели неправильное значение.

Большое спасибо за раздачу, KanAfghan

1 Ответ

0 голосов
/ 11 февраля 2013

Я использовал совершенно иной подход, чем представленный выше, поскольку этот подход не является правильным способом сделать это.

...