У меня есть ниже код, написанный на Xtend:Как отменить прогресс монитора eclipse4.4
void doMyMethod(IProgressMonitor monitor, Collection myCollection) {
val subMonitor = SubMonitor.convert(monitor, myCollection.size());
subMonitor.setTaskName("My Task Name...");
myCollection.forEach [ element |
if(subMonitor.canceled || monitor.canceled)
{
throw new OperationCanceledException
}
subMonitor.worked(1)]
}
Предназначенный, чтобы остановить индикатор прогресса, когда пользователь отменяет индикатор прогресса от UI. Но не работает. Я следую Using prograess monitor, в котором говорится, что использовать monitor.split в eclipse 4.6 невозможно. Странно, хотя, если я поставил точку отладки @ subMonitor.worked (1) и запустил eclipse в режиме отладки, он работает как ожидалось и отменяет монитор, если отменяет пользовательский интерфейс, но не работает, если удалена точка отладки. Любая идея была бы очень полезной, потому что у меня не хватает идей, если режим отладки работает, он также должен работать без него!
Ну это должно не полностью работать в Eclipse, Марс, потому что класс SubMonitor не существует в этой версии. Я всегда обнаружил, что отключение монитора прогресса работает очень медленно. –
Извините, у меня есть Луна в цель. Так что SubMonitor должен исходить только от Луны. Позвольте мне изменить свой вопрос, чем .. Спасибо за ввод, greg-449 – lifeline2