Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.ui
Interface IWorkbenchWindow

All Superinterfaces:
  IPageService, IRunnableContext

public interface IWorkbenchWindow
extends IPageService, IRunnableContext

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.

This interface is not intended to be implemented by clients.

See Also:
  `IWorkbenchPage`

Method Summary
`boolean` | `close()` Closes this workbench window.
`IWorkbenchPage` | `getActivePage()` Returns the currently active page for this workbench window.
`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(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(String perspectiveId, IAdaptable input)` Creates and opens a new workbench page.
`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.jface.operation.IRunnableContext
`run`

Method Detail

### close

    public 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

    public 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

    public 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

    public IPartService getPartService()

  Returns the part service which tracks part activation within this workbench window.

  Returns:
    the part service

### getSelectionService

    public ISelectionService getSelectionService()

  Returns the selection service which tracks selection within this workbench window.

  Returns:
    the selection service

### getShell

    public Shell getShell()

  Returns this workbench window's shell.

  Returns:
    the shell containing this window's controls

### getWorkbench

    public IWorkbench getWorkbench()

  Returns the workbench for this window.

  Returns:
    the workbench

### isApplicationMenu

    public 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 is not @issue this method should be deprecated and removed, only the application would know something like this.

### openPage

    public 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

    public 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)`

### setActivePage

    public void setActivePage(IWorkbenchPage page)

  Sets or clears the currently active page for this workbench window.

  Parameters:
    `page` - the new active page

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.