Eclipse Draw2d
2.1

org.eclipse.draw2d
Class FlowLayout

java.lang.Object
  |
  +--org.eclipse.draw2d.AbstractLayout
        |
        +--org.eclipse.draw2d.AbstractHintLayout
              |
              +--org.eclipse.draw2d.FlowLayout
All Implemented Interfaces:
LayoutManager

public class FlowLayout
extends AbstractHintLayout

Lays out children in rows or columns, wrapping when the current row/column is filled. The aligment and spacing of rows in the parent can be configured. The aligment and spacing of children within a row can be configured.


Field Summary
static int ALIGN_CENTER
          Constant to specify components to be aligned in the center
static int ALIGN_LEFTTOP
          Constant to specify components to be aligned on the left/top
static int ALIGN_RIGHTBOTTOM
          Constant to specify components to be aligned on the right/bottom
protected  boolean fill
          The property that determines whether leftover space at the end of a row/column should be filled by the last item in that row/column.
protected  boolean horizontal
          The horizontal property.
static boolean HORIZONTAL
          Constant to specify components should be layed out horizontally
protected  int majorAlignment
          The alignment along the major axis.
protected  int majorSpacing
          The spacing along the major axis.
protected  int minorAlignment
          The alignment along the minor axis.
protected  int minorSpacing
          The spacing along the minor axis.
protected  Transposer transposer
          The transposer used in converting horizontal layout to vertical.
static boolean VERTICAL
          Constant to specify components should be layed out vertically
 
Fields inherited from class org.eclipse.draw2d.AbstractLayout
preferredSize
 
Constructor Summary
FlowLayout()
          Constructs a FlowLayout with horizontal orientation.
FlowLayout(boolean isHorizontal)
          Constructs a FlowLayout whose orientation is given in the input.
 
Method Summary
protected  Dimension calculatePreferredSize(IFigure container, int wHint, int hHint)
          Calculates the preferred size of the given figure, using width and height hints.
protected  Dimension getChildSize(IFigure child, int wHint, int hHint)
          Provides the given child's preferred size.
 int getMajorAlignment()
          Returns the alignment used for an entire row/column.
 int getMajorSpacing()
          Returns the spacing in pixels to be used between children in the direction parallel to the layout's orientation.
 int getMinorAlignment()
          Returns the alignment used for children within a row/column.
 int getMinorSpacing()
          Returns the spacing to be used between children within a row/column
 boolean isHorizontal()
          Returns true if the orientation of the layout is horizontal.
protected  boolean isSensitiveHorizontally(IFigure parent)
          Returns whether this layout manager is sensitive to changes in the horizontal hint.
protected  boolean isSensitiveVertically(IFigure parent)
          Returns whether this layout manager is sensitive to changes in the vertical hint.
 void layout(IFigure parent)
          Lays out the given figure.
protected  void layoutRow(IFigure parent)
          Layouts one row of components.
protected  void setBoundsOfChild(IFigure parent, IFigure child, Rectangle bounds)
          Sets the given bounds for the child figure input.
 void setHorizontal(boolean flag)
          Sets the orientation of the layout.
 void setMajorAlignment(int align)
          Sets the alignment for an entire row/column within the parent figure.
 void setMajorSpacing(int n)
          Sets the spacing in pixels to be used between children in the direction parallel to the layout's orientation.
 void setMinorAlignment(int align)
          Sets the alignment to be used within a row/column.
 void setMinorSpacing(int n)
          Sets the spacing to be used between children within a row/column.
 void setStretchMinorAxis(boolean value)
          Sets flag based on layout orientation.
 
Methods inherited from class org.eclipse.draw2d.AbstractHintLayout
calculateMinimumSize, getMinimumSize, getPreferredSize, invalidate
 
Methods inherited from class org.eclipse.draw2d.AbstractLayout
calculatePreferredSize, getBorderPreferredSize, getConstraint, getMinimumSize, getPreferredSize, invalidate, remove, setConstraint
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALIGN_CENTER

public static final int ALIGN_CENTER
Constant to specify components to be aligned in the center

See Also:
Constant Field Values

ALIGN_LEFTTOP

public static final int ALIGN_LEFTTOP
Constant to specify components to be aligned on the left/top

See Also:
Constant Field Values

ALIGN_RIGHTBOTTOM

public static final int ALIGN_RIGHTBOTTOM
Constant to specify components to be aligned on the right/bottom

See Also:
Constant Field Values

HORIZONTAL

public static final boolean HORIZONTAL
Constant to specify components should be layed out horizontally

See Also:
Constant Field Values

VERTICAL

public static final boolean VERTICAL
Constant to specify components should be layed out vertically

See Also:
Constant Field Values

horizontal

protected boolean horizontal
The horizontal property.


fill

protected boolean fill
The property that determines whether leftover space at the end of a row/column should be filled by the last item in that row/column.


