org.bounce.text
Class SyntaxHighlightingView
java.lang.Object
javax.swing.text.View
javax.swing.text.PlainView
org.bounce.text.FoldingPlainView
org.bounce.text.SyntaxHighlightingView
- All Implemented Interfaces:
- SwingConstants, TabExpander
- Direct Known Subclasses:
- XMLView
public abstract class SyntaxHighlightingView
- extends FoldingPlainView
The View uses the syntax highlighting scanner to determine the style (font, color) of the
text that it renders.
Note: The Editor package is based on the JavaEditorKit example as
described in the article 'Customizing a Text Editor' by Timothy
Prinzing . See:
http://java.sun.com/products/jfc/tsc/articles/text/editor_kit/
- Version:
- $Revision: 1.4 $, $Date: 2008/04/16 19:36:18 $
- Author:
- Edwin Dankert
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 |
Method Summary |
protected int |
drawSelectedText(Graphics g,
int x,
int y,
int start,
int end)
Renders the given range in the model as selected text. |
protected int |
drawUnselectedText(Graphics g,
int x,
int y,
int start,
int end)
Renders the given range in the model as normal unselected text. |
static int |
getFontStyle(Style style)
Fetch the font to use for a lexical token with the given scan value. |
protected abstract boolean |
isErrorHighlighting()
|
void |
paint(Graphics g,
Shape a)
Invalidates the scanner, to make sure a new range is set later. |
protected abstract void |
updateScanner(SyntaxHighlightingScanner scanner,
Document doc,
int start,
int end)
|
Methods inherited from class org.bounce.text.FoldingPlainView |
calculateLongestLine, changedUpdate, damageLineRange, drawLine, getNextVisualPositionFrom, getPreferredSpan, insertUpdate, lineToRect, modelToView, nextTabStop, removeUpdate, setSize, updateDamage, updateMetrics, viewToModel |
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 |
SyntaxHighlightingView
public SyntaxHighlightingView(SyntaxHighlightingScanner scanner,
StyleContext context,
Element elem)
throws IOException
- Construct a colorized view of xml text for the element. Gets the current
document and creates a new Scanner object.
- Parameters:
context
- the styles used to colorize the view.elem
- the element to create the view for.
- Throws:
IOException
- input/output exception while reading document
paint
public void paint(Graphics g,
Shape a)
- Invalidates the scanner, to make sure a new range is set later.
- Overrides:
paint
in class FoldingPlainView
- Parameters:
g
- the graphics context.a
- the shape.- See Also:
View.paint(Graphics g, Shape a)
drawUnselectedText
protected int drawUnselectedText(Graphics g,
int x,
int y,
int start,
int end)
throws BadLocationException
- Renders the given range in the model as normal unselected text. This will
paint the text according to the styles..
- Overrides:
drawUnselectedText
in class FoldingPlainView
- Parameters:
g
- the graphics contextx
- the starting X coordinatey
- the starting Y coordinatestart
- the beginning position in the modelend
- the ending position in the model
- Returns:
- the location of the end of the range
- Throws:
BadLocationException
- if the range is invalid
isErrorHighlighting
protected abstract boolean isErrorHighlighting()
drawSelectedText
protected int drawSelectedText(Graphics g,
int x,
int y,
int start,
int end)
throws BadLocationException
- Renders the given range in the model as selected text. This will paint
the text according to the font as found in the styles..
- Overrides:
drawSelectedText
in class FoldingPlainView
- Parameters:
g
- the graphics contextx
- the starting X coordinatey
- the starting Y coordinatestart
- the beginning position in the modelend
- the ending position in the model
- Returns:
- the location of the end of the range
- Throws:
BadLocationException
- if the range is invalid
updateScanner
protected abstract void updateScanner(SyntaxHighlightingScanner scanner,
Document doc,
int start,
int end)
getFontStyle
public static int getFontStyle(Style style)
- Fetch the font to use for a lexical token with the given scan value.
- Parameters:
style
- the style.
- Returns:
- the font style
Copyright © 2002-2011 Edwin Dankert. All Rights Reserved.