Class HighlightingStyledDocument

java.lang.Object
  |
  +--javax.swing.text.AbstractDocument
        |
        +--javax.swing.text.DefaultStyledDocument
              |
              +--HighlightingStyledDocument
All Implemented Interfaces:
javax.swing.text.Document, java.io.Serializable, javax.swing.text.StyledDocument

public class HighlightingStyledDocument
extends javax.swing.text.DefaultStyledDocument

Highlights jython syntax in a Document Created for the Jython Environment for Students (JES) Hilghights keywords and environment words that are defined for it. It will also highlight single-line comments that start with '#', and single-line strings that start with "'" or '"'.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.swing.text.DefaultStyledDocument
buffer, BUFFER_SIZE_DEFAULT
 
Fields inherited from class javax.swing.text.AbstractDocument
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName
 
Fields inherited from interface javax.swing.text.Document
StreamDescriptionProperty, TitleProperty
 
Constructor Summary
HighlightingStyledDocument()
           
 
Method Summary
 void addEnvironmentWord(java.lang.String word)
          Method: addEnvironmentWord Adds an environment word to the Vector of environment words.
 void addKeyword(java.lang.String word)
          Method: addKeyword Adds a keyword to the Vector of keywords.
protected  void fireRemoveUpdate(javax.swing.event.DocumentEvent e)
          fireRemoveUpdate Overrides the default method from DefaultStyledDocument.
 void insertString(int offs, java.lang.String str, javax.swing.text.AttributeSet a)
          insertString Overrides the default method from DefaultStyledDocument.
 void setCommentStyle(javax.swing.text.SimpleAttributeSet style)
          Method: setCommentStyle Sets the style of text to use for comments
 void setDefaultStyle(javax.swing.text.SimpleAttributeSet style)
          Method: setDefaultStyle Sets the default style of text to use
 void setEnvironmentWords(java.lang.String[] words)
          Method: setEnvironmentWords Sets a collection of environment words to highlight.
 void setEnvironmentWordStyle(javax.swing.text.SimpleAttributeSet style)
          Method: setEnvironmentWordStyle Sets the style of text to use for environment words
 void setKeywords(java.lang.String[] words)
          Method: setKeywords Sets a collection of keywords to highlight.
 void setKeywordStyle(javax.swing.text.SimpleAttributeSet style)
          Method: setKeywordStyle Sets the style of text to use for keywords
 void setStringStyle(javax.swing.text.SimpleAttributeSet style)
          Method: setStringStyle Sets the style of text to use for strings
 void updateHighlightingInRange(int offset, int length)
          Method: updateHighlightingInRange Looks at a given range of text in a document and highlights it according to keywords, environment, strings, and comments.
 
Methods inherited from class javax.swing.text.DefaultStyledDocument
addDocumentListener, addStyle, create, createDefaultRoot, getBackground, getCharacterElement, getDefaultRootElement, getFont, getForeground, getLogicalStyle, getParagraphElement, getStyle, getStyleNames, insert, insertUpdate, removeDocumentListener, removeStyle, removeUpdate, setCharacterAttributes, setLogicalStyle, setParagraphAttributes, styleChanged
 
Methods inherited from class javax.swing.text.AbstractDocument
addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireInsertUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.text.Document
addUndoableEditListener, createPosition, getEndPosition, getLength, getProperty, getRootElements, getStartPosition, getText, getText, putProperty, remove, removeUndoableEditListener, render
 

Constructor Detail

HighlightingStyledDocument

public HighlightingStyledDocument()
Method Detail

insertString

public void insertString(int offs,
                         java.lang.String str,
                         javax.swing.text.AttributeSet a)
                  throws javax.swing.text.BadLocationException
insertString Overrides the default method from DefaultStyledDocument. Calls appropriate syntax highlighting code and then class super.

Specified by:
insertString in interface javax.swing.text.Document
Overrides:
insertString in class javax.swing.text.AbstractDocument
javax.swing.text.BadLocationException

fireRemoveUpdate

protected void fireRemoveUpdate(javax.swing.event.DocumentEvent e)
fireRemoveUpdate Overrides the default method from DefaultStyledDocument. Calls appropriate syntax highlighting code and then class super.

Overrides:
fireRemoveUpdate in class javax.swing.text.AbstractDocument
Parameters:
e - the DocumentEvent

updateHighlightingInRange

public void updateHighlightingInRange(int offset,
                                      int length)
Method: updateHighlightingInRange Looks at a given range of text in a document and highlights it according to keywords, environment, strings, and comments.

Parameters:
offset - Where in the document the change started
length - The length of change measured from the offset

setKeywords

public void setKeywords(java.lang.String[] words)
Method: setKeywords Sets a collection of keywords to highlight.

Parameters:
words - An array of all the words

setEnvironmentWords

public void setEnvironmentWords(java.lang.String[] words)
Method: setEnvironmentWords Sets a collection of environment words to highlight.

Parameters:
words - An array of all the words

addKeyword

public void addKeyword(java.lang.String word)
Method: addKeyword Adds a keyword to the Vector of keywords.

Parameters:
word - The word to add

addEnvironmentWord

public void addEnvironmentWord(java.lang.String word)
Method: addEnvironmentWord Adds an environment word to the Vector of environment words.

Parameters:
word - The word to add

setKeywordStyle

public void setKeywordStyle(javax.swing.text.SimpleAttributeSet style)
Method: setKeywordStyle Sets the style of text to use for keywords

Parameters:
style - The new text style

setEnvironmentWordStyle

public void setEnvironmentWordStyle(javax.swing.text.SimpleAttributeSet style)
Method: setEnvironmentWordStyle Sets the style of text to use for environment words

Parameters:
style - The new text style

setCommentStyle

public void setCommentStyle(javax.swing.text.SimpleAttributeSet style)
Method: setCommentStyle Sets the style of text to use for comments

Parameters:
style - The new text style

setStringStyle

public void setStringStyle(javax.swing.text.SimpleAttributeSet style)
Method: setStringStyle Sets the style of text to use for strings

Parameters:
style - The new text style

setDefaultStyle

public void setDefaultStyle(javax.swing.text.SimpleAttributeSet style)
Method: setDefaultStyle Sets the default style of text to use

Parameters:
style - The new text style