Search code examples
javaeclipse-rcprcp

Eclipse RCP: Parallel jobs presented in one progress dialog?


I would like to show progress of multiple Jobs running in parallel, but in only one progress dialog.

But each call to Job.setUser() seems to result in a new progress dialog.

I've tried:

  • Setting a common progress group on all the jobs (obtained via IJobManager.createProgressGroup()).
  • Having one parent job call setUser() and join a job family to which all the parallel jobs belong. (This results in a message that progress is blocked on the parent job, by the background tasks.)

What pattern can I follow to result in all the parallel jobs appearing in one progress dialog?


Solution

  • Have you tried using org.eclipse.ui.progress.UIJob. Checkout this link http://www.jdg2e.com/ch29.jobs/doc/index.html. https://web.archive.org/web/20090406175007/http://www.jdg2e.com:80/ see the download link at the bottom of the page, though I am not sure how relevant the solution is after 6 years.

    The tutorial executes two jobs simultaneously.

    UIJobs

    The good thing about eclipse is that the source code is readily available :) . Just hack through the progress view source. Essentially the idea is same, what you need to translate is Progress View -> Composite to Your Dialog -> Composite.

    Hope this will help.