net.miginfocom.layout

Class IDEUtil

public class IDEUtil extends Object

This class contains static methods to be used by IDE vendors to convert to and from String/API constraints.

Note that LayoutUtil should be set to true for this class' methods to work.

Field Summary
static UnitValueBASELINE_IDENTITY
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueBOTTOM
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueCENTER
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueINF
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueLABEL
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueLEADING
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueLEFT
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueRIGHT
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueTOP
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueTRAILING
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
static UnitValueZERO
A direct reference to the corresponding value for predefined UnitValues in UnitValue.
Method Summary
static int[][]getColumnSizes(Object parentContainer)
Returns the sizes of the columns and gaps for a container.
static StringgetConstraintString(AC ac, boolean asAPI, boolean isCols)
Returns the a constraint string that can be re-parsed to be the exact same AxisConstraint.
static StringgetConstraintString(CC cc, boolean asAPI)
Returns the a constraint string that can be re-parsed to be the exact same LayoutConstraint.
static StringgetConstraintString(LC lc, boolean asAPI)
Returns the a constraint string that can be re-parsed to be the exact same LayoutConstraint.
static HashMap<Object,int[]>getGridPositions(Object parentContainer)
Returns the grid cells that the components in parentContainer has.
StringgetIDEUtilVersion()
Returns the version of IDEUtil
static int[][]getRowSizes(Object parentContainer)
Returns the sizes of the rows and gaps for a container.

Field Detail

BASELINE_IDENTITY

public static final UnitValue BASELINE_IDENTITY
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

BOTTOM

public static final UnitValue BOTTOM
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

CENTER

public static final UnitValue CENTER
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

INF

public static final UnitValue INF
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

LABEL

public static final UnitValue LABEL
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

LEADING

public static final UnitValue LEADING
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

LEFT

public static final UnitValue LEFT
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

RIGHT

public static final UnitValue RIGHT
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

TOP

public static final UnitValue TOP
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

TRAILING

public static final UnitValue TRAILING
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

ZERO

public static final UnitValue ZERO
A direct reference to the corresponding value for predefined UnitValues in UnitValue.

Method Detail

getColumnSizes

public static int[][] getColumnSizes(Object parentContainer)
Returns the sizes of the columns and gaps for a container. There will be two arrays returned [0] and [1].

The first array will be the indexes of the columns where indexes that are less than 30000 or larger than 30000 is docking columns. There might be extra docking columns that aren't visible but they always have size 0. Non docking indexes will probably always be 0, 1, 2, 3, etc..

The second array is the sizes of the form:
[top inset][column size 1][gap 1][column size 2][gap 2][column size n][bottom inset].

The returned sizes will be the ones calculated in the last layout cycle.

Parameters: parentContainer The container to retuern the column sizes and gaps for. In Swing it will be a java.awt.Container and in SWT it will be a org.eclipse.swt.widgets.Composite.

Returns: The sizes and indexes or null if isDesignTime is false or parentContainer does not have a MigLayout layout manager. The returned sizes will be the ones calculated in the last layout cycle.

See Also: isDesignTime

getConstraintString

public static final String getConstraintString(AC ac, boolean asAPI, boolean isCols)
Returns the a constraint string that can be re-parsed to be the exact same AxisConstraint.

Parameters: ac The axis constraint to return as a constraint string. asAPI If the returned string should be of API type (e.g. .flowX().gap("rel").align("right")) or as a String type (e.g. "flowx, gap rel, right"). isCols The the constraint should be returned for columns rather than rows.

Returns: A String. Never null.

getConstraintString

public static final String getConstraintString(CC cc, boolean asAPI)
Returns the a constraint string that can be re-parsed to be the exact same LayoutConstraint.

Parameters: cc The component constraint to return as a constraint string. asAPI If the returned string should be of API type (e.g. .flowX().gap("rel").align("right")) or as a String type (e.g. "flowx, gap rel, right").

Returns: A String. Never null.

getConstraintString

public static final String getConstraintString(LC lc, boolean asAPI)
Returns the a constraint string that can be re-parsed to be the exact same LayoutConstraint.

Parameters: lc The layout constraint to return as a constraint string. asAPI If the returned string should be of API type (e.g. .flowX().gap("rel").align("right")) or as a String type (e.g. "flowx, gap rel, right").

Returns: A String. Never null.

getGridPositions

public static HashMap<Object,int[]> getGridPositions(Object parentContainer)
Returns the grid cells that the components in parentContainer has.

Parameters: parentContainer The parent container. It is an object since MigLayout is GUI toolkit independent.

Returns: A new hashmap with the components mapped to an array [x, y, spanx, spany].

Dock components will always have x and y less than -30000 or more than 30000. This is since they are actually part of the grid, but on the outer edges.

Components that span the "rest of the row/column" have really large span values. Actually 30000-x or 30000-y.

Generally, the grid does not need to have the upper left at 0, 0. Though it normally does if you don't set the cells explicitly to other values. Rows and columns that are completely empty and that does not have an explicit row/column constraint will be totally disregarded.

getIDEUtilVersion

public String getIDEUtilVersion()
Returns the version of IDEUtil

Returns: The version.

getRowSizes

public static int[][] getRowSizes(Object parentContainer)
Returns the sizes of the rows and gaps for a container. There will be two arrays returned [0] and [1].

The first array will be the indexes of the rows where indexes that are less than 30000 or larger than 30000 is docking rows. There might be extra docking rows that aren't visible but they always have size 0. Non docking indexes will probably always be 0, 1, 2, 3, etc..

The second array is the sizes of the form:
[left inset][row size 1][gap 1][row size 2][gap 2][row size n][right inset].

The returned sizes will be the ones calculated in the last layout cycle.

Parameters: parentContainer The container to retuern the row sizes and gaps for. In Swing it will be a java.awt.Container and in SWT it will be a org.eclipse.swt.widgets.Composite.

Returns: The sizes or null if isDesignTime is false or parentContainer does not have a MigLayout layout manager. The returned sizes will be the ones calculated in the last layout cycle.

See Also: isDesignTime