Pregunta

Tengo un complemento para una aplicación Eclipse RCP que tiene una vista. Después de que se produce un evento en la aplicación RCP, se crea una instancia del complemento, se llama a sus métodos para completar el modelo del complemento, pero no puedo encontrar cómo hacer que la vista aparezca sin ir al " Mostrar vista ... " ; menú.

Pensaría que habría algo en el banco de trabajo que podría manejar esto, pero no he descubierto cómo hacerlo en ningún lugar.

¿Fue útil?

Solución

Probablemente estés buscando esto:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");

Otros consejos

Si se llama desde el controlador de un comando

HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);

sería mejor, como sé.

Encontré la necesidad de llevar la vista al frente después de haberla abierto y empujado al fondo. El método de activación hace el truco.

PlatformUI.getWorkbench()
    .getActiveWorkbenchWindow()
    .getActivePage()
    .activate(workbenchPartToActivate);

NOTA: workbenchPartToActivate es una instancia de IWorkbenchPart .

En e4, EPartService es responsable de abrir Partes. Esto también se puede utilizar para abrir e3 ViewParts. Cree una instancia de la siguiente clase a través de su IEclipseContext, llame al método OpenPart y verá la vista del navegador interno de Eclipse.

public class Opener {
    @Inject
    EPartService partService;

    public void openPart() {
        MPart part = partService.createPart("org.eclipse.ui.browser.view");
        part.setLabel("Browser");

        partService.showPart(part, PartState.ACTIVATE);
    }
}

Aquí puede encontrar un ejemplo de cómo funciona esto junto con su aplicación.e4xmi.

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