Programmatisch zeigt eine Ansicht von einem Eclipse-Plug-in
-
05-07-2019 - |
Frage
Ich habe ein Plug-in zu einer Eclipse-RCP-Anwendung, die eine Aussicht hat. Nachdem ein Ereignis in der RCP-Anwendung auftritt, wird die Plug-in instanziiert, werden seine Methoden des Plug-In-Modell zu füllen genannt, aber ich kann nicht finden, wie die Ansicht, ohne sie das erscheinen lassen „Show View ...“ Menü .
Ich würde denken, dass es etwas in der Werkbank Singletons sein würde, die damit umgehen konnten, aber ich habe nicht herausgefunden, wie überall.
Lösung
Sie suchen wahrscheinlich für diese:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
Andere Tipps
Wenn von Handler eines Befehls namens
HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);
wäre besser, wie ich weiß.
fand ich die Notwendigkeit, den Blick nach vorne zu bringen, nachdem sie geöffnet worden waren und in den Hintergrund gedrängt. Die Activate-Methode funktioniert der Trick.
PlatformUI.getWorkbench()
.getActiveWorkbenchWindow()
.getActivePage()
.activate(workbenchPartToActivate);
. HINWEIS: Der workbenchPartToActivate ist eine Instanz IWorkbenchPart
In e4 ist der EPartService verantwortlich für Teile öffnen. Dies kann auch zu öffnen e3 ViewParts verwendet werden. Instanziieren die folgende Klasse durch Ihre IEclipseContext, rufen Sie die openPart-Methode, und Sie sollten die Eclipse-interne Browser-Ansicht sehen.
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);
}
}
Hier können Sie ein Beispiel finden, wie das funktioniert zusammen mit Ihre Application.e4xmi.