com.imagero.swing.layout
Class ToolBarLayout

java.lang.Object
  extended bycom.imagero.swing.layout.ToolBarLayout
All Implemented Interfaces:
java.awt.LayoutManager, java.awt.LayoutManager2

public class ToolBarLayout
extends java.lang.Object
implements java.awt.LayoutManager2

ToolBarLayout.
LayoutManager which can lay out multiple toolbars in one Container and supports wrapping.


Nested Class Summary
static class ToolBarLayout.PointRow
          since ToolBarDragHandler can't communicate direct with ToolBarLayout I use this class to pass row computed from Point supplied by ToolBarLayout back to ToolBarDragHandler
 
Field Summary
static int FILL_ORDER_HORIZONTAL
           
static int FILL_ORDER_STDANDARD
           
static int X_AXIS
           
static int Y_AXIS
           
 
Constructor Summary
ToolBarLayout(java.awt.Container target)
          create new ToolBarLayout
ToolBarLayout(int axis, java.awt.Container target)
          create new ToolBarLayout
 
Method Summary
 void addLayoutComponent(java.awt.Component comp, java.lang.Object constraints)
           
 void addLayoutComponent(java.lang.String name, java.awt.Component comp)
          not used
 void debug(java.lang.String s)
           
 void debugChildren()
          prints some infos about target's children.
 int getAxis()
           
 int getFillOrder()
           
 float getLayoutAlignmentX(java.awt.Container target)
           
 float getLayoutAlignmentY(java.awt.Container target)
           
 java.lang.String getName()
           
 int getPreferredRowHeight()
          get preferred row height of this LayoutManager
protected  void insert(int row, com.imagero.swing.layout.Entry newEntry)
          insert Component into row
 void invalidateLayout(java.awt.Container target)
           
 boolean isAskParentForMaxWidth()
          if true then:
if target has horizontal orientation then preferred width of target is less or equal to width of target's parent
if target has vertical orientation then preferred height of target is less or equal to height of target's parent
 boolean isHorizontal()
          check if orientation is horizontal
 boolean isInsertBetweenRows()
          check if Component can be inserted between rows (e.g. in new row)
 boolean isKeepTogether()
          if true then Components placed without gap between them
 boolean isVertical()
          check if orientation is vertical
 boolean isWrap()
           
 void layoutContainer(java.awt.Container parent)
           
 java.awt.Dimension maximumLayoutSize(java.awt.Container target)
           
 java.awt.Dimension minimumLayoutSize(java.awt.Container parent)
           
 int p2row(java.awt.Point pt)
          get row which contains given Point
 java.awt.Dimension preferredLayoutSize(java.awt.Container parent)
           
 void removeLayoutComponent(java.awt.Component comp)
           
 void setAskParentForMaxWidth(boolean askParentForMaxWidth)
           
 void setAxis(int axis)
           
 void setFillOrder(int fillOrder)
           
 void setInsertBetweenRows(boolean insertBetweenRows)
           
 void setKeepTogether(boolean keepTogether)
           
 void setName(java.lang.String name)
           
 void setPreferredRowHeight(int preferredRowHeight)
          set preferred row height for this LayoutManager
 void setWrap(boolean wrap)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

X_AXIS

public static final int X_AXIS
See Also:
Constant Field Values

Y_AXIS

public static final int Y_AXIS
See Also:
Constant Field Values

FILL_ORDER_STDANDARD

public static final int FILL_ORDER_STDANDARD
See Also:
Constant Field Values

FILL_ORDER_HORIZONTAL

public static final int FILL_ORDER_HORIZONTAL
See Also:
Constant Field Values
Constructor Detail

ToolBarLayout

public ToolBarLayout(java.awt.Container target)
create new ToolBarLayout

Parameters:
target - Container to lay out

ToolBarLayout

public ToolBarLayout(int axis,
                     java.awt.Container target)
create new ToolBarLayout

Parameters:
axis - orientation of target Container
target - Container to lay out
See Also:
Y_AXIS, X_AXIS
Method Detail

isAskParentForMaxWidth

