|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--edu.rice.cs.drjava.model.definitions.reducedmodel.AbstractReducedModel | +--edu.rice.cs.drjava.model.definitions.reducedmodel.ReducedModelComment
Keeps track of newlines, comment blocks, and single and double-quoted strings. This reduced sub-model is used for coloring purposes. Given the information contained here, the DefinitionsEditorKit can paint strings, comments, and regular code in different colors. DefinitionsEditorKit colors keywords by directly reading DefinitionsDocument, the "full-scale" model.
Field Summary | |
(package private) TokenList.Iterator |
_walker
Can be used by other classes to walk through the list of comment chars |
Fields inherited from class edu.rice.cs.drjava.model.definitions.reducedmodel.AbstractReducedModel |
_cursor, _tokens, PTR_CHAR |
Fields inherited from interface edu.rice.cs.drjava.model.definitions.reducedmodel.ReducedModelStates |
FREE, INSIDE_BLOCK_COMMENT, INSIDE_DOUBLE_QUOTE, INSIDE_LINE_COMMENT, INSIDE_SINGLE_QUOTE, STUTTER |
Constructor Summary | |
ReducedModelComment()
Constructor. |
Method Summary | |
private void |
_checkPreviousInsertBackSlash()
Checks before point of insertion to make sure we don't need to combine backslash with another backslash (yes, they too can be escaped). |
private void |
_checkPreviousInsertCommentChar(String special)
Checks before the place of insert to make sure there are no preceding slashes with which the inserted slash must combine. |
private void |
_checkPreviousInsertSpecial(String special)
Checks before point of insertion to make sure we don't need to combine. |
private int |
_getDistToPreviousNewline(TokenList.Iterator copyCursor)
returns distance to after newline |
private String |
_getQuoteType(String quote)
Helper function for insertNewQuote. |
private void |
_insertNewEndOfLine()
|
private void |
_insertNewQuote(String quote)
Helper function for insertQuote. |
private void |
_updateBasedOnCurrentState()
USE RULES: Inserting between braces: This should be called from between the two characters of the broken double comment. |
void |
delete(int count)
Update the BraceReduction to reflect text deletion. |
(package private) void |
getDistToCurrentBraceNewline(IndentInfo braceInfo)
Computes the distance to the beginning of the line containing the brace enclosing the current location. |
(package private) void |
getDistToIndentNewline(IndentInfo braceInfo)
|
int |
getDistToNextNewline()
returns the distance to the space before the next newline returns the distance to the end of the document if there is no newline |
(package private) void |
getDistToPreviousNewline(IndentInfo braceInfo)
Dist to Previous newline will be -1 if no newline. |
int |
getDistToPreviousNewline(int relLoc)
Gets distance to previous newline, relLoc is the distance back from the cursor that we want to start searching. |
void |
insertChar(char ch)
Inserts a character into the reduced model. |
protected void |
insertGapBetweenMultiCharBrace(int length)
Inserts a gap between the characters in a multiple character brace. |
void |
insertNewline()
Inserts an end-of-line character. |
void |
insertQuote(String quote)
Inserts the specified quote character. |
private void |
insertSpecial(String special)
Inserts one of three special chars, (*),(/), or (\). |
void |
move(int count)
Updates the BraceReduction to reflect cursor movement. |
protected void |
resetLocation()
Resets the walker to the current position in document |
protected ReducedModelState |
stateAtRelLocation(int relLocation)
Returns the state at the relLocation, where relLocation is the location relative to the walker |
Methods inherited from class edu.rice.cs.drjava.model.definitions.reducedmodel.AbstractReducedModel |
_augmentCurrentGap, _augmentGapToLeft, _gapToLeft, _gapToRight, _insertGap, _insertNewGap, absOffset, current, getBlockOffset, getStateAtCurrent, makeCopyCursor, next, prev, setBlockOffset, simpleString |
Methods inherited from class java.lang.Object |
|
Field Detail |
TokenList.Iterator _walker
Constructor Detail |
public ReducedModelComment()
Method Detail |
public void insertChar(char ch)
AbstractReducedModel
insertChar
in class AbstractReducedModel
private void insertSpecial(String special)
private void _checkPreviousInsertSpecial(String special)
private void _checkPreviousInsertBackSlash()
private void _checkPreviousInsertCommentChar(String special)
public void insertNewline()
private void _insertNewEndOfLine()
public void insertQuote(String quote)
quote
- the type of quote to insertprivate void _insertNewQuote(String quote)
quote
- the quote to insertprivate String _getQuoteType(String quote)
quote
- the type of quote to insertprotected void insertGapBetweenMultiCharBrace(int length)
insertGapBetweenMultiCharBrace
in class AbstractReducedModel
length
- the size of the Gap to be inserted in charactersprivate void _updateBasedOnCurrentState()
public void move(int count)
count
- indicates the direction and magnitude of cursor movementpublic void delete(int count)
Update the BraceReduction to reflect text deletion.
count
- indicates the size and direction of text deletion.
Negative values delete text to the left of the cursor, positive
values delete text to the right.
Always move count spaces to make sure we can delete.protected ReducedModelState stateAtRelLocation(int relLocation)
stateAtRelLocation
in class AbstractReducedModel
relLocation
- distance from walker to get state at.protected void resetLocation()
resetLocation
in class AbstractReducedModel
void getDistToPreviousNewline(IndentInfo braceInfo)
private int _getDistToPreviousNewline(TokenList.Iterator copyCursor)
void getDistToIndentNewline(IndentInfo braceInfo)
void getDistToCurrentBraceNewline(IndentInfo braceInfo)
public int getDistToPreviousNewline(int relLoc)
public int getDistToNextNewline()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |