Tabbed Views
Es ist recht leicht möglich mehrere Views hintereinander anzuordnen. Die einzelnen Views können dann über Reiter ausgewählt werden.
package com.sowas.javawiki.rcp.views; import org.eclipse.ui.IFolderLayout; import org.eclipse.ui.IPageLayout; import org.eclipse.ui.IPerspectiveFactory; public class MyPerspectiveFactory implements IPerspectiveFactory { public final static String ID = "myviews"; public void createInitialLayout(IPageLayout layout) { layout.setEditorAreaVisible(true); IFolderLayout folder = layout.createFolder("MyViewsFolder", IPageLayout.LEFT, 0.33f, layout.getEditorArea()); folder.addPlaceholder("myview1id:*"); //$NON-NLS-1$ folder.addPlaceholder("myview2id:*"); //$NON-NLS-1$ folder.addPlaceholder("myview3id:*"); //$NON-NLS-1$ } }
Irgendwo kann dann die Views auf folgende Art und Weise geöffnet werden:
IWorkbenchPage activePage = workbench.getActiveWorkbenchWindow().getActivePage(); activePage.showView(myview1id, "1", IWorkbenchPage.VIEW_ACTIVATE);
Sollen vom selben View mehrere Instanzen geöffnet werden, so muss die „1“ (die Secondary Id) gegen einen pro View eindeutigen String ausgetauscht werden (z.B.: ““+index++).
View nur einmal pro Objekt öffnen
Wenn als Secondary Id eine Objekt-Id übergeben wird, so kann die View nur einmal pro Objekt geöffnet werden, aber mehrmals mit verschiedenen Objekten.