RCP ViewPart Tab per Default öffnen

LSd

Erfahrenes Mitglied
Hallo,

ich habe eine Perspective mit 3 ViewParts, die per Tab angezeigt werden.

Nun möchte ich, sobald die Perspective geöffnet wird, nicht den ersten, sondern bspw. den zweiten Tab per Default geöffnet bekommen. Mein Ansatz ist:

Java:
IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
        IWorkbenchPage page = activeWorkbenchWindow.getActivePage();
        IViewPart part = page.findView(zweiteTabId);
        if (part == null) {
            try {
                part = page.showView(zweiteTabId);
                page.bringToTop(part);
            } catch (Exception e) {
               e.printStackTrace();
            }
        }

Beim Debuggen wird "part" gefüllt, allerdings zeigt er mir weiterhin den Inhalt des ersten Tabs zuerst an. Den Code führ ich übrigens in der Methode
Java:
@Override
	public void createInitialLayout(IPageLayout layout)

meiner Perspectiveklasse, die abgeleitet von IPerspectiveFactory ist, aus. Bin ich denn völlig falsch an der Stelle?

Grüße ;)
 
Hallo,

Ich weiss nicht genau ob deine Lösung wirklich falsch ist, aber ich habe den folgenden Code im ApplicationWorkbenchWindowAdvisor in die Methode postWindowOpen reingepackt.

Code:
IWorkbench oWorkbench = PlatformUI.getWorkbench();
IWorkbenchWindow oWindow = oWorkbench.getActiveWorkbenchWindow();
IViewPart oViewPart = oWindow.getActivePage().findView(xxx); //xxx=ID deiner View
oViewPart.getViewSite().getPage().activate(oViewPart.getSite().getPart());

Dann sollte der entsprechende Tab beim Starten aktiviert sein...

Freundliche Grüsse
CKingZesi
 
Zurück