upl
Class upl_SyntaxDocument

java.lang.Object
  extended by javax.swing.text.AbstractDocument
      extended by javax.swing.text.DefaultStyledDocument
          extended by upl.upl_SyntaxDocument
All Implemented Interfaces:
java.io.Serializable, javax.swing.text.Document, javax.swing.text.StyledDocument

 class upl_SyntaxDocument
extends javax.swing.text.DefaultStyledDocument


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
private  javax.swing.text.MutableAttributeSet comment
           
(package private)  java.awt.Color commentColor
           
private  javax.swing.text.DefaultStyledDocument doc
           
(package private)  java.awt.Color foregroundColor
           
private  javax.swing.text.MutableAttributeSet keyword
           
(package private)  java.awt.Color keywordColor
           
private  java.util.HashSet keywords
           
private  boolean multiLineComment
           
private  javax.swing.text.MutableAttributeSet normal
           
private  javax.swing.text.MutableAttributeSet quote
           
(package private)  java.awt.Color quoteColor
           
private  javax.swing.text.Element rootElement
           
(package private)  upl_LanguageEngine syntaxLang
           
 
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
upl_SyntaxDocument(upl_LanguageEngine langEngine)
           
 
Method Summary
protected  java.lang.String addMatchingBrace(int offset)
           
private  void applyHighlighting(java.lang.String content, int line)
           
private  void checkForTokens(java.lang.String content, int startOffset, int endOffset)
           
(package private)  java.util.HashSet creatHashSet()
           
protected  java.lang.String getEscapeString(java.lang.String quoteDelimiter)
           
private  java.lang.String getLine(java.lang.String content, int offset)
           
private  int getOtherToken(java.lang.String content, int startOffset, int endOffset)
           
private  int getQuoteToken(java.lang.String content, int startOffset, int endOffset)
           
protected  java.lang.String getSingleLineDelimiter()
           
private  void highlightLinesAfter(java.lang.String content, int line)
           
private  int indexOf(java.lang.String content, java.lang.String needle, int offset)
           
 void insertString(int offset, java.lang.String str, javax.swing.text.AttributeSet a)
           
protected  boolean isDelimiter(java.lang.String character)
           
protected  boolean isKeyword(java.lang.String token)
           
private  boolean isMultiLineComment()
           
protected  boolean isQuoteDelimiter(java.lang.String character)
           
private  int lastIndexOf(java.lang.String content, java.lang.String needle, int offset)
           
 void loadAttribute()
           
 void processChangedLines(int offset, int length)
           
 void remove(int offset, int length)
           
(package private)  void setColorS(java.awt.Color foreground, java.awt.Color comment, java.awt.Color keyword, java.awt.Color quote)
           
(package private)  void setFont(java.awt.Font font, int size)
           
private  void setMultiLineComment(boolean value)
           
 void setNewLanguage(java.lang.String[] language)
           
 
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, fireRemoveUpdate, 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
 

Field Detail

doc

private javax.swing.text.DefaultStyledDocument doc

rootElement

private javax.swing.text.Element rootElement

multiLineComment

private boolean multiLineComment

normal

private javax.swing.text.MutableAttributeSet normal

keyword

private javax.swing.text.MutableAttributeSet keyword

comment

private javax.swing.text.MutableAttributeSet comment

quote

private javax.swing.text.MutableAttributeSet quote

keywords

private java.util.HashSet keywords

syntaxLang

upl_LanguageEngine syntaxLang

foregroundColor

java.awt.Color foregroundColor

commentColor

java.awt.Color commentColor

keywordColor

java.awt.Color keywordColor

quoteColor

java.awt.Color quoteColor
Constructor Detail

upl_SyntaxDocument

upl_SyntaxDocument(upl_LanguageEngine langEngine)
Method Detail

creatHashSet

java.util.HashSet creatHashSet()

loadAttribute

public void loadAttribute()

insertString

public void insertString(int offset,
                         java.lang.String str,
                         javax.swing.text.AttributeSet a)
                  throws javax.swing.text.BadLocationException
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
Specified by:
remove in interface javax.swing.text.Document
Overrides:
remove in class javax.swing.text.AbstractDocument
Throws:
javax.swing.text.BadLocationException

processChangedLines

public void processChangedLines(int offset,
                                int length)
                         throws javax.swing.text.BadLocationException
Throws:
javax.swing.text.BadLocationException

setColorS

void setColorS(java.awt.Color foreground,
               java.awt.Color comment,
               java.awt.Color keyword,
               java.awt.Color quote)

setFont

void setFont(java.awt.Font font,
             int size)

highlightLinesAfter

private void highlightLinesAfter(java.lang.String content,
                                 int line)
                          throws javax.swing.text.BadLocationException
Throws:
javax.swing.text.BadLocationException

applyHighlighting

private void applyHighlighting(java.lang.String content,
                               int line)
                        throws javax.swing.text.BadLocationException
Throws:
javax.swing.text.BadLocationException

isMultiLineComment

private boolean isMultiLineComment()

setMultiLineComment

private void setMultiLineComment(boolean value)

checkForTokens

private void checkForTokens(java.lang.String content,
                            int startOffset,
                            int endOffset)

getQuoteToken

private int getQuoteToken(java.lang.String content,
                          int startOffset,
                          int endOffset)

getOtherToken

private int getOtherToken(java.lang.String content,
                          int startOffset,
                          int endOffset)

indexOf

private int indexOf(java.lang.String content,
                    java.lang.String needle,
                    int offset)

lastIndexOf

private int lastIndexOf(java.lang.String content,
                        java.lang.String needle,
                        int offset)

getLine

private java.lang.String getLine(java.lang.String content,
                                 int offset)

isDelimiter

protected boolean isDelimiter(java.lang.String character)

isQuoteDelimiter

protected boolean isQuoteDelimiter(java.lang.String character)

isKeyword

protected boolean isKeyword(java.lang.String token)

getSingleLineDelimiter

protected java.lang.String getSingleLineDelimiter()

getEscapeString

protected java.lang.String getEscapeString(java.lang.String quoteDelimiter)

addMatchingBrace

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

setNewLanguage

public void setNewLanguage(java.lang.String[] language)