Package docking.widgets.fieldpanel.field
Class SimpleTextField
java.lang.Object
docking.widgets.fieldpanel.field.SimpleTextField
- All Implemented Interfaces:
Field
The simplest possible Text field. It does not clip and should only be used
when the text values always fit in field.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected Colorprotected intprotected intprotected final FieldHighlightFactoryprotected booleanprotected FontMetricsprotected intprotected intprotected intprotected Stringprotected int -
Constructor Summary
ConstructorsConstructorDescriptionSimpleTextField(String text, FontMetrics fontMetrics, int startX, int width, boolean allowCursorAtEnd, FieldHighlightFactory hlFactory) Constructs a new SimpleTextField. -
Method Summary
Modifier and TypeMethodDescriptionbooleancontains(int x, int y) Returns true if the given point is in this fieldprotected intfindColumn(String textString, int x) Finds the column position for the given pixel x coordinate in the indicated text string.intgetCol(int row, int x) Returns the cursor column position for the given x coordinate on the given rowgetCursorBounds(int row, int col) Returns a bounding rectangle for the cursor at the given positionGet the font metrics for this field.Get the foreground color.intReturns the height of this field when populated with the given dataintReturns the height above the baseLineintReturns the height below the baseLineintgetNumCols(int row) Returns the number of columns in the given rowintReturns the number of data model rows represented by this field.intReturns the number of rows in this fieldintThe minimum required width to paint the contents of this fieldintgetRow(int y) Returns the row containing the given y coordinateintgetScrollableUnitIncrement(int topOfScreen, int direction, int max) Returns the amount to scroll to the next or previous lineintReturns the horizontal position of this fieldgetText()Returns a string containing all the text in the fieldReturns a string containing all the text in the field with extra newlinesintgetWidth()Returns the current width of this fieldintgetX(int row, int col) Returns the x coordinate for the given cursor positionintgetY(int row) Returns the y coordinate for the given rowbooleanReturns true if the cursor is allow to be position past the last character.booleanReturns true if this field is "primary" (the most important) field; used to determine the "primary" line in the layoutbooleanisValid(int row, int col) Returns true if the given row and column represent a valid location for this field with the given datavoidpaint(JComponent c, Graphics g, PaintContext context, Rectangle clip, FieldBackgroundColorManager colorManager, RowColLocation cursorLoc, int rowHeight) Paints this fieldprotected voidpaintHighlights(Graphics g, Highlight[] highlights) protected voidpaintSelection(Graphics g, FieldBackgroundColorManager colorManager, int row) voidrowHeightChanged(int newHeightAbove, int newHeightBelow) notifies field that the rowHeight changedintscreenLocationToTextOffset(int row, int col) Returns the text offset in the overall field text string for the given row and columnvoidsetFontMetrics(FontMetrics metrics) Sets the font metricsvoidsetForeground(Color color) Set the foreground color for this field.voidsetPrimary(boolean state) Sets this primary state of this field.textOffsetToScreenLocation(int textOffset) Returns the row, column position for an offset into the string returned by getText()
-
Field Details
-
text
-
metrics
-
startX
protected int startX -
foregroundColor
-
width
protected int width -
preferredWidth
protected int preferredWidth -
heightAbove
protected int heightAbove -
heightBelow
protected int heightBelow -
numCols
protected int numCols -
allowCursorAtEnd
protected boolean allowCursorAtEnd -
isPrimary
protected boolean isPrimary -
hlFactory
-
-
Constructor Details
-
SimpleTextField
public SimpleTextField(String text, FontMetrics fontMetrics, int startX, int width, boolean allowCursorAtEnd, FieldHighlightFactory hlFactory) Constructs a new SimpleTextField.- Parameters:
text- The text for the field.fontMetrics- the fontMetrics used to render the text.startX- the starting x coordinate.width- the width of the field.allowCursorAtEnd- if true, allows the cursor to go one position past the end of the text.
-
-
Method Details
-
isAllowCursorAtEnd
public boolean isAllowCursorAtEnd()Returns true if the cursor is allow to be position past the last character. -
getWidth
public int getWidth()Description copied from interface:FieldReturns the current width of this field -
getPreferredWidth
public int getPreferredWidth()Description copied from interface:FieldThe minimum required width to paint the contents of this field- Specified by:
getPreferredWidthin interfaceField- Returns:
- the minimum required width to paint the contents of this field
-
getHeight
public int getHeight()Description copied from interface:FieldReturns the height of this field when populated with the given data -
getStartX
public int getStartX()Description copied from interface:FieldReturns the horizontal position of this field -
getNumDataRows
public int getNumDataRows()Description copied from interface:FieldReturns the number of data model rows represented by this field. Some fields may change the row count by wrapping or truncating. The value returned here will be the original data row count before any transformations were applied.- Specified by:
getNumDataRowsin interfaceField- Returns:
- the number of data rows
-
getNumRows
public int getNumRows()Description copied from interface:FieldReturns the number of rows in this field- Specified by:
getNumRowsin interfaceField- Returns:
- the number of rows in this field
- See Also:
-
getNumCols
public int getNumCols(int row) Description copied from interface:FieldReturns the number of columns in the given row- Specified by:
getNumColsin interfaceField- Parameters:
row- the row from which to get the number of columns; this is the screen row- Returns:
- the number of columns
- See Also:
-
getRow
public int getRow(int y) Description copied from interface:FieldReturns the row containing the given y coordinate -
getCol
public int getCol(int row, int x) Description copied from interface:FieldReturns the cursor column position for the given x coordinate on the given row -
getY
public int getY(int row) Description copied from interface:FieldReturns the y coordinate for the given row -
getX
public int getX(int row, int col) Description copied from interface:FieldReturns the x coordinate for the given cursor position -
isValid
public boolean isValid(int row, int col) Description copied from interface:FieldReturns true if the given row and column represent a valid location for this field with the given data -
paint
public void paint(JComponent c, Graphics g, PaintContext context, Rectangle clip, FieldBackgroundColorManager colorManager, RowColLocation cursorLoc, int rowHeight) Description copied from interface:FieldPaints this field- Specified by:
paintin interfaceField- Parameters:
c- the component to paint ontog- the graphics contextcontext- common paint parametersclip- the clipping region to paint intocolorManager- contains background color information for the fieldcursorLoc- the row,column cursor location within the field or null if the field does not contain the cursorrowHeight- the number of pixels in each row of text in the field
-
paintSelection
-
paintHighlights
-
getCursorBounds
Description copied from interface:FieldReturns a bounding rectangle for the cursor at the given position- Specified by:
getCursorBoundsin interfaceField- Parameters:
row- the text rowcol- the character position- Returns:
- the rectangle
-
findColumn
Finds the column position for the given pixel x coordinate in the indicated text string. -
contains
public boolean contains(int x, int y) Description copied from interface:FieldReturns true if the given point is in this field -
setForeground
Set the foreground color for this field.- Parameters:
color- the new foreground color.
-
getForeground
Get the foreground color.- Returns:
- Color could return null if the setForeground() method was not called, and if this method is called before the paint() method was called.
-
getScrollableUnitIncrement
public int getScrollableUnitIncrement(int topOfScreen, int direction, int max) Description copied from interface:FieldReturns the amount to scroll to the next or previous line- Specified by:
getScrollableUnitIncrementin interfaceField- Parameters:
topOfScreen- the current y position of the top of the screendirection- the direction of the scroll (1 down, -1 up)max- the maximum amount to scroll for the entire row - will be positive for down, and negative for up)- Returns:
- the scroll amount
- See Also:
-
setFontMetrics
Sets the font metrics- Parameters:
metrics- the fontmetrics to use.
-
getFontMetrics
Get the font metrics for this field. -
isPrimary
public boolean isPrimary()Description copied from interface:FieldReturns true if this field is "primary" (the most important) field; used to determine the "primary" line in the layout -
setPrimary
public void setPrimary(boolean state) Sets this primary state of this field.- Parameters:
state- if true, then makes this field primary.
-
getHeightAbove
public int getHeightAbove()Description copied from interface:FieldReturns the height above the baseLine- Specified by:
getHeightAbovein interfaceField- Returns:
- the height above
-
getHeightBelow
public int getHeightBelow()Description copied from interface:FieldReturns the height below the baseLine- Specified by:
getHeightBelowin interfaceField- Returns:
- the height below
-
rowHeightChanged
public void rowHeightChanged(int newHeightAbove, int newHeightBelow) Description copied from interface:Fieldnotifies field that the rowHeight changed- Specified by:
rowHeightChangedin interfaceField- Parameters:
newHeightAbove- the height above the baselinenewHeightBelow- the height below the baseline
-
getText
Description copied from interface:FieldReturns a string containing all the text in the field -
getTextWithLineSeparators
Description copied from interface:FieldReturns a string containing all the text in the field with extra newlines- Specified by:
getTextWithLineSeparatorsin interfaceField- Returns:
- a string containing all the text in the field with extra newlines
-
textOffsetToScreenLocation
Description copied from interface:FieldReturns the row, column position for an offset into the string returned by getText()- Specified by:
textOffsetToScreenLocationin interfaceField- Parameters:
textOffset- the offset into the entire text string for this field- Returns:
- a RowColLocation that contains the row,column location in the field for a position in the overall field text
-
screenLocationToTextOffset
public int screenLocationToTextOffset(int row, int col) Description copied from interface:FieldReturns the text offset in the overall field text string for the given row and column- Specified by:
screenLocationToTextOffsetin interfaceField- Parameters:
row- the rowcol- the column- Returns:
- the offset
-