public boolean isAskParentForMaxWidth()
if true then:
if target has horizontal orientation then preferred width of target is less or equal to width of target's parent
if target has vertical orientation then preferred height of target is less or equal to height of target's parent

Returns:

setAskParentForMaxWidth

public void setAskParentForMaxWidth(boolean askParentForMaxWidth)
Parameters:
askParentForMaxWidth - - if true then parent of target asked for width/height
See Also:
isAskParentForMaxWidth()

isVertical

public boolean isVertical()
check if orientation is vertical

Returns:
true if axis is set to Y_AXIS
See Also:
Y_AXIS

isHorizontal

public boolean isHorizontal()
check if orientation is horizontal

Returns:
true if axis is set to Y_AXIS
See Also:
X_AXIS

isKeepTogether

public boolean isKeepTogether()
if true then Components placed without gap between them

Returns:
true if Components should be keeped together

setKeepTogether

public void setKeepTogether(boolean keepTogether)
Parameters:
keepTogether - if true then Components are keeped together

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

toString

public java.lang.String toString()

addLayoutComponent

public void addLayoutComponent(java.awt.Component comp,
                               java.lang.Object constraints)
Specified by:
addLayoutComponent in interface java.awt.LayoutManager2

insert

protected void insert(int row,
                      com.imagero.swing.layout.Entry newEntry)
insert Component into row

Parameters:
row - row number
newEntry - Entry (contained Component)
See Also:
Entry

p2row

public int p2row(java.awt.Point pt)
get row which contains given Point

Parameters:
pt - Point
Returns:
row number

getLayoutAlignmentX

public float getLayoutAlignmentX(java.awt.Container target)
Specified by:
getLayoutAlignmentX in interface java.awt.LayoutManager2

getLayoutAlignmentY

public float getLayoutAlignmentY(java.awt.Container target)
Specified by:
getLayoutAlignmentY in interface java.awt.LayoutManager2

maximumLayoutSize

public java.awt.Dimension maximumLayoutSize(java.awt.Container target)
Specified by:
maximumLayoutSize in interface java.awt.LayoutManager2

invalidateLayout

public void invalidateLayout(java.awt.Container target)
Specified by:
invalidateLayout in interface java.awt.LayoutManager2

addLayoutComponent

public void addLayoutComponent(java.lang.String name,
                               java.awt.Component comp)
not used

Specified by:
addLayoutComponent in interface java.awt.LayoutManager

removeLayoutComponent

public void removeLayoutComponent(java.awt.Component comp)
Specified by:
removeLayoutComponent in interface java.awt.LayoutManager

preferredLayoutSize

public java.awt.Dimension preferredLayoutSize(java.awt.Container parent)
Specified by:
preferredLayoutSize in interface java.awt.LayoutManager

minimumLayoutSize

public java.awt.Dimension minimumLayoutSize(java.awt.Container parent)
Specified by:
minimumLayoutSize in interface java.awt.LayoutManager

layoutContainer

public void layoutContainer(java.awt.Container parent)
Specified by:
layoutContainer in interface java.awt.LayoutManager

debugChildren

public void debugChildren()
prints some infos about target's children.

See Also:
#isDebugComponent

getFillOrder

public int getFillOrder()

setFillOrder

public void setFillOrder(int fillOrder)

debug

public void debug(java.lang.String s)

isWrap

public boolean isWrap()

setWrap

public void setWrap(boolean wrap)

getAxis

public int getAxis()

setAxis

public void setAxis(int axis)

getPreferredRowHeight

public int getPreferredRowHeight()
get preferred row height of this LayoutManager

Returns:
preferred row height

setPreferredRowHeight

public void setPreferredRowHeight(int preferredRowHeight)
set preferred row height for this LayoutManager

Parameters:
preferredRowHeight - new preferred row height

isInsertBetweenRows

public boolean isInsertBetweenRows()
check if Component can be inserted between rows (e.g. in new row)

Returns:
true if Component can be inserted between rows

setInsertBetweenRows

public void setInsertBetweenRows(boolean insertBetweenRows)
Parameters:
insertBetweenRows - if true then Component can be inserted between rows