0

Когда в затмении плагин вы реализуете работу и Override прогон() - метод, вы можете внести изменения в параметр IProgressMonitor и пропустить задачи, если пользователь толкнул Отмена так:Eclipse Plugin Отменить Полностью

 if (!monitor.isCanceled()){ 
      monitor.subTask("Doing stuff"); 
      //do task 
     } else { 
      returnedStatus = Status.CANCEL_STATUS; 
     } 

Но это означает, что по крайней мере текущая активная задача должна быть закончена, прежде чем пропустить остальные. Есть ли способ полностью прекратить действие плагина и выполнить блок finally, когда пользователь отжимает отмену, не дожидаясь следующего if (!monitor.isCanceled()) и не разбивая всю вашу программу на подтемы?

ответ

1

Нет. Ваша работа должна быть той, кто реагирует на отмену, поэтому вам нужно либо разбить задание на задачи, для которых вы можете сообщить о проделанной работе с worked(), и отменить отмену, или вам нужно отправить вокруг вспомогательных мониторов и делать то же самое.

https://eclipse.org/articles/Article-Progress-Monitors/article.html

+0

Хм, это печально, но спасибо за разъяснение. – Phil