Package org.eclipse.jface.menus

# Interface IWidget

All Known Subinterfaces:
  `IWorkbenchWidget`

All Known Implementing Classes:
  `AbstractTrimWidget`, `AbstractWorkbenchTrimWidget`

public interface IWidget

Provides a hook by which third-party code can contribute SWT widgets to a menu, tool bar or status line. This can be used, for example, to add a combo box to the status line, or a "Location" bar to the tool bar.

It is possible for fill and dispose to be called multiple times for a single instance of `IWidget`.

Clients may implement, but must not extend.

Since:
  3.2

## Method Summary

Modifier and Type
Method
Description
`void`
`dispose()`
Disposes of the underlying widgets.
`void`
`fill(Composite parent)`
Fills the given composite control with controls representing this widget.
`void`
`fill(CoolBar parent, int index)`
Fills the given cool bar with controls representing this contribution item.
`void`
`fill(Menu parent, int index)`
Fills the given menu with controls representing this widget.
`void`
`fill(ToolBar parent, int index)`
Fills the given tool bar with controls representing this contribution item.

## Method Details

### dispose

void dispose()
Disposes of the underlying widgets. This can be called when the widget is becoming hidden.

### fill

void fill(Composite parent)
Fills the given composite control with controls representing this widget.

Parameters:
  `parent` - the parent control

### fill

void fill(Menu parent, int index)
Fills the given menu with controls representing this widget.

Parameters:
  `parent` - the parent menu
  `index` - the index where the controls are inserted, or `-1` to insert at the end

### fill

void fill(ToolBar parent, int index)
Fills the given tool bar with controls representing this contribution item.

Parameters:
  `parent` - the parent tool bar
  `index` - the index where the controls are inserted, or `-1` to insert at the end

### fill

void fill(CoolBar parent, int index)
Fills the given cool bar with controls representing this contribution item.

Parameters:
  `parent` - the parent cool bar
  `index` - the index where the controls are inserted, or `-1` to insert at the end