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
`static java.lang.String` `DOWN_ARROW` Used as a constraint for the down arrow figure.
`static java.lang.String` `PAGE_DOWN` Used as a constraint for the page down figure.
`static java.lang.String` `PAGE_UP` Used as a constraint for the page up figure.
`static java.lang.String` `THUMB` Used as a constraint for the thumb figure.
`protected Transposer` `transposer` Transposes values if the ScrollBar is horizontally oriented.
`static java.lang.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 and Description
`ScrollBarLayout(Transposer t)` Constructs a ScrollBarLayout.

### Method Summary

Methods
`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, java.lang.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 Detail

#### UP_ARROW

    public static final java.lang.String UP_ARROW

Used as a constraint for the up arrow figure.

See Also:
  Constant Field Values

#### DOWN_ARROW

    public static final java.lang.String DOWN_ARROW

Used as a constraint for the down arrow figure.

See Also:
  Constant Field Values

#### THUMB

    public static final java.lang.String THUMB

Used as a constraint for the thumb figure.

See Also:
  Constant Field Values

#### PAGE_UP

    public static final java.lang.String PAGE_UP

Used as a constraint for the page up figure.

See Also:
  Constant Field Values

#### PAGE_DOWN

    public static final java.lang.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 Detail

#### 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 Detail

#### setConstraint

    public void setConstraint(IFigure figure,
                     java.lang.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)`