org.rosuda.JGR.editor
Class SyntaxDocument

java.lang.Object
  extended by javax.swing.text.AbstractDocument
      extended by javax.swing.text.DefaultStyledDocument
          extended by org.rosuda.JGR.editor.SyntaxDocument
All Implemented Interfaces:
java.io.Serializable, javax.swing.text.Document, javax.swing.text.StyledDocument

public class SyntaxDocument
extends javax.swing.text.DefaultStyledDocument

Author:
Markus Helbig
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.text.DefaultStyledDocument
javax.swing.text.DefaultStyledDocument.AttributeUndoableEdit, javax.swing.text.DefaultStyledDocument.ElementBuffer, javax.swing.text.DefaultStyledDocument.ElementSpec, javax.swing.text.DefaultStyledDocument.SectionElement
 
Nested classes/interfaces inherited from class javax.swing.text.AbstractDocument
javax.swing.text.AbstractDocument.AbstractElement, javax.swing.text.AbstractDocument.AttributeContext, javax.swing.text.AbstractDocument.BranchElement, javax.swing.text.AbstractDocument.Content, javax.swing.text.AbstractDocument.DefaultDocumentEvent, javax.swing.text.AbstractDocument.ElementEdit, javax.swing.text.AbstractDocument.LeafElement
 
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
SyntaxDocument()
           
 
Method Summary
protected  java.lang.String addMatchingBrace(int offset)
           
protected  void fireInsertUpdate(javax.swing.event.DocumentEvent evt)
           
protected  void fireRemoveUpdate(javax.swing.event.DocumentEvent evt)
           
protected  java.lang.String getEscapeString(java.lang.String quoteDelimiter)
          Get escape character.
protected  java.lang.String getSingleLineDelimiter()
          Get character which indicates comments (#).
 void insertString(int offset, java.lang.String str, javax.swing.text.AttributeSet a)
          Insert text and apply coloring.
protected  boolean isDelimiter(java.lang.String character)
          Is character a delimiter (,;:{}()[]+-/%<=>!
protected  boolean isKeyword(java.lang.String token)
          Is character a keyword.
protected  boolean isNumber(java.lang.String token)
          Is character a number.
protected  boolean isObject(java.lang.String token)
          Is character a object in current workspace.
protected  boolean isQuoteDelimiter(java.lang.String character)
          Is character a qoutedelimiter (").
 void remove(int offset, int length)
          Remove text and apply again coloring.
 
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, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, postRemoveUpdate, putProperty, readLock, readUnlock, 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, removeUndoableEditListener, render
 

Constructor Detail

SyntaxDocument

public SyntaxDocument()
Method Detail

insertString

public void insertString(int offset,
                         java.lang.String str,
                         javax.swing.text.AttributeSet a)
                  throws javax.swing.text.BadLocationException
Insert text and apply coloring.

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

remove

public void remove(int offset,
                   int length)
            throws javax.swing.text.BadLocationException
Remove text and apply again coloring.

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

isDelimiter

protected boolean isDelimiter(java.lang.String character)
Is character a delimiter (,;:{}()[]+-/%<=>!&|^~*$).


isQuoteDelimiter

protected boolean isQuoteDelimiter(java.lang.String character)
Is character a qoutedelimiter (").


isKeyword

protected boolean isKeyword(java.lang.String token)
Is character a keyword.


isNumber

protected boolean isNumber(java.lang.String token)
Is character a number.


isObject

protected boolean isObject(java.lang.String token)
Is character a object in current workspace.


getSingleLineDelimiter

protected java.lang.String getSingleLineDelimiter()
Get character which indicates comments (#).

Returns:
#

getEscapeString

protected java.lang.String getEscapeString(java.lang.String quoteDelimiter)
Get escape character.

Returns:
\\

addMatchingBrace

protected java.lang.String addMatchingBrace(int offset)
                                     throws javax.swing.text.BadLocationException
Throws:
javax.swing.text.BadLocationException

fireInsertUpdate

protected void fireInsertUpdate(javax.swing.event.DocumentEvent evt)
Overrides:
fireInsertUpdate in class javax.swing.text.AbstractDocument

fireRemoveUpdate

protected void fireRemoveUpdate(javax.swing.event.DocumentEvent evt)
Overrides:
fireRemoveUpdate in class javax.swing.text.AbstractDocument