| java.lang.Object javax.swing.text.View javax.swing.text.CompositeView javax.swing.text.BoxView javax.swing.text.WrappedPlainView
WrappedPlainView | public class WrappedPlainView extends BoxView implements TabExpander(Code) | | View of plain text (text with only one font and color)
that does line-wrapping. This view expects that its
associated element has child elements that represent
the lines it should be wrapping. It is implemented
as a vertical box that contains logical line views.
The logical line views are nested classes that render
the logical line as multiple physical line if the logical
line is too wide to fit within the allocation. The
line views draw upon the outer class for its state
to reduce their memory requirements.
The line views do all of their rendering through the
drawLine method which in turn does all of
its rendering through the drawSelectedText
and drawUnselectedText methods. This
enables subclasses to easily specialize the rendering
without concern for the layout aspects.
author: Timothy Prinzing version: 1.49 05/23/07 See Also: View |
Inner Class :class WrappedLine extends View | |
Method Summary | |
protected int | calculateBreakPosition(int p0, int p1) This is called by the nested wrapped line
views to determine the break location. | public void | changedUpdate(DocumentEvent e, Shape a, ViewFactory f) Gives notification from the document that attributes were changed
in a location that this view is responsible for. | protected void | drawLine(int p0, int p1, Graphics g, int x, int y) Renders a line of text, suppressing whitespace at the end
and expanding any tabs. | protected int | drawSelectedText(Graphics g, int x, int y, int p0, int p1) Renders the given range in the model as selected text. | protected int | drawUnselectedText(Graphics g, int x, int y, int p0, int p1) Renders the given range in the model as normal unselected
text. | final protected Segment | getLineBuffer() Gives access to a buffer that can be used to fetch
text from the associated document. | public float | getMaximumSpan(int axis) Determines the maximum span for this view along an
axis. | public float | getMinimumSpan(int axis) Determines the minimum span for this view along an
axis. | public float | getPreferredSpan(int axis) Determines the preferred span for this view along an
axis. | protected int | getTabSize() Returns the tab size set for the document, defaulting to 8. | public void | insertUpdate(DocumentEvent e, Shape a, ViewFactory f) Gives notification that something was inserted into the
document in a location that this view is responsible for. | protected void | loadChildren(ViewFactory f) Loads all of the children to initialize the view.
This is called by the setParent method.
Subclasses can reimplement this to initialize their
child views in a different manner. | final void | loadText(Segment segment, int p0, int p1) Load the text buffer with the given range
of text. | public float | nextTabStop(float x, int tabOffset) Returns the next tab stop position after a given reference position.
This implementation does not support things like centering so it
ignores the tabOffset argument.
Parameters: x - the current position >= 0 Parameters: tabOffset - the position within the text streamthat the tab occurred at >= 0. | public void | paint(Graphics g, Shape a) Renders using the given rendering surface and area
on that surface. | public void | removeUpdate(DocumentEvent e, Shape a, ViewFactory f) Gives notification that something was removed from the
document in a location that this view is responsible for. | public void | setSize(float width, float height) Sets the size of the view. | void | updateChildren(DocumentEvent e, Shape a) Update the child views in response to a
document event. | final void | updateMetrics() |
widthChanging | boolean widthChanging(Code) | | |
wordWrap | boolean wordWrap(Code) | | |
WrappedPlainView | public WrappedPlainView(Element elem)(Code) | | Creates a new WrappedPlainView. Lines will be wrapped
on character boundaries.
Parameters: elem - the element underlying the view |
WrappedPlainView | public WrappedPlainView(Element elem, boolean wordWrap)(Code) | | Creates a new WrappedPlainView. Lines can be wrapped on
either character or word boundaries depending upon the
setting of the wordWrap parameter.
Parameters: elem - the element underlying the view Parameters: wordWrap - should lines be wrapped on word boundaries? |
calculateBreakPosition | protected int calculateBreakPosition(int p0, int p1)(Code) | | This is called by the nested wrapped line
views to determine the break location. This can
be reimplemented to alter the breaking behavior.
It will either break at word or character boundaries
depending upon the break argument given at
construction.
|
changedUpdate | public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)(Code) | | Gives notification from the document that attributes were changed
in a location that this view is responsible for.
Parameters: e - the change information from the associated document Parameters: a - the current allocation of the view Parameters: f - the factory to use to rebuild if the view has children See Also: View.changedUpdate |
drawLine | protected void drawLine(int p0, int p1, Graphics g, int x, int y)(Code) | | Renders a line of text, suppressing whitespace at the end
and expanding any tabs. This is implemented to make calls
to the methods drawUnselectedText and
drawSelectedText so that the way selected and
unselected text are rendered can be customized.
Parameters: p0 - the starting document location to use >= 0 Parameters: p1 - the ending document location to use >= p1 Parameters: g - the graphics context Parameters: x - the starting X position >= 0 Parameters: y - the starting Y position >= 0 See Also: WrappedPlainView.drawUnselectedText See Also: WrappedPlainView.drawSelectedText |
drawSelectedText | protected int drawSelectedText(Graphics g, int x, int y, int p0, int p1) throws BadLocationException(Code) | | Renders the given range in the model as selected text. This
is implemented to render the text in the color specified in
the hosting component. It assumes the highlighter will render
the selected background.
Parameters: g - the graphics context Parameters: x - the starting X coordinate >= 0 Parameters: y - the starting Y coordinate >= 0 Parameters: p0 - the beginning position in the model >= 0 Parameters: p1 - the ending position in the model >= p0 the location of the end of the range. exception: BadLocationException - if the range is invalid |
drawUnselectedText | protected int drawUnselectedText(Graphics g, int x, int y, int p0, int p1) throws BadLocationException(Code) | | Renders the given range in the model as normal unselected
text.
Parameters: g - the graphics context Parameters: x - the starting X coordinate >= 0 Parameters: y - the starting Y coordinate >= 0 Parameters: p0 - the beginning position in the model >= 0 Parameters: p1 - the ending position in the model >= p0 the X location of the end of the range >= 0 exception: BadLocationException - if the range is invalid |
getLineBuffer | final protected Segment getLineBuffer()(Code) | | Gives access to a buffer that can be used to fetch
text from the associated document.
the buffer |
getMaximumSpan | public float getMaximumSpan(int axis)(Code) | | Determines the maximum span for this view along an
axis. This is implemented to provide the superclass
behavior after first making sure that the current font
metrics are cached (for the nested lines which use
the metrics to determine the height of the potentially
wrapped lines).
Parameters: axis - may be either View.X_AXIS or View.Y_AXIS the span the view would like to be rendered into.Typically the view is told to render into the spanthat is returned, although there is no guarantee. The parent may choose to resize or break the view. See Also: View.getMaximumSpan |
getMinimumSpan | public float getMinimumSpan(int axis)(Code) | | Determines the minimum span for this view along an
axis. This is implemented to provide the superclass
behavior after first making sure that the current font
metrics are cached (for the nested lines which use
the metrics to determine the height of the potentially
wrapped lines).
Parameters: axis - may be either View.X_AXIS or View.Y_AXIS the span the view would like to be rendered into.Typically the view is told to render into the spanthat is returned, although there is no guarantee. The parent may choose to resize or break the view. See Also: View.getMinimumSpan |
getPreferredSpan | public float getPreferredSpan(int axis)(Code) | | Determines the preferred span for this view along an
axis. This is implemented to provide the superclass
behavior after first making sure that the current font
metrics are cached (for the nested lines which use
the metrics to determine the height of the potentially
wrapped lines).
Parameters: axis - may be either View.X_AXIS or View.Y_AXIS the span the view would like to be rendered into.Typically the view is told to render into the spanthat is returned, although there is no guarantee. The parent may choose to resize or break the view. See Also: View.getPreferredSpan |
getTabSize | protected int getTabSize()(Code) | | Returns the tab size set for the document, defaulting to 8.
the tab size |
insertUpdate | public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)(Code) | | Gives notification that something was inserted into the
document in a location that this view is responsible for.
This is implemented to simply update the children.
Parameters: e - the change information from the associated document Parameters: a - the current allocation of the view Parameters: f - the factory to use to rebuild if the view has children See Also: View.insertUpdate |
loadChildren | protected void loadChildren(ViewFactory f)(Code) | | Loads all of the children to initialize the view.
This is called by the setParent method.
Subclasses can reimplement this to initialize their
child views in a different manner. The default
implementation creates a child view for each
child element.
Parameters: f - the view factory |
loadText | final void loadText(Segment segment, int p0, int p1)(Code) | | Load the text buffer with the given range
of text. This is used by the fragments
broken off of this view as well as this
view itself.
|
nextTabStop | public float nextTabStop(float x, int tabOffset)(Code) | | Returns the next tab stop position after a given reference position.
This implementation does not support things like centering so it
ignores the tabOffset argument.
Parameters: x - the current position >= 0 Parameters: tabOffset - the position within the text streamthat the tab occurred at >= 0. the tab stop, measured in points >= 0 |
paint | public void paint(Graphics g, Shape a)(Code) | | Renders using the given rendering surface and area
on that surface. This is implemented to stash the
selection positions, selection colors, and font
metrics for the nested lines to use.
Parameters: g - the rendering surface to use Parameters: a - the allocated region to render into See Also: View.paint |
removeUpdate | public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)(Code) | | Gives notification that something was removed from the
document in a location that this view is responsible for.
This is implemented to simply update the children.
Parameters: e - the change information from the associated document Parameters: a - the current allocation of the view Parameters: f - the factory to use to rebuild if the view has children See Also: View.removeUpdate |
setSize | public void setSize(float width, float height)(Code) | | Sets the size of the view. This should cause
layout of the view along the given axis, if it
has any layout duties.
Parameters: width - the width >= 0 Parameters: height - the height >= 0 |
updateChildren | void updateChildren(DocumentEvent e, Shape a)(Code) | | Update the child views in response to a
document event.
|
updateMetrics | final void updateMetrics()(Code) | | |
Methods inherited from javax.swing.text.BoxView | protected void baselineLayout(int targetSpan, int axis, int[] offsets, int[] spans)(Code)(Java Doc) protected SizeRequirements baselineRequirements(int axis, SizeRequirements r)(Code)(Java Doc) protected SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r)(Code)(Java Doc) protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)(Code)(Java Doc) void checkRequests(int axis)(Code)(Java Doc) protected void childAllocation(int index, Rectangle alloc)(Code)(Java Doc) protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)(Code)(Java Doc) protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)(Code)(Java Doc) public float getAlignment(int axis)(Code)(Java Doc) public int getAxis()(Code)(Java Doc) public Shape getChildAllocation(int index, Shape a)(Code)(Java Doc) public int getHeight()(Code)(Java Doc) public float getMaximumSpan(int axis)(Code)(Java Doc) public float getMinimumSpan(int axis)(Code)(Java Doc) protected int getOffset(int axis, int childIndex)(Code)(Java Doc) public float getPreferredSpan(int axis)(Code)(Java Doc) public int getResizeWeight(int axis)(Code)(Java Doc) protected int getSpan(int axis, int childIndex)(Code)(Java Doc) float getSpanOnAxis(int axis)(Code)(Java Doc) protected View getViewAtPoint(int x, int y, Rectangle alloc)(Code)(Java Doc) public int getWidth()(Code)(Java Doc) protected boolean isAfter(int x, int y, Rectangle innerAlloc)(Code)(Java Doc) protected boolean isAllocationValid()(Code)(Java Doc) protected boolean isBefore(int x, int y, Rectangle innerAlloc)(Code)(Java Doc) protected boolean isLayoutValid(int axis)(Code)(Java Doc) protected void layout(int width, int height)(Code)(Java Doc) public void layoutChanged(int axis)(Code)(Java Doc) protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)(Code)(Java Doc) protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)(Code)(Java Doc) public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException(Code)(Java Doc) public void paint(Graphics g, Shape allocation)(Code)(Java Doc) protected void paintChild(Graphics g, Rectangle alloc, int index)(Code)(Java Doc) public void preferenceChanged(View child, boolean width, boolean height)(Code)(Java Doc) public void replace(int index, int length, View[] elems)(Code)(Java Doc) public void setAxis(int axis)(Code)(Java Doc) public void setSize(float width, float height)(Code)(Java Doc) void setSpanOnAxis(int axis, float span)(Code)(Java Doc) void updateChildSizes()(Code)(Java Doc) int[] updateLayoutArray(int[] oldArray, int offset, int nInserted)(Code)(Java Doc) public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)(Code)(Java Doc)
|
Methods inherited from javax.swing.text.CompositeView | abstract protected void childAllocation(int index, Rectangle a)(Code)(Java Doc) protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)(Code)(Java Doc) protected short getBottomInset()(Code)(Java Doc) public Shape getChildAllocation(int index, Shape a)(Code)(Java Doc) protected Rectangle getInsideAllocation(Shape a)(Code)(Java Doc) protected short getLeftInset()(Code)(Java Doc) protected int getNextEastWestVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException(Code)(Java Doc) protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException(Code)(Java Doc) public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException(Code)(Java Doc) protected short getRightInset()(Code)(Java Doc) protected short getTopInset()(Code)(Java Doc) public View getView(int n)(Code)(Java Doc) abstract protected View getViewAtPoint(int x, int y, Rectangle alloc)(Code)(Java Doc) protected View getViewAtPosition(int pos, Rectangle a)(Code)(Java Doc) public int getViewCount()(Code)(Java Doc) public int getViewIndex(int pos, Position.Bias b)(Code)(Java Doc) protected int getViewIndexAtPosition(int pos)(Code)(Java Doc) abstract protected boolean isAfter(int x, int y, Rectangle alloc)(Code)(Java Doc) abstract protected boolean isBefore(int x, int y, Rectangle alloc)(Code)(Java Doc) protected void loadChildren(ViewFactory f)(Code)(Java Doc) public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException(Code)(Java Doc) public Shape modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) throws BadLocationException(Code)(Java Doc) public void replace(int offset, int length, View[] views)(Code)(Java Doc) protected void setInsets(short top, short left, short bottom, short right)(Code)(Java Doc) protected void setParagraphInsets(AttributeSet attr)(Code)(Java Doc) public void setParent(View parent)(Code)(Java Doc) public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)(Code)(Java Doc)
|
Methods inherited from javax.swing.text.View | public void append(View v)(Code)(Java Doc) public View breakView(int axis, int offset, float pos, float len)(Code)(Java Doc) public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)(Code)(Java Doc) public View createFragment(int p0, int p1)(Code)(Java Doc) protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)(Code)(Java Doc) protected void forwardUpdateToView(View v, DocumentEvent e, Shape a, ViewFactory f)(Code)(Java Doc) public float getAlignment(int axis)(Code)(Java Doc) public AttributeSet getAttributes()(Code)(Java Doc) public int getBreakWeight(int axis, float pos, float len)(Code)(Java Doc) public Shape getChildAllocation(int index, Shape a)(Code)(Java Doc) public Container getContainer()(Code)(Java Doc) public Document getDocument()(Code)(Java Doc) public Element getElement()(Code)(Java Doc) public int getEndOffset()(Code)(Java Doc) public Graphics getGraphics()(Code)(Java Doc) public float getMaximumSpan(int axis)(Code)(Java Doc) public float getMinimumSpan(int axis)(Code)(Java Doc) public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException(Code)(Java Doc) public View getParent()(Code)(Java Doc) abstract public float getPreferredSpan(int axis)(Code)(Java Doc) public int getResizeWeight(int axis)(Code)(Java Doc) public int getStartOffset()(Code)(Java Doc) public String getToolTipText(float x, float y, Shape allocation)(Code)(Java Doc) public View getView(int n)(Code)(Java Doc) public int getViewCount()(Code)(Java Doc) public ViewFactory getViewFactory()(Code)(Java Doc) public int getViewIndex(int pos, Position.Bias b)(Code)(Java Doc) public int getViewIndex(float x, float y, Shape allocation)(Code)(Java Doc) public void insert(int offs, View v)(Code)(Java Doc) public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)(Code)(Java Doc) public boolean isVisible()(Code)(Java Doc) abstract public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException(Code)(Java Doc) public Shape modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) throws BadLocationException(Code)(Java Doc) public Shape modelToView(int pos, Shape a) throws BadLocationException(Code)(Java Doc) abstract public void paint(Graphics g, Shape allocation)(Code)(Java Doc) public void preferenceChanged(View child, boolean width, boolean height)(Code)(Java Doc) public void remove(int i)(Code)(Java Doc) public void removeAll()(Code)(Java Doc) public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)(Code)(Java Doc) public void replace(int offset, int length, View[] views)(Code)(Java Doc) public void setParent(View parent)(Code)(Java Doc) public void setSize(float width, float height)(Code)(Java Doc) protected boolean updateChildren(DocumentEvent.ElementChange ec, DocumentEvent e, ViewFactory f)(Code)(Java Doc) protected void updateLayout(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a)(Code)(Java Doc) abstract public int viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)(Code)(Java Doc) public int viewToModel(float x, float y, Shape a)(Code)(Java Doc)
|
|
|