2011-01-19 10 views
8

Me gustaría mostrar el progreso de múltiples Jobs corriendo en paralelo, pero en un solo diálogo de progreso.Eclipse RCP: trabajos paralelos presentados en un diálogo de progreso?

Pero cada llamada a Job.setUser() parece dar como resultado un nuevo cuadro de diálogo de progreso.

He intentado:

  • El establecimiento de un grupo de progreso común en todos los puestos de trabajo (que se obtiene a través de IJobManager.createProgressGroup()).
  • Tener una llamada de trabajo principal setUser() y unir una familia de trabajos a la que pertenecen todos los trabajos paralelos. (Esto genera un mensaje de que el progreso está bloqueado en el trabajo principal, por las tareas en segundo plano.)

¿Qué patrón puedo seguir para que aparezcan todos los trabajos paralelos en un cuadro de diálogo de progreso?

+0

¿Ha intentado utilizar 'org.eclipse.ui.progress.UIJob'? – Favonius

+0

@Favonius, gracias por la sugerencia. Intenté UIJob, pero ejecuta trabajos en el subproceso de interfaz de usuario, lo que impide que se ejecuten en paralelo, y bloquea el subproceso de interfaz de usuario. –

+0

@Andy Thomas-Cramer: revise este enlace http://www.jdg2e.com/ch29.jobs/doc/index.html. El tutorial ejecuta dos trabajos simultáneamente. Avíseme si esto ayuda o no. – Favonius

Respuesta

3

Ha intentado usar org.eclipse.ui.progress.UIJob. Consulte este enlace http://www.jdg2e.com/ch29.jobs/doc/index.html. https://web.archive.org/web/20090406175007/http://www.jdg2e.com:80/ vea el enlace de descarga en la parte inferior de la página, aunque no estoy seguro de cuán relevante es la solución después de 6 años.

El tutorial ejecuta dos trabajos simultáneamente.

UIJobs

Lo bueno de eclipse es que el código fuente está disponible :). Solo hackear la fuente de vista de progreso. Básicamente, la idea es la misma, lo que necesita traducir es Progress View -> Composite a Your Dialog -> Composite.

Espero que esto ayude.

+0

Es útil, pero todavía no he encontrado cómo mostrar un cuadro de diálogo de usuario para múltiples trabajos simultáneos. –

+0

El enlace del tutorial está roto – Stefan

+0

Gracias @Stefan. He actualizado el enlace. – Favonius

0

ProgressMonitorFocusJobDialog puede mostrar el progreso de un solo trabajo. Si necesita mostrar el progreso de varios trabajos, la Vista de progreso es su respuesta. El diálogo desaparecerá si el usuario hace clic en la casilla "Ejecutar en segundo plano"

Cuestiones relacionadas