eclipse4.4如何取消进度监控
How to cancel progress monitor eclipse4.4
我用 xtend 编写了以下代码:
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,它说不能在 eclipse 4.6 中使用 monitor.split。
奇怪的是,如果我在调试模式下放置调试点@subMonitor.worked(1) 和 运行 eclipse,它会按预期工作,如果从 UI 取消则取消监视器,但如果调试点被删除。任何想法都会很有帮助,因为我 运行 缺乏想法如果调试模式有效,它也应该在没有它的情况下工作!
我可以通过更改为取消进度监视器:
void doMyMethod(IProgressMonitor monitor, Collection myCollection) {
monitor.beginTask(("My Task Name...", myCollection.size());
myCollection.forEach [ element |
if(subMonitor.canceled || monitor.canceled)
{
throw new OperationCanceledException
}
subMonitor.worked(1)] }
谢谢
我用 xtend 编写了以下代码:
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,它说不能在 eclipse 4.6 中使用 monitor.split。 奇怪的是,如果我在调试模式下放置调试点@subMonitor.worked(1) 和 运行 eclipse,它会按预期工作,如果从 UI 取消则取消监视器,但如果调试点被删除。任何想法都会很有帮助,因为我 运行 缺乏想法如果调试模式有效,它也应该在没有它的情况下工作!
我可以通过更改为取消进度监视器:
void doMyMethod(IProgressMonitor monitor, Collection myCollection) {
monitor.beginTask(("My Task Name...", myCollection.size());
myCollection.forEach [ element |
if(subMonitor.canceled || monitor.canceled)
{
throw new OperationCanceledException
}
subMonitor.worked(1)] }
谢谢