org.eclipse.ui
Interface IWorkbenchWindow
-
All Superinterfaces:
-
IPageService,
IRunnableContext,
IServiceLocator,
IShellProvider
-
public interface IWorkbenchWindow
- extends
IPageService,
IRunnableContext,
IServiceLocator,
IShellProvider
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:
This interface is not intended to be implemented by clients.
-
See Also:
-
IWorkbenchPage
-
Restriction:
- This interface is not intended to be implemented by clients.
close
boolean close()
- Closes this workbench window.
If the window has an open editor with unsaved content, the user will be
given the opportunity to save it.
-
-
-
Returns:
-
true
if the window was successfully closed, and
false
if it is still open
getActivePage
IWorkbenchPage getActivePage()
- Returns the currently active page for this workbench window.
-
-
Specified by:
-
getActivePage
in interface
IPageService
-
-
Returns:
- the active page, or
null
if none
getPages
IWorkbenchPage[] getPages()
- Returns a list of the pages in this workbench window.
Note that each window has its own pages; pages are never shared between
different windows.
-
-
-
Returns:
- a list of pages
getPartService
IPartService getPartService()
- Returns the part service which tracks part activation within this
workbench window.
-
-
-
Returns:
- the part service
getSelectionService
ISelectionService getSelectionService()
- Returns the selection service which tracks selection within this
workbench window.
-
-
-
Returns:
- the selection service
getShell
Shell getShell()
- Returns this workbench window's shell.
-
-
Specified by:
-
getShell
in interface
IShellProvider
-
-
Returns:
- the shell containing this window's controls or
null
if the shell has not been created yet or if the window has been closed
getWorkbench
IWorkbench getWorkbench()
- Returns the workbench for this window.
-
-
-
Returns:
- the workbench
isApplicationMenu
boolean isApplicationMenu(
String menuId)
- Returns whether the specified menu is an application menu as opposed to
a part menu. Application menus contain items which affect the workbench
or window. Part menus contain items which affect the active part (view
or editor).
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.
-
-
-
Parameters:
-
menuId
- the menu id
-
Returns:
-
true
if the specified menu is an application
menu, and false
if it is not
openPage
IWorkbenchPage openPage(
String perspectiveId,
IAdaptable input)
throws
WorkbenchException
- Creates and opens a new workbench page. The perspective of the new page
is defined by the specified perspective ID. The new page become active.
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.
-
-
-
Parameters:
-
perspectiveId
- the perspective id for the window's initial page -
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.
-
Returns:
- the new workbench page
-
Throws:
-
WorkbenchException
- if a page could not be opened -
See Also:
-
IWorkbench.showPerspective(String, IWorkbenchWindow, IAdaptable)
openPage
IWorkbenchPage openPage(
IAdaptable input)
throws
WorkbenchException
- Creates and opens a new workbench page. The default perspective is used
as a template for creating the page. The page becomes active.
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.
-
-
-
Parameters:
-
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.
-
Returns:
- the new workbench window
-
Throws:
-
WorkbenchException
- if a page could not be opened -
See Also:
-
IWorkbench.showPerspective(String, IWorkbenchWindow, IAdaptable)
run
void run(boolean fork,
boolean cancelable,
IRunnableWithProgress runnable)
throws
InvocationTargetException,
InterruptedException
- This specialization of IRunnableContext#run(boolean, boolean,
IRunnableWithProgress) blocks until the runnable has been run,
regardless of the value of
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.
-
-
Specified by:
-
run
in interface
IRunnableContext
-
-
Parameters:
-
fork
- true
if the runnable should be run in a separate thread,
and false
to run in the same thread -
cancelable
- true
to enable the cancelation, and
false
to make the operation uncancellable -
runnable
- the runnable to run
-
Throws:
-
InvocationTargetException
- wraps any exception or error which occurs
while running the runnable
-
InterruptedException
- propagated by the context if the runnable
acknowledges cancelation by throwing this exception. This should not be thrown
if cancelable is false
. -
Since:
- 3.2
setActivePage
void setActivePage(
IWorkbenchPage page)
- Sets or clears the currently active page for this workbench window.
-
-
-
Parameters:
-
page
- the new active page
getExtensionTracker
IExtensionTracker 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.
-
-
-
Returns:
- the extension tracker
-
Since:
- 3.1
-
See Also:
-
IWorkbench.getExtensionTracker()
,
IWorkbenchPage.getExtensionTracker()
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.