Question

J'ai un plug-in pour une application Eclipse RCP qui dispose d'une vue. Lorsqu'un événement se produit dans l'application RCP, le plug-in est instancié, ses méthodes sont appelées pour renseigner le modèle du plug-in, mais je ne trouve pas comment faire en sorte que la vue apparaisse sans passer à la rubrique "Afficher la vue ...". ; menu.

Je pense qu'il y aurait quelque chose dans le singleton de l'atelier qui pourrait gérer cela, mais je n'ai pas trouvé comment nulle part.

Était-ce utile?

La solution

Vous recherchez probablement ceci:

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

Autres conseils

Si appelé à partir du gestionnaire d'une commande

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

serait mieux, comme je le sais.

J'ai trouvé la nécessité de ramener la vue au premier plan après l'avoir ouverte et repoussée à l'arrière-plan. La méthode d'activation fait l'affaire.

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

REMARQUE: le workbenchPartToActivate est une instance de IWorkbenchPart .

Dans e4, EPartService est responsable de l’ouverture des pièces. Cela peut également être utilisé pour ouvrir e3 ViewParts. Instanciez la classe suivante via votre IEclipseContext, appelez openPart-Method et vous devriez voir la vue du navigateur interne 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);
    }
}

Ici , vous trouverez un exemple de la manière dont cela fonctionne. votre application.e4xmi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top