transposer

protected Transposer transposer
The transposer used in converting horizontal layout to vertical.


majorAlignment

protected int majorAlignment
The alignment along the major axis.


minorAlignment

protected int minorAlignment
The alignment along the minor axis.


minorSpacing

protected int minorSpacing
The spacing along the minor axis.


majorSpacing

protected int majorSpacing
The spacing along the major axis.

Constructor Detail

FlowLayout

public FlowLayout()
Constructs a FlowLayout with horizontal orientation.

Since:
2.0

FlowLayout

public FlowLayout(boolean isHorizontal)
Constructs a FlowLayout whose orientation is given in the input.

Parameters:
isHorizontal - true if the layout should be horizontal
Since:
2.0
Method Detail

calculatePreferredSize

protected Dimension calculatePreferredSize(IFigure container,
                                           int wHint,
                                           int hHint)
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:
container - The figure
wHint - The width hint
hHint - The height hint
Returns:
The preferred size
See Also:
AbstractLayout.calculatePreferredSize(IFigure, int, int)

getChildSize

protected Dimension getChildSize(IFigure child,
                                 int wHint,
                                 int hHint)
Provides the given child's preferred size.

Parameters:
child - the Figure whose preferred size needs to be calculated
wHint - the width hint
hHint - the height hint
Returns:
the child's preferred size

getMajorAlignment

public int getMajorAlignment()
Returns the alignment used for an entire row/column.

Possible values are :

Returns:
the major alignment
Since:
2.0

getMajorSpacing

public int getMajorSpacing()
Returns the spacing in pixels to be used between children in the direction parallel to the layout's orientation.

Returns:
the major spacing

getMinorAlignment

public int getMinorAlignment()
Returns the alignment used for children within a row/column.

Possible values are :

Returns:
the minor alignment
Since:
2.0

getMinorSpacing

public int getMinorSpacing()
Returns the spacing to be used between children within a row/column. * @return the minor spacing


isHorizontal

public boolean isHorizontal()
Returns true if the orientation of the layout is horizontal.

Returns:
true if the orientation of the layout is horizontal
Since:
2.0

isSensitiveHorizontally

protected boolean isSensitiveHorizontally(IFigure parent)
Description copied from class: AbstractHintLayout
Returns whether this layout manager is sensitive to changes in the horizontal hint. By default, this method returns true.

Overrides:
isSensitiveHorizontally in class AbstractHintLayout
Parameters:
parent - the layout's container
Returns:
true if this layout is sensite to horizontal hint changes
See Also:
AbstractHintLayout.isSensitiveHorizontally(IFigure)

isSensitiveVertically

protected boolean isSensitiveVertically(IFigure parent)
Description copied from class: AbstractHintLayout
Returns whether this layout manager is sensitive to changes in the vertical hint. By default, this method returns true.

Overrides:
isSensitiveVertically in class AbstractHintLayout
Parameters:
parent - the layout's container
Returns:
true if this layout is sensite to vertical hint changes
See Also:
AbstractHintLayout.isSensitiveVertically(IFigure)

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)

layoutRow

protected void layoutRow(IFigure parent)
Layouts one row of components. This is done based on the layout's orientation, minor alignment and major alignment.

Parameters:
parent - the parent figure
Since:
2.0

setBoundsOfChild

protected void setBoundsOfChild(IFigure parent,
                                IFigure child,
                                Rectangle bounds)
Sets the given bounds for the child figure input.

Parameters:
parent - the parent figure
child - the child figure
bounds - the size of the child to be set
Since:
2.0

setStretchMinorAxis

public void setStretchMinorAxis(boolean value)
Sets flag based on layout orientation. If in horizontal orientation, all figures will have the same height. If in vertical orientation, all figures will have the same width.

Parameters:
value - fill state desired
Since:
2.0

setHorizontal

public void setHorizontal(boolean flag)
Sets the orientation of the layout.

Parameters:
flag - true if this layout should be horizontal
Since:
2.0

setMajorAlignment

public void setMajorAlignment(int align)
Sets the alignment for an entire row/column within the parent figure.

Possible values are :

Parameters:
align - the major alignment
Since:
2.0

setMajorSpacing

public void setMajorSpacing(int n)
Sets the spacing in pixels to be used between children in the direction parallel to the layout's orientation.

Parameters:
n - the major spacing
Since:
2.0

setMinorAlignment

public void setMinorAlignment(int align)
Sets the alignment to be used within a row/column.

Possible values are :

Parameters:
align - the minor alignment
Since:
2.0

setMinorSpacing

public void setMinorSpacing(int n)
Sets the spacing to be used between children within a row/column.

Parameters:
n - the minor spacing
Since:
2.0

Eclipse Draw2d
2.1

Copyright (c) IBM Corp. and others 2000, 2003. All Rights Reserved.