# Class SectionPart

java.lang.Object
org.eclipse.ui.forms.AbstractFormPart
org.eclipse.ui.forms.SectionPart

All Implemented Interfaces:
  `IFormPart`

public class SectionPart extends AbstractFormPart
Section part implements IFormPart interface based on the Section widget. It can either wrap the widget or create one itself.

Subclasses should extend `SectionPart` and implement life cycle methods like `refresh`, `commit`, `setFocus` etc. Note that most of these methods are not empty - calling `super` is required.

Since:
  3.0
See Also:
  - `Section`

## Constructor Summary

Constructors
Constructor
Description
`SectionPart(Composite parent, FormToolkit toolkit, int style)`
Creates a new section part inside the provided parent and using the provided toolkit.
`SectionPart(Section section)`
Creates a new section part based on the provided section.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`expansionStateChanged(boolean expanded)`
The section has expanded or collapsed.
`protected void`
`expansionStateChanging(boolean expanding)`
The section is about to expand or collapse.
`Section`
`getSection()`
Returns the section widget used in this part.
`protected void`
`hookListeners()`
Adds listeners to the underlying widget.
`void`
`setFocus()`
Instructs the part to grab keyboard focus.

### Methods inherited from class AbstractFormPart

`commit, dispose, getManagedForm, initialize, isDirty, isStale, markDirty, markStale, refresh, setFormInput`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SectionPart

public SectionPart(Section section)
Creates a new section part based on the provided section.

Parameters:
  `section` - the section to use

### SectionPart

public SectionPart(Composite parent, FormToolkit toolkit, int style)
Creates a new section part inside the provided parent and using the provided toolkit. The section part will create the section widget.

Parameters:
  `parent` - the parent
  `toolkit` - the toolkit to use
  `style` - the section widget style

## Method Details

### hookListeners

protected void hookListeners()
Adds listeners to the underlying widget.

### getSection

public Section getSection()
Returns the section widget used in this part.

Returns:
  the section widget

### expansionStateChanging

protected void expansionStateChanging(boolean expanding)
The section is about to expand or collapse.

Parameters:
  `expanding` - `true` for expansion, `false` for collapse.

### expansionStateChanged

protected void expansionStateChanged(boolean expanded)
The section has expanded or collapsed.

Parameters:
  `expanded` - `true` for expansion, `false` for collapse.

### setFocus

public void setFocus()
Description copied from class: `AbstractFormPart`
Instructs the part to grab keyboard focus.

Specified by:
  `setFocus` in interface `IFormPart`
Overrides:
  `setFocus` in class `AbstractFormPart`