# Interface IWorkbenchWindowConfigurer

All Known Implementing Classes:
  `WorkbenchWindowConfigurer`

public interface IWorkbenchWindowConfigurer
Interface providing special access for configuring workbench windows.

Window configurer objects are in 1-1 correspondence with the workbench windows they configure. Clients may use `get/setData` to associate arbitrary state with the window configurer object.

Note that these objects are only available to the main application (the plug-in that creates and owns the workbench).

This interface is not intended to be implemented by clients.

Since:
  3.0
See Also:
  - `IWorkbenchConfigurer.getWindowConfigurer(IWorkbenchWindow)`
  - `WorkbenchAdvisor.preWindowOpen(IWorkbenchWindowConfigurer)`
Restriction:
  This interface is not intended to be implemented by clients.

## Method Summary

Modifier and Type
Method
Description
`void`
`addEditorAreaTransfer(Transfer transfer)`
Adds the given drag and drop `Transfer` type to the ones supported for drag and drop on the editor area of this workbench window.
`void`
`configureEditorAreaDropListener(DropTargetListener dropTargetListener)`
Configures the drop target listener for the editor area of this workbench window.
`IActionBarConfigurer`
`getActionBarConfigurer()`
Returns the action bar configurer for this workbench window.
`Object`
`getData(String key)`
Returns the data associated with this workbench window at the given key.
`Point`
`getInitialSize()`
Returns the size to use for the window's shell when it is created.
`int`
`getShellStyle()`
Returns the style bits to use for the window's shell when it is created.
`boolean`
`getShowCoolBar()`
Returns whether the underlying workbench window has a cool bar.
`boolean`
`getShowMenuBar()`
Returns whether the underlying workbench window has a menu bar.
`boolean`
`getShowPerspectiveBar()`
Returns whether the underlying workbench window has a perspective bar (the perspective bar provides buttons to quickly switch between perspectives).
`boolean`
`getShowProgressIndicator()`
Returns whether the underlying workbench window has a progress indicator.
`boolean`
`getShowStatusLine()`
Returns whether the underlying workbench window has a status line.
`String`
`getTitle()`
Returns the title of the underlying workbench window.
`IWorkbenchWindow`
`getWindow()`
Returns the underlying workbench window.
`IWorkbenchConfigurer`
`getWorkbenchConfigurer()`
Returns the workbench configurer.
`IStatus`
`saveState(IMemento memento)`
Saves the current state of the window using the specified memento.
`void`
`setData(String key, Object data)`
Sets the data associated with this workbench window at the given key.
`void`
`setInitialSize(Point initialSize)`
Sets the size to use for the window's shell when it is created.
`void`
`setShellStyle(int shellStyle)`
Sets the style bits to use for the window's shell when it is created.
`void`
`setShowCoolBar(boolean show)`
Sets whether the underlying workbench window has a cool bar.
`void`
`setShowMenuBar(boolean show)`
Sets whether the underlying workbench window has a menu bar.
`void`
`setShowPerspectiveBar(boolean show)`
Sets whether the underlying workbench window has a perspective bar (the perspective bar provides buttons to quickly switch between perspectives).
`void`
`setShowProgressIndicator(boolean show)`
Sets whether the underlying workbench window has a progress indicator.
`void`
`setShowStatusLine(boolean show)`
Sets whether the underlying workbench window has a status line.
`void`
`setTitle(String title)`
Sets the title of the underlying workbench window.

## Method Details

### getWindow

IWorkbenchWindow getWindow()
Returns the underlying workbench window.

Returns:
  the workbench window

### getWorkbenchConfigurer

IWorkbenchConfigurer getWorkbenchConfigurer()
Returns the workbench configurer.

Returns:
  the workbench configurer

### getActionBarConfigurer

IActionBarConfigurer getActionBarConfigurer()
Returns the action bar configurer for this workbench window.

Returns:
  the action bar configurer

### getTitle

String getTitle()
Returns the title of the underlying workbench window.

Returns:
  the window title

### setTitle

void setTitle(String title)
Sets the title of the underlying workbench window.

Parameters:
  `title` - the window title

### getShowMenuBar

boolean getShowMenuBar()
Returns whether the underlying workbench window has a menu bar.

The initial value is `true`.

Returns:
  `true` for a menu bar, and `false` for no menu bar

### setShowMenuBar

void setShowMenuBar(boolean show)
Sets whether the underlying workbench window has a menu bar.

Parameters:
  `show` - `true` for a menu bar, and `false` for no menu bar

### getShowCoolBar

boolean getShowCoolBar()
Returns whether the underlying workbench window has a cool bar.

The initial value is `true`.

Returns:
  `true` for a cool bar, and `false` for no cool bar

