|
org.eclipse.draw2d.text
Class TextFlow
java.lang.Object
org.eclipse.draw2d.Figure
org.eclipse.draw2d.text.FlowFigure
org.eclipse.draw2d.text.InlineFlow
org.eclipse.draw2d.text.TextFlow
-
All Implemented Interfaces:
-
IFigure
- public class TextFlow
- extends
InlineFlow
An inline flow figure that renders a string of text across one or more lines. A
TextFlow cannot contain children. All InlineFlow figure's must be
parented by a FlowFigure .
WARNING: This class is not intended to be subclassed by clients.
-
Since:
- 2.1
Fields inherited from class org.eclipse.draw2d.
Figure
|
bgColor,
border,
bounds,
fgColor,
flags,
font,
MAX_FLAG,
maxSize,
minSize,
NO_MANAGER,
prefSize,
toolTip
|
Constructor Summary
|
TextFlow
()
Constructs a new TextFlow with the empty String. |
TextFlow
(java.lang.String s)
Constructs a new TextFlow with the specified String. |
Method Summary
|
boolean
|
addLeadingWordRequirements
(int[] width)
Returns the width of the text until the first line-break. |
protected void
|
contributeBidi
(
BidiProcessor proc)
A TextFlow contributes its text. |
protected
FlowFigureLayout
|
createDefaultFlowLayout
()
Creates the default layout manager |
BidiInfo
|
getBidiInfo
()
Returns the BidiInfo for this figure or null . |
protected java.lang.String
|
getBidiSubstring
(
TextFragmentBox box,
int index)
|
CaretInfo
|
getCaretPlacement
(int offset,
boolean trailing)
Returns the CaretInfo in absolute coordinates. |
int
|
getFirstOffsetForLine
(int baseline)
Returns the minimum character offset which is on the given baseline y-coordinate. |
protected
FlowUtilities
|
getFlowUtilities
()
Gets the FlowUtilities instance to be used in measurement
calculations. |
protected java.util.List
|
getFragmentsWithoutBorder
()
Returns the TextFragmentBox fragments contained in this TextFlow, not
including the border fragments. |
int
|
getLastOffsetForLine
(int baseline)
Returns the maximum offset for a character which is on the given baseline y-coordinate.
|
int
|
getNextOffset
(
Point p,
boolean down,
int[] trailing)
Returns the offset nearest the given point either up or down one line. |
int
|
getNextVisibleOffset
(int offset)
Returns the next offset which is visible in at least one fragment or -1 if there is
not one. |
int
|
getOffset
(
Point p,
int[] trailing,
Dimension proximity)
Returns the offset of the character directly below or nearest the given location. |
int
|
getPreviousVisibleOffset
(int offset)
Returns the previous offset which is visible in at least one fragment or -1 if there
is not one. |
java.lang.String
|
getText
()
|
protected
TextUtilities
|
getTextUtilities
()
Gets the TextUtilities instance to be used in measurement
calculations. |
boolean
|
isTextTruncated
()
Returns true if a portion if the text is truncated using ellipses ("..."). |
protected void
|
paintFigure
(
Graphics g)
Paints this Figure's primary representation, or background. |
protected void
|
paintSelection
(
Graphics graphics)
Renders the XOR selection rectangles to the graphics. |
protected void
|
paintText
(
Graphics g,
java.lang.String draw,
int x,
int y,
int bidiLevel)
|
void
|
setBidiInfo
(
BidiInfo info)
Sets the bidi information for this figure. |
void
|
setSelection
(int start,
int end)
Sets the extent of selection. |
void
|
setText
(java.lang.String s)
Sets the text being displayed. |
java.lang.String
|
toString
()
|
Methods inherited from class org.eclipse.draw2d.
Figure
|
add,
add,
add,
addAncestorListener,
addCoordinateListener,
addFigureListener,
addFocusListener,
addKeyListener,
addLayoutListener,
addListener,
addMouseListener,
addMouseMotionListener,
addNotify,
addPropertyChangeListener,
addPropertyChangeListener,
containsPoint,
erase,
findDescendantAtExcluding,
findFigureAt,
findFigureAt,
findFigureAt,
findFigureAtExcluding,
findMouseEventTargetAt,
findMouseEventTargetInDescendantsAt,
fireCoordinateSystemChanged,
fireFigureMoved,
fireMoved,
firePropertyChange,
firePropertyChange,
firePropertyChange,
getBackgroundColor,
getBorder,
getBounds,
getChildren,
getClientArea,
getClientArea,
getCursor,
getFlag,
getFont,
getForegroundColor,
getInsets,
getLayoutManager,
getListeners,
getLocalBackgroundColor,
getLocalFont,
getLocalForegroundColor,
getLocation,
getMaximumSize,
getMinimumSize,
getMinimumSize,
getParent,
getPreferredSize,
getPreferredSize,
getSize,
getToolTip,
getUpdateManager,
handleFocusGained,
handleFocusLost,
handleKeyPressed,
handleKeyReleased,
handleMouseDoubleClicked,
handleMouseDragged,
handleMouseEntered,
handleMouseExited,
handleMouseHover,
handleMouseMoved,
handleMousePressed,
handleMouseReleased,
hasFocus,
internalGetEventDispatcher,
intersects,
invalidate,
invalidateTree,
isCoordinateSystem,
isEnabled,
isFocusTraversable,
isMirrored,
isMouseEventTarget,
isOpaque,
isRequestFocusEnabled,
isShowing,
isValid,
isValidationRoot,
isVisible,
layout,
paint,
paintChildren,
paintClientArea,
primTranslate,
removeAll,
removeAncestorListener,
removeCoordinateListener,
removeFigureListener,
removeFocusListener,
removeKeyListener,
removeLayoutListener,
removeListener,
removeMouseListener,
removeMouseMotionListener,
removeNotify,
removePropertyChangeListener,
removePropertyChangeListener,
repaint,
repaint,
repaint,
requestFocus,
revalidate,
setBackgroundColor,
setChildrenDirection,
setChildrenEnabled,
setChildrenOrientation,
setConstraint,
setCursor,
setEnabled,
setFlag,
setFocusTraversable,
setFont,
setForegroundColor,
setLayoutManager,
setLocation,
setMaximumSize,
setMinimumSize,
setOpaque,
setParent,
setPreferredSize,
setPreferredSize,
setRequestFocusEnabled,
setSize,
setSize,
setToolTip,
setValid,
setVisible,
translate,
translateFromParent,
translateToAbsolute,
translateToParent,
translateToRelative,
useLocalCoordinates,
validate
|
Methods inherited from class java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
|
TextFlow
public TextFlow()
- Constructs a new TextFlow with the empty String.
-
See Also:
-
Object.Object()
TextFlow
public TextFlow(java.lang.String s)
- Constructs a new TextFlow with the specified String.
-
Parameters:
-
s - the string
addLeadingWordRequirements
public boolean addLeadingWordRequirements(int[] width)
- Returns the width of the text until the first line-break.
-
-
Overrides:
-
addLeadingWordRequirements
in class
InlineFlow
-
-
See Also:
-
FlowFigure.addLeadingWordRequirements(int[])
contributeBidi
protected void contributeBidi(
BidiProcessor proc)
- A TextFlow contributes its text.
-
-
Overrides:
-
contributeBidi
in class
FlowFigure
-
-
Parameters:
-
proc - the BidiProcessor to which contributions should be made -
See Also:
-
FlowFigure.contributeBidi(org.eclipse.draw2d.text.BidiProcessor)
createDefaultFlowLayout
protected
FlowFigureLayout createDefaultFlowLayout()
-
Description copied from class:
FlowFigure
- Creates the default layout manager
-
-
Overrides:
-
createDefaultFlowLayout
in class
InlineFlow
-
-
See Also:
-
InlineFlow.createDefaultFlowLayout()
getBidiInfo
public
BidiInfo getBidiInfo()
- Returns the BidiInfo for this figure or
null .
-
-
Returns:
-
null or the info -
Since:
- 3.1
getBidiSubstring
protected java.lang.String getBidiSubstring(
TextFragmentBox box,
int index)
-
-
Parameters:
-
box - which fragment -
index - the fragment index
-
Returns:
- the bidi string for that fragment
-
Since:
- 3.1
getCaretPlacement
public
CaretInfo getCaretPlacement(int offset,
boolean trailing)
- Returns the CaretInfo in absolute coordinates. The offset must be between 0 and the
length of the String being displayed.
-
-
Parameters:
-
offset - the location in this figure's text -
trailing - true if the caret is being placed after the offset
-
Returns:
- the caret bounds relative to this figure
-
Throws:
-
java.lang.IllegalArgumentException - If the offset is not between 0 and the
length of the string inclusively -
Since:
- 3.1
getFirstOffsetForLine
public int getFirstOffsetForLine(int baseline)
- Returns the minimum character offset which is on the given baseline y-coordinate. The y
location should be relative to this figure. The return value will be between
0 and N-1. If no fragment is located on the baseline,
-1 is returned.
-
-
Parameters:
-
baseline - the relative baseline coordinate
-
Returns:
- -1 or the lowest offset for the line
-
Since:
- 3.1
getFragmentsWithoutBorder
protected java.util.List getFragmentsWithoutBorder()
- Returns the
TextFragmentBox fragments contained in this TextFlow, not
including the border fragments. The returned list should not be modified.
-
-
Returns:
- list of fragments without the border fragments
-
Since:
- 3.4
getLastOffsetForLine
public int getLastOffsetForLine(int baseline)
- Returns the maximum offset for a character which is on the given baseline y-coordinate.
The y location should be relative to this figure. The return value will be between
0 and N-1. If no fragment is located on the baseline,
-1 is returned.
-
-
Parameters:
-
baseline - the relative baseline coordinate
-
Returns:
- -1 or the highest offset at the given baseline
-
Since:
- 3.1
getNextOffset
public int getNextOffset(
Point p,
boolean down,
int[] trailing)
- Returns the offset nearest the given point either up or down one line. If no offset
is found, -1 is returned.
trailing[0] will be set to 1 if the reference
point is closer to the trailing edge of the offset than it is to the leading edge.
-
-
Parameters:
-
p - a reference point -
down - true if the search is down -
trailing - an int array
-
Returns:
- the next offset or
-1
-
Since:
- 3.1
getNextVisibleOffset
public int getNextVisibleOffset(int offset)
- Returns the next offset which is visible in at least one fragment or -1 if there is
not one. A visible offset means that the character or the one preceding it is
displayed, which implies that a caret can be positioned at such an offset. This is
useful for advancing a caret past characters which resulted in a line wrap.
-
-
Parameters:
-
offset - the reference offset
-
Returns:
- the next offset which is visible
-
Since:
- 3.1
getOffset
public int getOffset(
Point p,
int[] trailing,
Dimension proximity)
- Returns the offset of the character directly below or nearest the given location. The
point must be relative to this figure. The return value will be between 0 and N-1. If
the proximity argument is not
null , the result may also be -1
if no offset was found within the proximity.
For a typical character, the trailing argument will be filled in to indicate whether
the point is closer to the leading edge (0) or the trailing edge (1). When the point
is over a cluster composed of multiple characters, the trailing argument will be filled
with the position of the character in the cluster that is closest to the point.
If the proximity argument is not null , then the location may be no further
than the proximity given. Passing null is equivalent to passing new
Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE) . The width field of
the proximity will contain the horizontal distance, height will contain
vertical. Vertical proximity is more important than horizontal. The returned offset is
the lowest index with minimum vertical proximity not exceeding the given limit, with
horizontal proximity not exceeding the given limit. If an offset that is within the
proximity is found, then the given Dimension will be updated to reflect
the new proximity.
-
-
Parameters:
-
p - the point relative to this figure -
trailing - the trailing buffer -
proximity - restricts and records the distance of the returned offset
-
Returns:
- the nearest offset in this figure's text
-
Since:
- 3.1
getPreviousVisibleOffset
public int getPreviousVisibleOffset(int offset)
- Returns the previous offset which is visible in at least one fragment or -1 if there
is not one. See
getNextVisibleOffset(int) for more.
-
-
Parameters:
-
offset - a reference offset
-
Returns:
- -1 or the previous offset which is visible
-
Since:
- 3.1
getText
public java.lang.String getText()
-
-
Returns:
- the String being displayed; will not be
null
isTextTruncated
public boolean isTextTruncated()
- Returns
true if a portion if the text is truncated using ellipses ("...").
-
-
Returns:
-
true if the text is truncated with ellipses
paintFigure
protected void paintFigure(
Graphics g)
-
Description copied from class:
Figure
- Paints this Figure's primary representation, or background. Changes made to the
graphics to the graphics current state will not affect the subsequent calls to
Figure.paintClientArea(Graphics) and
Figure.paintBorder(Graphics) . Furthermore, it is safe
to call graphics.restoreState() within this method, and doing so will
restore the graphics to its original state upon entry.
-
-
Overrides:
-
paintFigure
in class
Figure
-
-
Parameters:
-
g - The Graphics used to paint -
See Also:
-
Figure.paintFigure(Graphics)
paintSelection
protected void paintSelection(
Graphics graphics)
-
Description copied from class:
InlineFlow
- Renders the XOR selection rectangles to the graphics.
-
-
Overrides:
-
paintSelection
in class
InlineFlow
-
-
Parameters:
-
graphics - the graphics to paint on -
See Also:
-
InlineFlow.paintSelection(org.eclipse.draw2d.Graphics)
paintText
protected void paintText(
Graphics g,
java.lang.String draw,
int x,
int y,
int bidiLevel)
-
setBidiInfo
public void setBidiInfo(
BidiInfo info)
-
Description copied from class:
FlowFigure
- Sets the bidi information for this figure. A flow figure contributes bidi text in
FlowFigure.contributeBidi(BidiProcessor) . If the figure contributes text associated with
it, this method is called back to indicate the bidi properties for that text within its
block.
-
-
Overrides:
-
setBidiInfo
in class
FlowFigure
-
-
Parameters:
-
info - the BidiInfo for this figure -
See Also:
-
FlowFigure.setBidiInfo(org.eclipse.draw2d.text.BidiInfo)
setSelection
public void setSelection(int start,
int end)
- Sets the extent of selection. The selection range is inclusive. For example, the
range [0, 0] indicates that the first character is selected.
-
-
Overrides:
-
setSelection
in class
FlowFigure
-
-
Parameters:
-
start - the start offset -
end - the end offset -
Since:
- 3.1
setText
public void setText(java.lang.String s)
- Sets the text being displayed. The string may not be
null .
-
-
Parameters:
-
s - The new text
toString
public java.lang.String toString()
-
-
See Also:
-
Object.toString()
getFlowUtilities
protected
FlowUtilities getFlowUtilities()
- Gets the
FlowUtilities instance to be used in measurement
calculations.
-
-
Returns:
- a
FlowUtilities instance -
Since:
- 3.4
getTextUtilities
protected
TextUtilities getTextUtilities()
- Gets the
TextUtilities instance to be used in measurement
calculations.
-
-
Returns:
- a
TextUtilities instance -
Since:
- 3.4
Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.
|
|