|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.swing.text.View
javax.swing.text.PlainView
org.bounce.text.FoldingPlainView
public class FoldingPlainView
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.
View| Field Summary | |
|---|---|
(package private) int |
firstLineOffset
Offset of where to draw the first character on the first line. |
(package private) java.awt.Font |
font
Font used to calculate the longest line... |
(package private) javax.swing.text.Segment |
lineBuffer
|
(package private) javax.swing.text.Element |
longLine
The current longest line. |
protected java.awt.FontMetrics |
metrics
Font metrics for the current font. |
(package private) int |
sel0
|
(package private) int |
sel1
|
(package private) java.awt.Color |
selected
|
(package private) int |
tabBase
|
(package private) int |
tabSize
|
(package private) java.awt.Color |
unselected
|
| Fields inherited from class javax.swing.text.View |
|---|
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS |
| Fields inherited from interface javax.swing.SwingConstants |
|---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
| Constructor Summary | |
|---|---|
FoldingPlainView(javax.swing.text.Element elem)
Constructs a new PlainView wrapped on an element. |
|
| Method Summary | |
|---|---|
void |
calculateLongestLine()
Iterate over the lines represented by the child elements of the element this view represents, looking for the line that is the longest. |
void |
changedUpdate(javax.swing.event.DocumentEvent changes,
java.awt.Shape a,
javax.swing.text.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,
java.awt.Shape a,
java.awt.Component host)
Repaint the given line range. |
protected void |
drawLine(int lineIndex,
java.awt.Graphics g,
int x,
int y)
Renders a line of text, suppressing whitespace at the end and expanding any tabs. |
protected int |
drawSelectedText(java.awt.Graphics g,
int x,
int y,
int p0,
int p1)
Renders the given range in the model as selected text. |
protected int |
drawUnselectedText(java.awt.Graphics g,
int x,
int y,
int p0,
int p1)
Renders the given range in the model as normal unselected text. |
int |
getNextVisualPositionFrom(int pos,
javax.swing.text.Position.Bias b,
java.awt.Shape a,
int direction,
javax.swing.text.Position.Bias[] biasRet)
Provides a way to determine the next visually represented model location at which one might place a caret. |
float |
getPreferredSpan(int axis)
Determines the preferred span for this view along an axis. |
void |
insertUpdate(javax.swing.event.DocumentEvent changes,
java.awt.Shape a,
javax.swing.text.ViewFactory f)
Gives notification that something was inserted into the document in a location that this view is responsible for. |
protected java.awt.Rectangle |
lineToRect(java.awt.Shape a,
int line)
Determine the rectangle that represents the given line. |
java.awt.Shape |
modelToView(int pos,
java.awt.Shape a,
javax.swing.text.Position.Bias b)
Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it. |
float |
nextTabStop(float x,
int tabOffset)
Returns the next tab stop position after a given reference position. |
void |
paint(java.awt.Graphics g,
java.awt.Shape a)
Renders using the given rendering surface and area on that surface. |
void |
removeUpdate(javax.swing.event.DocumentEvent changes,
java.awt.Shape a,
javax.swing.text.ViewFactory f)
Gives notification that something was removed from the document in a location that this view is responsible for. |
void |
setSize(float width,
float height)
Sets the size of the view. |
protected void |
updateDamage(javax.swing.event.DocumentEvent changes,
java.awt.Shape a,
javax.swing.text.ViewFactory f)
|
protected void |
updateMetrics()
Checks to see if the font metrics and longest line are up-to-date. |
int |
viewToModel(float fx,
float fy,
java.awt.Shape a,
javax.swing.text.Position.Bias[] bias)
Provides a mapping from the view coordinate space to the logical coordinate space of the model. |
| Methods inherited from class javax.swing.text.PlainView |
|---|
getLineBuffer, getTabSize |
| Methods inherited from class javax.swing.text.View |
|---|
append, breakView, createFragment, forwardUpdate, forwardUpdateToView, getAlignment, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, replace, setParent, updateChildren, updateLayout, viewToModel |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected java.awt.FontMetrics metrics
javax.swing.text.Element longLine
java.awt.Font font
javax.swing.text.Segment lineBuffer
int tabSize
int tabBase
int sel0
int sel1
java.awt.Color unselected
java.awt.Color selected
int firstLineOffset
| Constructor Detail |
|---|
public FoldingPlainView(javax.swing.text.Element elem)
elem - the element| Method Detail |
|---|
protected void drawLine(int lineIndex,
java.awt.Graphics g,
int x,
int y)
drawUnselectedText and drawSelectedText so
that the way selected and unselected text are rendered can be customized.
drawLine in class javax.swing.text.PlainViewlineIndex - the line to draw >= 0g - the Graphics contextx - the starting X position >= 0y - the starting Y position >= 0drawUnselectedText(java.awt.Graphics, int, int, int, int),
drawSelectedText(java.awt.Graphics, int, int, int, int)
public int getNextVisualPositionFrom(int pos,
javax.swing.text.Position.Bias b,
java.awt.Shape a,
int direction,
javax.swing.text.Position.Bias[] biasRet)
throws javax.swing.text.BadLocationException
getNextVisualPositionFrom in class javax.swing.text.Viewpos - the position to convert >= 0a - the allocated region in which to renderdirection - the direction from the current position that can be thought of
as the arrow keys typically found on a keyboard. This will be
one of the following values:
javax.swing.text.BadLocationException
java.lang.IllegalArgumentException - if direction doesn't have one of the legal
values above
protected int drawUnselectedText(java.awt.Graphics g,
int x,
int y,
int p0,
int p1)
throws javax.swing.text.BadLocationException
drawUnselectedText in class javax.swing.text.PlainViewg - the graphics contextx - the starting X coordinate >= 0y - the starting Y coordinate >= 0p0 - the beginning position in the model >= 0p1 - the ending position in the model >= 0
javax.swing.text.BadLocationException - if the range is invalid
protected int drawSelectedText(java.awt.Graphics g,
int x,
int y,
int p0,
int p1)
throws javax.swing.text.BadLocationException
drawSelectedText in class javax.swing.text.PlainViewg - the graphics contextx - the starting X coordinate >= 0y - the starting Y coordinate >= 0p0 - the beginning position in the model >= 0p1 - the ending position in the model >= 0
javax.swing.text.BadLocationException - if the range is invalidprotected void updateMetrics()
updateMetrics in class javax.swing.text.PlainViewpublic float getPreferredSpan(int axis)
getPreferredSpan in class javax.swing.text.PlainViewaxis - may be either View.X_AXIS or View.Y_AXIS
java.lang.IllegalArgumentException - for an invalid axis
public void paint(java.awt.Graphics g,
java.awt.Shape a)
paint in class javax.swing.text.PlainViewg - the rendering surface to usea - the allocated region to render intoView.paint(java.awt.Graphics, java.awt.Shape)
public java.awt.Shape modelToView(int pos,
java.awt.Shape a,
javax.swing.text.Position.Bias b)
throws javax.swing.text.BadLocationException
modelToView in class javax.swing.text.PlainViewpos - the position to convert >= 0a - the allocated region to render into
javax.swing.text.BadLocationException - if the given position does not represent a valid location
in the associated documentView.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
public int viewToModel(float fx,
float fy,
java.awt.Shape a,
javax.swing.text.Position.Bias[] bias)
viewToModel in class javax.swing.text.PlainViewfx - the X coordinate >= 0fy - the Y coordinate >= 0a - the allocated region to render into
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
public void insertUpdate(javax.swing.event.DocumentEvent changes,
java.awt.Shape a,
javax.swing.text.ViewFactory f)
insertUpdate in class javax.swing.text.PlainViewchanges - the change information from the associated documenta - the current allocation of the viewf - the factory to use to rebuild if the view has childrenView.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void removeUpdate(javax.swing.event.DocumentEvent changes,
java.awt.Shape a,
javax.swing.text.ViewFactory f)
removeUpdate in class javax.swing.text.PlainViewchanges - the change information from the associated documenta - the current allocation of the viewf - the factory to use to rebuild if the view has childrenView.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void changedUpdate(javax.swing.event.DocumentEvent changes,
java.awt.Shape a,
javax.swing.text.ViewFactory f)
changedUpdate in class javax.swing.text.PlainViewchanges - the change information from the associated documenta - the current allocation of the viewf - the factory to use to rebuild if the view has childrenView.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void setSize(float width,
float height)
setSize in class javax.swing.text.PlainViewwidth - the width >= 0height - the height >= 0
public float nextTabStop(float x,
int tabOffset)
nextTabStop in interface javax.swing.text.TabExpandernextTabStop in class javax.swing.text.PlainViewx - the current position >= 0tabOffset - the position within the text stream that the tab occurred at >=
0.
protected void updateDamage(javax.swing.event.DocumentEvent changes,
java.awt.Shape a,
javax.swing.text.ViewFactory f)
updateDamage in class javax.swing.text.PlainView
protected void damageLineRange(int line0,
int line1,
java.awt.Shape a,
java.awt.Component host)
damageLineRange in class javax.swing.text.PlainViewhost - the component hosting the view (used to call repaint)a - the region allocated for the view to render intoline0 - the starting line number to repaint. This must be a valid line
number in the model.line1 - the ending line number to repaint. This must be a valid line
number in the model.
protected java.awt.Rectangle lineToRect(java.awt.Shape a,
int line)
lineToRect in class javax.swing.text.PlainViewa - the region allocated for the view to render intoline - the line number to find the region of. This must be a valid
line number in the model.public void calculateLongestLine()
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||