Domanda

Ho un plug-in in un'applicazione Eclipse RCP che ha una vista. Dopo che si verifica un evento nell'applicazione RCP, il plug-in viene istanziato, i suoi metodi vengono chiamati per popolare il modello del plug-in, ma non riesco a trovare come far apparire la vista senza andare su " Mostra vista ... " ; menu.

Penso che ci sarebbe qualcosa nel singleton del workbench che potesse gestirlo, ma non ho scoperto come da nessuna parte.

È stato utile?

Soluzione

Probabilmente stai cercando questo:

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

Altri suggerimenti

Se chiamato dal gestore di un comando

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

sarebbe meglio, come so.

Ho trovato la necessità di portare la vista in primo piano dopo che era stata aperta e spostata sullo sfondo. Il metodo di attivazione fa il trucco.

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

NOTA: workbenchPartToActivate è un'istanza di IWorkbenchPart .

In e4, EPartService è responsabile dell'apertura di Parts. Questo può anche essere usato per aprire ViewParts e3. Crea un'istanza della seguente classe tramite IEclipseContext, chiama il metodo openPart e dovresti vedere la vista interna del browser 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);
    }
}

Qui puoi trovare un esempio di come funziona insieme la tua applicazione.e4xmi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top