javax.swing.text

Class WrappedPlainView

public class WrappedPlainView extends BoxView implements TabExpander

Constructor Summary
WrappedPlainView(Element elem)
WrappedPlainView(Element elem, boolean wordWrap)
Method Summary
protected intcalculateBreakPosition(int p0, int p1)
Calculates the break position for the text between model positions p0 and p1.
voidchangedUpdate(DocumentEvent e, Shape a, ViewFactory f)
Called when the portion of the Document that this View is responsible for changes.
protected voiddrawLine(int p0, int p1, Graphics g, int x, int y)
Draws a line of text, suppressing white space at the end and expanding tabs.
protected intdrawSelectedText(Graphics g, int x, int y, int p0, int p1)
Renders the range of text as selected text.
protected intdrawUnselectedText(Graphics g, int x, int y, int p0, int p1)
Renders the range of text as normal unhighlighted text.
protected SegmentgetLineBuffer()
Provides access to the Segment used for retrievals from the Document.
floatgetMaximumSpan(int axis)
Determines the maximum span along the given axis.
floatgetMinimumSpan(int axis)
Determines the minimum span along the given axis.
floatgetPreferredSpan(int axis)
Determines the preferred span along the given axis.
protected intgetTabSize()
Returns the tab size for the Document based on PlainDocument.tabSizeAttribute, defaulting to 8 if this property is not defined
voidinsertUpdate(DocumentEvent e, Shape a, ViewFactory f)
Called when something was inserted.
protected voidloadChildren(ViewFactory f)
Loads the children to initiate the view.
floatnextTabStop(float x, int tabStop)
Returns the next tab stop position after a given reference position.
voidpaint(Graphics g, Shape a)
Renders the Element that is associated with this View.
voidremoveUpdate(DocumentEvent e, Shape a, ViewFactory f)
Called when something is removed.
voidsetSize(float width, float height)
Sets the size of the View.

Constructor Detail

WrappedPlainView

public WrappedPlainView(Element elem)

WrappedPlainView

public WrappedPlainView(Element elem, boolean wordWrap)

Method Detail

calculateBreakPosition

protected int calculateBreakPosition(int p0, int p1)
Calculates the break position for the text between model positions p0 and p1. Will break on word boundaries or character boundaries depending on the break argument given in construction of this WrappedPlainView. Used by the nested WrappedLine class to determine when to start the next logical line.

Parameters: p0 the start model position p1 the end model position

Returns: the model position at which to break the text

changedUpdate

public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
Called when the portion of the Document that this View is responsible for changes. Overridden so that the view factory creates WrappedLine views.

drawLine

protected void drawLine(int p0, int p1, Graphics g, int x, int y)
Draws a line of text, suppressing white space at the end and expanding tabs. Calls drawSelectedText and drawUnselectedText.

Parameters: p0 starting document position to use p1 ending document position to use g graphics context x starting x position y starting y position

drawSelectedText

protected int drawSelectedText(Graphics g, int x, int y, int p0, int p1)
Renders the range of text as selected text. Just paints the text in the color specified by the host component. Assumes the highlighter will render the selected background.

Parameters: g the graphics context x the starting X coordinate y the starting Y coordinate p0 the starting model location p1 the ending model location

Returns: the X coordinate of the end of the text

Throws: BadLocationException if the given range is invalid

drawUnselectedText

protected int drawUnselectedText(Graphics g, int x, int y, int p0, int p1)
Renders the range of text as normal unhighlighted text.

Parameters: g the graphics context x the starting X coordinate y the starting Y coordinate p0 the starting model location p1 the end model location

Returns: the X location of the end off the range

Throws: BadLocationException if the range given is invalid

getLineBuffer

protected final Segment getLineBuffer()
Provides access to the Segment used for retrievals from the Document.

Returns: the Segment.

getMaximumSpan

public float getMaximumSpan(int axis)
Determines the maximum span along the given axis. Implemented to cache the font metrics and then call the super classes method.

getMinimumSpan

public float getMinimumSpan(int axis)
Determines the minimum span along the given axis. Implemented to cache the font metrics and then call the super classes method.

getPreferredSpan

public float getPreferredSpan(int axis)
Determines the preferred span along the given axis. Implemented to cache the font metrics and then call the super classes method.

getTabSize

protected int getTabSize()
Returns the tab size for the Document based on PlainDocument.tabSizeAttribute, defaulting to 8 if this property is not defined

Returns: the tab size.

insertUpdate

public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
Called when something was inserted. Overridden so that the view factory creates WrappedLine views.

loadChildren

protected void loadChildren(ViewFactory f)
Loads the children to initiate the view. Called by setParent. Creates a WrappedLine for each child Element.

nextTabStop

public float nextTabStop(float x, int tabStop)
Returns the next tab stop position after a given reference position. This implementation ignores the tabStop argument.

Parameters: x the current x position in pixels tabStop the position within the text stream that the tab occured at

paint

public void paint(Graphics g, Shape a)
Renders the Element that is associated with this View. Caches the metrics and then calls super.paint to paint all the child views.

Parameters: g the Graphics context to render to a the allocated region for the Element

removeUpdate

public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
Called when something is removed. Overridden so that the view factory creates WrappedLine views.

setSize

public void setSize(float width, float height)
Sets the size of the View. Implemented to update the metrics and then call super method.