|
Eclipse Platform Release 3.6 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface IWorkbenchWindow
A workbench window is a top level window in a workbench. Visually, a workbench window has a menubar, a toolbar, a status bar, and a main area for displaying a single page consisting of a collection of views and editors.
Each workbench window has a collection of 0 or more pages; the active page is the one that is being presented to the end user; at most one page is active in a window at a time.
The workbench window supports a few services by
default. If these services are used to allocate resources, it is important to
remember to clean up those resources after you are done with them. Otherwise,
the resources will exist until the workbench window is closed. The supported
services are:
ICommandServiceIContextServiceIHandlerServiceIBindingService. Resources allocated through this service will
not be cleaned up until the workbench shuts down.This interface is not intended to be implemented by clients.
IWorkbenchPage| Method Summary | |
|---|---|
boolean |
close()
Closes this workbench window. |
IWorkbenchPage |
getActivePage()
Returns the currently active page for this workbench window. |
IExtensionTracker |
getExtensionTracker()
Return the extension tracker for the workbench. |
IWorkbenchPage[] |
getPages()
Returns a list of the pages in this workbench window. |
IPartService |
getPartService()
Returns the part service which tracks part activation within this workbench window. |
ISelectionService |
getSelectionService()
Returns the selection service which tracks selection within this workbench window. |
Shell |
getShell()
Returns this workbench window's shell. |
IWorkbench |
getWorkbench()
Returns the workbench for this window. |
boolean |
isApplicationMenu(java.lang.String menuId)
Returns whether the specified menu is an application menu as opposed to a part menu. |
IWorkbenchPage |
openPage(IAdaptable input)
Creates and opens a new workbench page. |
IWorkbenchPage |
openPage(java.lang.String perspectiveId,
IAdaptable input)
Creates and opens a new workbench page. |
void |
run(boolean fork,
boolean cancelable,
IRunnableWithProgress runnable)
This specialization of IRunnableContext#run(boolean, boolean, IRunnableWithProgress) blocks until the runnable has been run, regardless of the value of fork. |
void |
setActivePage(IWorkbenchPage page)
Sets or clears the currently active page for this workbench window. |
| Methods inherited from interface org.eclipse.ui.IPageService |
|---|
addPageListener, addPerspectiveListener, removePageListener, removePerspectiveListener |
| Methods inherited from interface org.eclipse.ui.services.IServiceLocator |
|---|
getService, hasService |
| Method Detail |
|---|
boolean close()
If the window has an open editor with unsaved content, the user will be given the opportunity to save it.
true if the window was successfully closed, and
false if it is still openIWorkbenchPage getActivePage()
getActivePage in interface IPageServicenull if noneIWorkbenchPage[] getPages()
Note that each window has its own pages; pages are never shared between different windows.
IPartService getPartService()
ISelectionService getSelectionService()
Shell getShell()
getShell in interface IShellProvidernull
if the shell has not been created yet or if the window has been closedIWorkbench getWorkbench()
boolean isApplicationMenu(java.lang.String menuId)
This is typically used during "in place" editing. Application menus should be preserved during menu merging. All other menus may be removed from the window.
menuId - the menu id
true if the specified menu is an application
menu, and false if it is not
IWorkbenchPage openPage(java.lang.String perspectiveId,
IAdaptable input)
throws WorkbenchException
Note: Since release 2.0, a window is limited to contain at most
one page. If a page exist in the window when this method is used, then
another window is created for the new page. Callers are strongly
recommended to use the IWorkbench.showPerspective APIs to
programmatically show a perspective.
perspectiveId - the perspective id for the window's initial pageinput - the page input, or null if there is no current
input. This is used to seed the input for the new page's
views.
WorkbenchException - if a page could not be openedIWorkbench.showPerspective(String, IWorkbenchWindow, IAdaptable)
IWorkbenchPage openPage(IAdaptable input)
throws WorkbenchException
Note: Since release 2.0, a window is limited to contain at most
one page. If a page exist in the window when this method is used, then
another window is created for the new page. Callers are strongly
recommended to use the IWorkbench.showPerspective APIs to
programmatically show a perspective.
input - the page input, or null if there is no current
input. This is used to seed the input for the new page's
views.
WorkbenchException - if a page could not be openedIWorkbench.showPerspective(String, IWorkbenchWindow, IAdaptable)
void run(boolean fork,
boolean cancelable,
IRunnableWithProgress runnable)
throws java.lang.reflect.InvocationTargetException,
java.lang.InterruptedException
fork.
It is recommended that fork is set to
true in most cases. If fork is set to false,
the runnable will run in the UI thread and it is the runnable's
responsibility to call Display.readAndDispatch()
to ensure UI responsiveness.
run in interface IRunnableContextfork - true if the runnable should be run in a separate thread,
and false to run in the same threadcancelable - true to enable the cancelation, and
false to make the operation uncancellablerunnable - the runnable to run
java.lang.reflect.InvocationTargetException - wraps any exception or error which occurs
while running the runnable
java.lang.InterruptedException - propagated by the context if the runnable
acknowledges cancelation by throwing this exception. This should not be thrown
if cancelable is false.void setActivePage(IWorkbenchPage page)
page - the new active pageIExtensionTracker getExtensionTracker()
Return the extension tracker for the workbench. This tracker may be used by plug-ins to ensure responsiveness to changes to the plug-in registry.
The tracker at this level of the workbench is typically used to track elements that persist for the life of the workbench. For example, the action objects corresponding to new wizards contributed by plug-ins fall into this category.
IWorkbench.getExtensionTracker(),
IWorkbenchPage.getExtensionTracker()
|
Eclipse Platform Release 3.6 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2010. All rights reserved.