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.
Nested Class Summary
|
protected class
|
FlowLayout.WorkingData
Holds the necessary information for layout calculations. |
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
FlowLayout.WorkingData
|
data
|
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 |
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. |
protected void
|
initRow
()
Initializes the state of row data, which is internal to the layout process. |
protected void
|
initVariables
(
IFigure parent)
Initializes state data for laying out children, based on the Figure given as input. |
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 java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
|
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.
data
protected
FlowLayout.WorkingData data
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
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.
-
-
Returns:
- the minor spacing
initRow
protected void initRow()
- Initializes the state of row data, which is internal to the layout process.
-
initVariables
protected void initVariables(
IFigure parent)
- Initializes state data for laying out children, based on the Figure given as input.
-
-
Parameters:
-
parent
- the parent figure -
Since:
- 2.0
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
Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.