|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.hunsicker.jalopy.swing.syntax.TokenMarker
public abstract class TokenMarker
A token marker that splits lines of text into tokens. Each token carries a length field and an indentification tag that can be mapped to a color for painting that token.
For performance reasons, the linked list of tokens is reused after each line is
tokenized. Therefore, the return value of markTokens
should only be used
for immediate painting. Notably, it cannot be cached.
org.gjt.sp.jedit.syntax.Token
Nested Class Summary | |
---|---|
static class |
TokenMarker.LineInfo
Inner class for storing information about tokenized lines. |
Field Summary | |
---|---|
protected Token |
firstToken
The first token in the list. |
protected Token |
lastToken
The last token in the list. |
protected int |
length
The length of the lineInfo array. |
protected TokenMarker.LineInfo[] |
lineInfo
An array for storing information about lines. |
protected boolean |
nextLineRequested
True if the next line should be painted. |
Constructor Summary | |
---|---|
protected |
TokenMarker()
Creates a new TokenMarker . |
Method Summary | |
---|---|
protected void |
addToken(int length,
byte id)
Adds a token to the token list. |
void |
deleteLines(int index,
int lines)
Informs the token marker that line have been deleted from the document. |
protected void |
ensureCapacity(int index)
Ensures that the lineInfo array can contain the specified index. |
void |
insertLines(int index,
int lines)
Informs the token marker that lines have been inserted into the document. |
boolean |
isNextLineRequested()
Returns true if the next line should be repainted. |
Token |
markTokens(javax.swing.text.Segment line,
int lineIndex)
A wrapper for the lower-level markTokensImpl method that is called to
split a line up into tokens. |
protected abstract byte |
markTokensImpl(byte token,
javax.swing.text.Segment line,
int lineIndex)
An abstract method that splits a line up into tokens. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Token firstToken
markTokens()
.
protected Token lastToken
protected TokenMarker.LineInfo[] lineInfo
insertLines()
and deleteLines()
methods.
protected boolean nextLineRequested
protected int length
lineInfo
array.
Constructor Detail |
---|
protected TokenMarker()
TokenMarker
. This DOES NOT create a lineInfo array; an
initial call to insertLines()
does that.
Method Detail |
---|
public boolean isNextLineRequested()
public void deleteLines(int index, int lines)
lineInfo
array.
index
- The first line numberlines
- The number of linespublic void insertLines(int index, int lines)
lineInfo
array.
index
- The first line numberlines
- The number of linespublic Token markTokens(javax.swing.text.Segment line, int lineIndex)
markTokensImpl
method that is called to
split a line up into tokens.
line
- The linelineIndex
- The line number
protected abstract byte markTokensImpl(byte token, javax.swing.text.Segment line, int lineIndex)
addToken()
to add syntax tokens to the token list. Then, it
should return the initial token type for the next line.
For example if the current line contains the start of a multiline comment that doesn't end on that line, this method should return the comment token type so that it continues on the next line.
token
- The initial token type for this lineline
- The line to be tokenizedlineIndex
- The index of the line in the document, starting at 0
protected void addToken(int length, byte id)
length
- The length of the tokenid
- The id of the token
java.lang.InternalError
- DOCUMENT ME!protected void ensureCapacity(int index)
lineInfo
array can contain the specified index. This
enlarges it if necessary. No action is taken if the array is large enough
already.
It should be unnecessary to call this under normal circumstances;
insertLine()
should take care of enlarging the line info array
automatically.
index
- The array index
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |