JIDE 3.5.15

com.jidesoft.editor.highlight
Class DefaultHighlighter

java.lang.Object
  extended by com.jidesoft.editor.highlight.LayeredHighlighter
      extended by com.jidesoft.editor.highlight.DefaultHighlighter
All Implemented Interfaces:
Highlighter
Direct Known Subclasses:
CodeEditor.DefaultUIResourceHighlighter

public class DefaultHighlighter
extends LayeredHighlighter

Implements the Highlighter interfaces. Implements a simple highlight painter that renders in a solid color.

It does not paint the layered hightlighter like DefaultHighlightPainter.

Author:
Timothy Prinzing
See Also:
Highlighter

Nested Class Summary
static class DefaultHighlighter.DefaultHighlightPainter
          Simple highlight painter that fills a highlighted area with a solid color.
 
Nested classes/interfaces inherited from class com.jidesoft.editor.highlight.LayeredHighlighter
LayeredHighlighter.LayerPainter
 
Nested classes/interfaces inherited from interface com.jidesoft.editor.highlight.Highlighter
Highlighter.Highlight, Highlighter.HighlightPainter
 
Field Summary
static LayeredHighlighter.LayerPainter DefaultPainter
          Default implementation of LayeredHighlighter.LayerPainter that can be used for painting highlights.
 
Constructor Summary
DefaultHighlighter()
          Creates a new DefaultHighlighther object.
 
Method Summary
 Object addHighlight(int p0, int p1, Highlighter.HighlightPainter p)
          Adds a highlight to the view.
 void changeHighlight(Object tag, int p0, int p1)
          Changes a highlight.
 void deinstall(CodeEditor c)
          Called when the UI is being removed from the interface of a CodeEditor.
 boolean getDrawsLayeredHighlights()
           
 Object getHighlightInfo(int index)
          Get the highlight information of the designated index.
 Highlighter.Highlight[] getHighlights()
          Makes a copy of the highlights.
 void install(CodeEditor c)
          Called when the UI is being installed into the interface of a CodeEditor.
 void paint(Graphics g)
          Renders the highlights.
 void paintLayeredHighlights(Graphics g, int p0, int p1, Shape viewBounds, CodeEditor editor)
          When leaf Views (such as LabelView) are rendering they should call into this method.
 void removeAllHighlights()
          Removes all highlights.
 void removeHighlight(Object tag)
          Removes a highlight from the view.
 void setDrawsLayeredHighlights(boolean newValue)
          If true, highlights are drawn as the Views draw the text.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DefaultPainter

public static final LayeredHighlighter.LayerPainter DefaultPainter
Default implementation of LayeredHighlighter.LayerPainter that can be used for painting highlights.

As of 1.4 this field is final.

Constructor Detail

DefaultHighlighter

public DefaultHighlighter()
Creates a new DefaultHighlighther object.

Method Detail

paint

public void paint(Graphics g)
Renders the highlights.

Parameters:
g - the graphics context

getHighlightInfo

public Object getHighlightInfo(int index)
Get the highlight information of the designated index.

Parameters:
index - the highlight index
Returns:
highlight information.

install

public void install(CodeEditor c)
Called when the UI is being installed into the interface of a CodeEditor. Installs the editor, and removes any existing highlights.

Parameters:
c - the editor component
See Also:
Highlighter.install(javax.swing.text.JTextComponent)

deinstall

public void deinstall(CodeEditor c)
Called when the UI is being removed from the interface of a CodeEditor.

Parameters:
c - the component
See Also:
Highlighter.deinstall(javax.swing.text.JTextComponent)

addHighlight

public Object addHighlight(int p0,
                           int p1,
                           Highlighter.HighlightPainter p)
                    throws BadLocationException
Adds a highlight to the view. Returns a tag that can be used to refer to the highlight.

Parameters:
p0 - the start offset of the range to highlight >= 0
p1 - the end offset of the range to highlight >= p0
p - the painter to use to actually render the highlight
Returns:
an object that can be used as a tag to refer to the highlight
Throws:
BadLocationException - if the specified location is invalid

removeHighlight

public void removeHighlight(Object tag)
Removes a highlight from the view.

Parameters:
tag - the reference to the highlight

removeAllHighlights

public void removeAllHighlights()
Removes all highlights.


changeHighlight

public void changeHighlight(Object tag,
                            int p0,
                            int p1)
                     throws BadLocationException
Changes a highlight.

Parameters:
tag - the highlight tag
p0 - the beginning of the range >= 0
p1 - the end of the range >= p0
Throws:
BadLocationException - if the specified location is invalid

getHighlights

public Highlighter.Highlight[] getHighlights()
Makes a copy of the highlights. Does not actually clone each highlight, but only makes references to them.

Returns:
the copy
See Also:
Highlighter.getHighlights()

paintLayeredHighlights

public void paintLayeredHighlights(Graphics g,
                                   int p0,
                                   int p1,
                                   Shape viewBounds,
                                   CodeEditor editor)
When leaf Views (such as LabelView) are rendering they should call into this method. If a highlight is in the given region it will be drawn immediately.

Specified by:
paintLayeredHighlights in class LayeredHighlighter
Parameters:
g - Graphics used to draw
p0 - starting offset of view
p1 - ending offset of view
viewBounds - Bounds of View
editor - CodeEditor

setDrawsLayeredHighlights

public void setDrawsLayeredHighlights(boolean newValue)
If true, highlights are drawn as the Views draw the text. That is the Views will call into paintLayeredHighlight which will result in a rectangle being drawn before the text is drawn (if the offsets are in a highlighted region that is). For this to work the painter supplied must be an instance of LayeredHighlightPainter.

Parameters:
newValue - the setting

getDrawsLayeredHighlights

public boolean getDrawsLayeredHighlights()

JIDE 3.5.15