| java.lang.Object javax.swing.text.View javax.swing.text.PlainView
All known Subclasses: javax.swing.text.FieldView,
PlainView | public class PlainView extends View implements TabExpander(Code) | | Implements View interface for a simple multi-line text view
that has text in one font and color. The view represents each
child element as a line of text.
author: Timothy Prinzing version: 1.84 05/05/07 See Also: View |
Constructor Summary | |
public | PlainView(Element elem) Constructs a new PlainView wrapped on an element. |
Method Summary | |
Shape | adjustPaintRegion(Shape a) Should return a shape ideal for painting based on the passed in
Shape a . | public void | changedUpdate(DocumentEvent changes, Shape a, ViewFactory f) Gives notification from the document that attributes were changed
in a location that this view is responsible for. | protected void | damageLineRange(int line0, int line1, Shape a, Component host) Repaint the given line range.
Parameters: host - the component hosting the view (used to call repaint) Parameters: a - the region allocated for the view to render into Parameters: line0 - the starting line number to repaint. | protected void | drawLine(int lineIndex, 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 | getPreferredSpan(int axis) Determines the preferred span for this view along an
axis.
Parameters: axis - may be either View.X_AXIS or View.Y_AXIS the span the view would like to be rendered into >= 0.Typically the view is told to render into the spanthat is returned, although there is no guarantee. | protected int | getTabSize() Returns the tab size set for the document, defaulting to 8. | public void | insertUpdate(DocumentEvent changes, Shape a, ViewFactory f) Gives notification that something was inserted into the document
in a location that this view is responsible for. | protected Rectangle | lineToRect(Shape a, int line) Determine the rectangle that represents the given line.
Parameters: a - the region allocated for the view to render into Parameters: line - the line number to find the region of. | public Shape | modelToView(int pos, Shape a, Position.Bias b) Provides a mapping from the document model coordinate space
to the coordinate space of the view mapped to it. | 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 changes, 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. | protected void | updateDamage(DocumentEvent changes, Shape a, ViewFactory f) Repaint the region of change covered by the given document
event. | protected void | updateMetrics() Checks to see if the font metrics and longest line
are up-to-date. | public int | viewToModel(float fx, float fy, Shape a, Position.Bias[] bias) Provides a mapping from the view coordinate space to the logical
coordinate space of the model. |
firstLineOffset | int firstLineOffset(Code) | | Offset of where to draw the first character on the first line.
This is a hack and temporary until we can better address the problem
of text measuring. This field is actually never set directly in
PlainView, but by FieldView.
|
font | Font font(Code) | | Font used to calculate the longest line... if this
changes we need to recalculate the longest line
|
longLine | Element longLine(Code) | | The current longest line. This is used to calculate
the preferred width of the view. Since the calculation
is potentially expensive we try to avoid it by stashing
which line is currently the longest.
|
PlainView | public PlainView(Element elem)(Code) | | Constructs a new PlainView wrapped on an element.
Parameters: elem - the element |
adjustPaintRegion | Shape adjustPaintRegion(Shape a)(Code) | | Should return a shape ideal for painting based on the passed in
Shape a . This is useful if painting in a different
region. The default implementation returns a .
|
changedUpdate | public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)(Code) | | Gives notification from the document that attributes were changed
in a location that this view is responsible for.
Parameters: changes - 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 |
damageLineRange | protected void damageLineRange(int line0, int line1, Shape a, Component host)(Code) | | Repaint the given line range.
Parameters: host - the component hosting the view (used to call repaint) Parameters: a - the region allocated for the view to render into Parameters: line0 - the starting line number to repaint. This mustbe a valid line number in the model. Parameters: line1 - the ending line number to repaint. This mustbe a valid line number in the model. since: 1.4 |
drawLine | protected void drawLine(int lineIndex, 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: lineIndex - the line to draw >= 0 Parameters: g - the Graphics context Parameters: x - the starting X position >= 0 Parameters: y - the starting Y position >= 0 See Also: PlainView.drawUnselectedText See Also: PlainView.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 >= 0 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. Uses the foreground or disabled color to render the 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 >= 0 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 |
getPreferredSpan | public float getPreferredSpan(int axis)(Code) | | Determines the preferred span for this view along an
axis.
Parameters: axis - may be either View.X_AXIS or View.Y_AXIS the span the view would like to be rendered into >= 0.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. exception: IllegalArgumentException - for an invalid axis |
getTabSize | protected int getTabSize()(Code) | | Returns the tab size set for the document, defaulting to 8.
the tab size |
insertUpdate | public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)(Code) | | Gives notification that something was inserted into the document
in a location that this view is responsible for.
Parameters: changes - 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 |
lineToRect | protected Rectangle lineToRect(Shape a, int line)(Code) | | Determine the rectangle that represents the given line.
Parameters: a - the region allocated for the view to render into Parameters: line - the line number to find the region of. This mustbe a valid line number in the model. since: 1.4 |
modelToView | public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException(Code) | | Provides a mapping from the document model coordinate space
to the coordinate space of the view mapped to it.
Parameters: pos - the position to convert >= 0 Parameters: a - the allocated region to render into the bounding box of the given position exception: BadLocationException - if the given position does notrepresent a valid location in the associated document See Also: View.modelToView |
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.
The view may need to do layout and create child views to enable
itself to render into the given allocation.
Parameters: g - the rendering surface to use Parameters: a - the allocated region to render into See Also: View.paint |
removeUpdate | public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)(Code) | | Gives notification that something was removed from the document
in a location that this view is responsible for.
Parameters: changes - 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 |
updateDamage | protected void updateDamage(DocumentEvent changes, Shape a, ViewFactory f)(Code) | | Repaint the region of change covered by the given document
event. Damages the line that begins the range to cover
the case when the insert/remove is only on one line.
If lines are added or removed, damages the whole
view. The longest line is checked to see if it has
changed.
since: 1.4 |
updateMetrics | protected void updateMetrics()(Code) | | Checks to see if the font metrics and longest line
are up-to-date.
since: 1.4 |
viewToModel | public int viewToModel(float fx, float fy, Shape a, Position.Bias[] bias)(Code) | | Provides a mapping from the view coordinate space to the logical
coordinate space of the model.
Parameters: fx - the X coordinate >= 0 Parameters: fy - the Y coordinate >= 0 Parameters: a - the allocated region to render into the location within the model that best represents thegiven point in the view >= 0 See Also: View.viewToModel |
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)
|
|
|