¿Cómo consigo la ventana del banco de trabajo para abrir un diálogo modal en un proyecto basado en Eclipse?

StackOverflow https://stackoverflow.com/questions/443245

Pregunta

Para abrir un cuadro de diálogo modal, debe pasar una ventana principal y pasar los indicadores necesarios para que el cuadro de diálogo sea modal, por supuesto.

Dependiendo de dónde se encuentre en la infraestructura de eclipse, encontrar esta ventana principal no siempre es fácil.

¿Cómo se puede acceder a la ventana principal?

¿Fue útil?

Solución 2

Desde una vista o un editor (esta parte es fácil):

this.getSite().getWorkbenchWindow().getShell()

Desde otro lugar, acceda a una vista o editor y lo mismo que arriba.

Si te encuentras en una clase en la que no tienes acceso a una vista o editor, probablemente no quieras llamar a ningún código de IU, pero si realmente quieres dispararte en el pie:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()

Otros consejos

El fragmento de código de la respuesta anterior funcionará. Sin embargo, tenga en cuenta que solo puede abrir su diálogo desde el hilo de la interfaz de usuario. Si está abriendo el cuadro de diálogo desde un hilo diferente, p. un proceso en segundo plano, debe hacer algo como esto:

PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
    public void run() {
        Shell activeShell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
    }
});

De lo contrario, obtendrá una excepción al crear el diálogo.

No es exactamente lo que quieres hacer, pero es posible que necesites usar SWT.APPLICATION_MODAL , SWT.DIALOG_TRIM etc. al crear tu diálogo para hacerlo un diálogo modal (pero tal vez no se trata de su pregunta).

Consulte este link para obtener más información.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top