Class RowLayout
- java.lang.Object
-
- docking.widgets.fieldpanel.support.RowLayout
-
- All Implemented Interfaces:
Layout
- Direct Known Subclasses:
SingleRowLayout
public class RowLayout extends java.lang.Object implements Layout
RowLayout handles a single row layout that may be part of a multiple row layout that is generic enough to be used by the SingleRowLayout or the MultiRowLayout.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(int yPos)
Returns true if the the given yPos lies within this layout.int
cursorBeginning(FieldLocation cursorLoc)
Sets the given FieldLocation as far to the left as possible.boolean
cursorDown(FieldLocation cursorLoc, int lastX)
Moves the cursor up down row from its current position.int
cursorEnd(FieldLocation cursorLoc)
Sets the given FieldLocation as far to the right as possible.int
cursorLeft(FieldLocation cursorLoc)
Sets the given FieldLocation one position to the left.int
cursorRight(FieldLocation cursorLoc)
Sets the given FieldLocation one position to the right.boolean
cursorUp(FieldLocation cursorLoc, int lastX)
Moves the cursor up one row from its current position.boolean
enterLayout(FieldLocation cursorLoc, int lastX, boolean fromTop)
Tries to move the cursor into this layout.int
getBeginRowFieldNum(int field1)
int
getCompressableWidth()
Returns the smallest possible width of this layout that can display its full contentsjava.awt.Rectangle
getCursorRect(int fieldNum, int row, int col)
Returns a rectangle which bounds the given cursor position.int
getEndRowFieldNum(int field2)
Field
getField(int index)
Returns the i'th Field in this Layout.java.awt.Rectangle
getFieldBounds(int index)
Returns the bounds of the given field (in coordinates relative to the layout)int
getHeight()
Returns the total height of this layout.int
getHeightAbove()
Returns the height above the baseline.int
getHeightBelow()
Returns the height below the baseline.int
getIndexSize()
Returns the number of indexes consumed by this layout.int
getNumFields()
Returns the number of Fields in this Layout.int
getPrimaryOffset()
Returns the vertical offset (in pixels) of the start of the primary field in the layout.int
getRowID()
Returns the row number of this layout with respect to its containing layout.int
getScrollableUnitIncrement(int topOfScreen, int direction)
Returns the amount to scroll to reveal the line of text.void
insertSpaceAbove(int size)
Inserts empty space above the layoutvoid
insertSpaceBelow(int size)
Inserts empty space below the layoutvoid
paint(javax.swing.JComponent c, java.awt.Graphics g, PaintContext context, java.awt.Rectangle rect, LayoutBackgroundColorManager colorManager, FieldLocation cursorLocation)
Paints this layout on the screen.int
setCursor(FieldLocation cursorLoc, int x, int y)
Sets the cursor to the given point location.
-
-
-
Constructor Detail
-
RowLayout
public RowLayout(Field[] fields, int rowID)
Constructs a RowLayout from an array of fields- Parameters:
fields
- the set of fields that make up the entire layoutrowID
- the rowID of this row layout in the overall layout.
-
-
Method Detail
-
getHeight
public int getHeight()
Description copied from interface:Layout
Returns the total height of this layout.
-
getCompressableWidth
public int getCompressableWidth()
Description copied from interface:Layout
Returns the smallest possible width of this layout that can display its full contents- Specified by:
getCompressableWidth
in interfaceLayout
- Returns:
- the smallest possible width of this layout that can display its full contents
-
getHeightAbove
public int getHeightAbove()
Returns the height above the baseline.- Returns:
- the height above the baseline.
-
getHeightBelow
public int getHeightBelow()
Returns the height below the baseline.- Returns:
- the height below the baseline.
-
getRowID
public int getRowID()
Returns the row number of this layout with respect to its containing layout.- Returns:
- the row number of this layout with respect to its containing layout.
-
insertSpaceAbove
public void insertSpaceAbove(int size)
Description copied from interface:Layout
Inserts empty space above the layout- Specified by:
insertSpaceAbove
in interfaceLayout
- Parameters:
size
- the amount of space to insert above the layout
-
insertSpaceBelow
public void insertSpaceBelow(int size)
Description copied from interface:Layout
Inserts empty space below the layout- Specified by:
insertSpaceBelow
in interfaceLayout
- Parameters:
size
- the amount of space to insert below the layout
-
getNumFields
public int getNumFields()
Description copied from interface:Layout
Returns the number of Fields in this Layout.- Specified by:
getNumFields
in interfaceLayout
-
getField
public Field getField(int index)
Description copied from interface:Layout
Returns the i'th Field in this Layout.
-
paint
public void paint(javax.swing.JComponent c, java.awt.Graphics g, PaintContext context, java.awt.Rectangle rect, LayoutBackgroundColorManager colorManager, FieldLocation cursorLocation)
Description copied from interface:Layout
Paints this layout on the screen.- Specified by:
paint
in interfaceLayout
g
- The graphics context with which to paint.context
- contains various information needed to do the paintrect
- the screen area that needs to be painted.colorManager
- indicates where the selection existscursorLocation
- the location of the cursor or null if the cursor is not in this layout
-
setCursor
public int setCursor(FieldLocation cursorLoc, int x, int y)
Description copied from interface:Layout
Sets the cursor to the given point location. The cursor will be positioned to the row column position that is closest to the given point.- Specified by:
setCursor
in interfaceLayout
- Parameters:
cursorLoc
- the location that is to be filled in.x
- the x coordinate of the point to be translated into a cursor location.y
- the y coordinate of the point to be translated into a cursor location.- Returns:
- the x coordinated of the computed cursor location.
-
getCursorRect
public java.awt.Rectangle getCursorRect(int fieldNum, int row, int col)
Description copied from interface:Layout
Returns a rectangle which bounds the given cursor position.- Specified by:
getCursorRect
in interfaceLayout
- Parameters:
fieldNum
- the index of the field containing the cursor position.row
- the the text row in the field containing the cursor position.col
- the character position in the row containing the cursor position.
-
cursorUp
public boolean cursorUp(FieldLocation cursorLoc, int lastX)
Description copied from interface:Layout
Moves the cursor up one row from its current position.
-
cursorDown
public boolean cursorDown(FieldLocation cursorLoc, int lastX)
Description copied from interface:Layout
Moves the cursor up down row from its current position.- Specified by:
cursorDown
in interfaceLayout
- Parameters:
cursorLoc
- the cursor location object to be modifiedlastX
- the x coordinate of the cursor before the move.- Returns:
- true if the cursor was successfully moved down without leaving the layout.
-
cursorBeginning
public int cursorBeginning(FieldLocation cursorLoc)
Description copied from interface:Layout
Sets the given FieldLocation as far to the left as possible.- Specified by:
cursorBeginning
in interfaceLayout
- Parameters:
cursorLoc
- the cursor location object to be modified.- Returns:
- the x coordinate of the cursor after the operation.
-
cursorEnd
public int cursorEnd(FieldLocation cursorLoc)
Description copied from interface:Layout
Sets the given FieldLocation as far to the right as possible.
-
cursorLeft
public int cursorLeft(FieldLocation cursorLoc)
Description copied from interface:Layout
Sets the given FieldLocation one position to the left. If already at the left most position, it tries to move to the end of the previous row.- Specified by:
cursorLeft
in interfaceLayout
- Parameters:
cursorLoc
- the cursor location object to be modified.- Returns:
- the x coordinate of the cursor after the operation. Returns -1 if it was already at the top, left most position.
-
cursorRight
public int cursorRight(FieldLocation cursorLoc)
Description copied from interface:Layout
Sets the given FieldLocation one position to the right. If already at the right most position, it tries to move to the beginning of the next row.- Specified by:
cursorRight
in interfaceLayout
- Parameters:
cursorLoc
- the cursor location object to be modified.- Returns:
- the x coordinate of the cursor after the operation. Returns -1 if it was already at the bottom, right most position.
-
enterLayout
public boolean enterLayout(FieldLocation cursorLoc, int lastX, boolean fromTop)
Description copied from interface:Layout
Tries to move the cursor into this layout.- Specified by:
enterLayout
in interfaceLayout
- Parameters:
cursorLoc
- the field location to hold new location.lastX
- the last valid x coordinate.fromTop
- true if entering from the above this layout- Returns:
- true if the cursor successfully moves into this layout.
-
getScrollableUnitIncrement
public int getScrollableUnitIncrement(int topOfScreen, int direction)
Description copied from interface:Layout
Returns the amount to scroll to reveal the line of text.- Specified by:
getScrollableUnitIncrement
in interfaceLayout
- Parameters:
topOfScreen
- the y coordinate that represents the top or bottom of the screendirection
- the direction to scroll
-
contains
public boolean contains(int yPos)
Description copied from interface:Layout
Returns true if the the given yPos lies within this layout.
-
getPrimaryOffset
public int getPrimaryOffset()
Description copied from interface:Layout
Returns the vertical offset (in pixels) of the start of the primary field in the layout.- Specified by:
getPrimaryOffset
in interfaceLayout
- Returns:
- -1 if layout does not have a primary field.
-
getFieldBounds
public java.awt.Rectangle getFieldBounds(int index)
Description copied from interface:Layout
Returns the bounds of the given field (in coordinates relative to the layout)- Specified by:
getFieldBounds
in interfaceLayout
- Parameters:
index
- the field id for the field for which to get bounds
-
getIndexSize
public int getIndexSize()
Description copied from interface:Layout
Returns the number of indexes consumed by this layout.- Specified by:
getIndexSize
in interfaceLayout
-
getBeginRowFieldNum
public int getBeginRowFieldNum(int field1)
- Specified by:
getBeginRowFieldNum
in interfaceLayout
-
getEndRowFieldNum
public int getEndRowFieldNum(int field2)
- Specified by:
getEndRowFieldNum
in interfaceLayout
-
-