### setShowCoolBar

void setShowCoolBar(boolean show)
Sets whether the underlying workbench window has a cool bar.

Parameters:
  `show` - `true` for a cool bar, and `false` for no cool bar

### getShowStatusLine

boolean getShowStatusLine()
Returns whether the underlying workbench window has a status line.

The initial value is `true`.

Returns:
  `true` for a status line, and `false` for no status line

### setShowStatusLine

void setShowStatusLine(boolean show)
Sets whether the underlying workbench window has a status line.

Parameters:
  `show` - `true` for a status line, and `false` for no status line

### getShowPerspectiveBar

boolean getShowPerspectiveBar()
Returns whether the underlying workbench window has a perspective bar (the perspective bar provides buttons to quickly switch between perspectives).

The initial value is `false`.

Returns:
  `true` for a perspective bar, and `false` for no perspective bar

### setShowPerspectiveBar

void setShowPerspectiveBar(boolean show)
Sets whether the underlying workbench window has a perspective bar (the perspective bar provides buttons to quickly switch between perspectives).

Parameters:
  `show` - `true` for a perspective bar, and `false` for no perspective bar

### getShowProgressIndicator

boolean getShowProgressIndicator()
Returns whether the underlying workbench window has a progress indicator.

The initial value is `false`.

Returns:
  `true` for a progress indicator, and `false` for no progress indicator

### setShowProgressIndicator

void setShowProgressIndicator(boolean show)
Sets whether the underlying workbench window has a progress indicator.

Parameters:
  `show` - `true` for a progress indicator, and `false` for no progress indicator

### getShellStyle

int getShellStyle()
Returns the style bits to use for the window's shell when it is created. The default is `SWT.SHELL_TRIM`.

Returns:
  the shell style bits

### setShellStyle

void setShellStyle(int shellStyle)
Sets the style bits to use for the window's shell when it is created. This method has no effect after the shell is created. That is, it must be called within the `preWindowOpen` callback on `WorkbenchAdvisor`.

For more details on the applicable shell style bits, see the documentation for `Shell`.

Parameters:
  `shellStyle` - the shell style bits

### getInitialSize

Point getInitialSize()
Returns the size to use for the window's shell when it is created.

Returns:
  the initial size to use for the shell

### setInitialSize

void setInitialSize(Point initialSize)
Sets the size to use for the window's shell when it is created. This method has no effect after the shell is created. That is, it must be called within the `preWindowOpen` callback on `WorkbenchAdvisor`.

Parameters:
  `initialSize` - the initial size to use for the shell

### getData

Object getData(String key)
Returns the data associated with this workbench window at the given key.

Parameters:
  `key` - the key
Returns:
  the data, or `null` if there is no data at the given key

### setData

void setData(String key, Object data)
Sets the data associated with this workbench window at the given key.

Parameters:
  `key` - the key
  `data` - the data, or `null` to delete existing data

### addEditorAreaTransfer

void addEditorAreaTransfer(Transfer transfer)
Adds the given drag and drop `Transfer` type to the ones supported for drag and drop on the editor area of this workbench window.

The workbench advisor would ordinarily call this method from the `preWindowOpen` callback. A newly-created workbench window supports no drag and drop transfer types. Adding `EditorInputTransfer.getInstance()` enables `IEditorInput`s to be transferred.

Note that drag and drop to the editor area requires adding one or more transfer types (using `addEditorAreaTransfer`) and configuring a drop target listener (with `configureEditorAreaDropListener`) capable of handling any of those transfer types.

Parameters:
  `transfer` - a drag and drop transfer object
See Also:
  - `configureEditorAreaDropListener(DropTargetListener)`
  - `EditorInputTransfer`

### configureEditorAreaDropListener

void configureEditorAreaDropListener(DropTargetListener dropTargetListener)
Configures the drop target listener for the editor area of this workbench window.

The workbench advisor ordinarily calls this method from the `preWindowOpen` callback. A newly-created workbench window has no configured drop target listener for its editor area.

Note that drag and drop to the editor area requires adding one or more transfer types (using `addEditorAreaTransfer`) and configuring a drop target listener (with `configureEditorAreaDropListener`) capable of handling any of those transfer types.

Parameters:
  `dropTargetListener` - the drop target listener that will handle requests to drop an object on to the editor area of this window
See Also:
  - `addEditorAreaTransfer(Transfer)`

### saveState

IStatus saveState(IMemento memento)
Saves the current state of the window using the specified memento.

Parameters:
  `memento` - the memento in which to save the window's state
Returns:
  a status object indicating whether the save was successful
Since:
  3.1
See Also:
  - `IWorkbenchConfigurer.restoreWorkbenchWindow(IMemento)`