org.eclipse.jface.text.rules
Class DefaultDamagerRepairer
java.lang.Object
org.eclipse.jface.text.rules.DefaultDamagerRepairer
-
All Implemented Interfaces:
-
IPresentationDamager,
IPresentationRepairer
-
Direct Known Subclasses:
-
RuleBasedDamagerRepairer
-
public class DefaultDamagerRepairer
- extends
Object
- implements
IPresentationDamager,
IPresentationRepairer
A standard implementation of a syntax driven presentation damager
and presentation repairer. It uses a token scanner to scan
the document and to determine its damage and new text presentation.
The tokens returned by the scanner are supposed to return text attributes
as their data.
-
Since:
- 2.0
-
See Also:
-
ITokenScanner
Method Summary
|
protected void
|
addRange
(
TextPresentation presentation,
int offset,
int length,
TextAttribute attr)
Adds style information to the given text presentation. |
void
|
createPresentation
(
TextPresentation presentation,
ITypedRegion region)
Fills the given presentation with the style ranges which when applied to the
presentation reconciler's text viewer repair the presentation damage described by
the given region. |
protected int
|
endOfLineOf
(int offset)
Returns the end offset of the line that contains the specified offset or
if the offset is inside a line delimiter, the end offset of the next line. |
IRegion
|
getDamageRegion
(
ITypedRegion partition,
DocumentEvent e,
boolean documentPartitioningChanged)
Returns the damage in the document's presentation caused by the given document change. |
protected
TextAttribute
|
getTokenTextAttribute
(
IToken token)
Returns a text attribute encoded in the given token. |
void
|
setDocument
(
IDocument document)
Tells the presentation damager on which document it will work. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
fDocument
protected
IDocument fDocument
- The document this object works on
fScanner
protected
ITokenScanner fScanner
- The scanner it uses
fDefaultTextAttribute
protected
TextAttribute fDefaultTextAttribute
- The default text attribute if non is returned as data by the current token
DefaultDamagerRepairer
public DefaultDamagerRepairer(
ITokenScanner scanner,
TextAttribute defaultTextAttribute)
-
Deprecated. use DefaultDamagerRepairer(ITokenScanner) instead
- Creates a damager/repairer that uses the given scanner and returns the given default
text attribute if the current token does not carry a text attribute.
-
Parameters:
-
scanner
- the token scanner to be used -
defaultTextAttribute
- the text attribute to be returned if non is specified by the current token,
may not be null
DefaultDamagerRepairer
public DefaultDamagerRepairer(
ITokenScanner scanner)
- Creates a damager/repairer that uses the given scanner. The scanner may not be
null
and is assumed to return only token that carry text attributes.
-
Parameters:
-
scanner
- the token scanner to be used, may not be null
setDocument
public void setDocument(
IDocument document)
-
Description copied from interface:
IPresentationDamager
- Tells the presentation damager on which document it will work.
-
-
Specified by:
-
setDocument
in interface
IPresentationDamager
-
Specified by:
-
setDocument
in interface
IPresentationRepairer
-
-
Parameters:
-
document
- the damager's working document
endOfLineOf
protected int endOfLineOf(int offset)
throws
BadLocationException
- Returns the end offset of the line that contains the specified offset or
if the offset is inside a line delimiter, the end offset of the next line.
-
-
-
Parameters:
-
offset
- the offset whose line end offset must be computed
-
Returns:
- the line end offset for the given offset
-
Throws:
-
BadLocationException
- if offset is invalid in the current document
getDamageRegion
public
IRegion getDamageRegion(
ITypedRegion partition,
DocumentEvent e,
boolean documentPartitioningChanged)
-
Description copied from interface:
IPresentationDamager
- Returns the damage in the document's presentation caused by the given document change.
The damage is restricted to the specified partition for which the presentation damager is
responsible. The damage may also depend on whether the document change also caused changes
of the document's partitioning.
-
-
Specified by:
-
getDamageRegion
in interface
IPresentationDamager
-
-
Parameters:
-
partition
- the partition inside which the damage must be determined -
e
- the event describing the change whose damage must be determined -
documentPartitioningChanged
- indicates whether the given change changed the document's partitioning
-
Returns:
- the computed damage
createPresentation
public void createPresentation(
TextPresentation presentation,
ITypedRegion region)
-
Description copied from interface:
IPresentationRepairer
- Fills the given presentation with the style ranges which when applied to the
presentation reconciler's text viewer repair the presentation damage described by
the given region.
-
-
Specified by:
-
createPresentation
in interface
IPresentationRepairer
-
-
Parameters:
-
presentation
- the text presentation to be filled by this repairer -
region
- the damage to be repaired
getTokenTextAttribute
protected
TextAttribute getTokenTextAttribute(
IToken token)
- Returns a text attribute encoded in the given token. If the token's
data is not
null
and a text attribute it is assumed that
it is the encoded text attribute. It returns the default text attribute
if there is no encoded text attribute found.
-
-
-
Parameters:
-
token
- the token whose text attribute is to be determined
-
Returns:
- the token's text attribute
addRange
protected void addRange(
TextPresentation presentation,
int offset,
int length,
TextAttribute attr)
- Adds style information to the given text presentation.
-
-
-
Parameters:
-
presentation
- the text presentation to be extended -
offset
- the offset of the range to be styled -
length
- the length of the range to be styled -
attr
- the attribute describing the style of the range to be styled
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.