Package org.eclipse.draw2d

# Class ScrollBarLayout

java.lang.Object
org.eclipse.draw2d.AbstractLayout
org.eclipse.draw2d.ScrollBarLayout

All Implemented Interfaces:
  `LayoutManager`

public class ScrollBarLayout extends AbstractLayout
Lays out the Figures that make up a ScrollBar.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DOWN_ARROW`
Used as a constraint for the down arrow figure.
`static final String`
`PAGE_DOWN`
Used as a constraint for the page down figure.
`static final String`
`PAGE_UP`
Used as a constraint for the page up figure.
`static final String`
`THUMB`
Used as a constraint for the thumb figure.
`protected final Transposer`
`transposer`
Transposes values if the ScrollBar is horizontally oriented.
`static final String`
`UP_ARROW`
Used as a constraint for the up arrow figure.

### Fields inherited from class org.eclipse.draw2d.AbstractLayout

`isObservingVisibility, preferredSize`

## Constructor Summary

Constructors
Constructor
Description
`ScrollBarLayout(Transposer t)`
Constructs a ScrollBarLayout.

## Method Summary

Modifier and Type
Method
Description
`protected Dimension`
`calculatePreferredSize(IFigure parent, int w, int h)`
Calculates the preferred size of the given figure, using width and height hints.
`void`
`layout(IFigure parent)`
Lays out the given figure.
`protected Rectangle`
`layoutButtons(ScrollBar scrollBar)`
Places the buttons and returns the Rectangle into which the track should be placed.
`void`
`remove(IFigure child)`
Removes the given figure from this LayoutManager's list of figures.
`void`
`setConstraint(IFigure figure, Object constraint)`
Sets the constraint for the given figure.

### Methods inherited from class org.eclipse.draw2d.AbstractLayout

`calculatePreferredSize, getBorderPreferredSize, getConstraint, getMinimumSize, getMinimumSize, getPreferredSize, getPreferredSize, invalidate, invalidate, isObservingVisibility, setObserveVisibility`

### Methods inherited from class java.lang.Object

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

## Field Details

### UP_ARROW

public static final String UP_ARROW
Used as a constraint for the up arrow figure.

See Also:
  - Constant Field Values

### DOWN_ARROW

public static final String DOWN_ARROW
Used as a constraint for the down arrow figure.

See Also:
  - Constant Field Values

### THUMB

public static final String THUMB
Used as a constraint for the thumb figure.

See Also:
  - Constant Field Values

### PAGE_UP

public static final String PAGE_UP
Used as a constraint for the page up figure.

See Also:
  - Constant Field Values

### PAGE_DOWN

public static final String PAGE_DOWN
Used as a constraint for the page down figure.

See Also:
  - Constant Field Values

### transposer

protected final Transposer transposer
Transposes values if the ScrollBar is horizontally oriented. When used properly, the layout manager just needs to code for one case: vertical orientation.

## Constructor Details

### ScrollBarLayout

public ScrollBarLayout(Transposer t)
Constructs a ScrollBarLayout. If the given Transposer is enabled, the Scrollbar will be horizontally oriented. Otherwise, the ScrollBar will be vertically oriented.

Parameters:
  `t` - the Transposer
Since:
  2.0

## Method Details

### setConstraint

public void setConstraint(IFigure figure, Object constraint)
Description copied from class: `AbstractLayout`
Sets the constraint for the given figure.

Specified by:
  `setConstraint` in interface `LayoutManager`
Overrides:
  `setConstraint` in class `AbstractLayout`
Parameters:
  `figure` - the child
  `constraint` - the child's new constraint
See Also:
  - `AbstractLayout.setConstraint(IFigure, Object)`

### calculatePreferredSize

protected Dimension calculatePreferredSize(IFigure parent, int w, int h)
Description copied from class: `AbstractLayout`
Calculates the preferred size of the given figure, using width and height hints.

Specified by:
  `calculatePreferredSize` in class `AbstractLayout`
Parameters:
  `parent` - The figure
  `w` - The width hint
  `h` - The height hint
Returns:
  The preferred size
See Also:
  - `AbstractLayout.calculatePreferredSize(IFigure, int, int)`

### layout

public void layout(IFigure parent)
Description copied from interface: `LayoutManager`
Lays out the given figure.

Parameters:
  `parent` - The figure
See Also:
  - `LayoutManager.layout(IFigure)`

### layoutButtons

protected Rectangle layoutButtons(ScrollBar scrollBar)
Places the buttons and returns the Rectangle into which the track should be placed. The track consists of the pageup, pagedown, and thumb figures. The Rectangle returned should be transposed correctly, that is, it should be vertically oriented. Users of the rectangle will re-transpose it for horizontal use.

Parameters:
  `scrollBar` - the scrollbar whose buttons are being layed out
Returns:
  the Rectangle into which the track should be placed
Since:
  2.0

### remove

public void remove(IFigure child)
Description copied from class: `AbstractLayout`
Removes the given figure from this LayoutManager's list of figures.

Specified by:
  `remove` in interface `LayoutManager`
Overrides:
  `remove` in class `AbstractLayout`
Parameters:
  `child` - The figure to remove
See Also:
  - `LayoutManager.remove(IFigure)`