Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.ui.texteditor
Class SourceViewerDecorationSupport


java.lang.Object
  extended by 
org.eclipse.ui.texteditor.SourceViewerDecorationSupport

public class SourceViewerDecorationSupport
extends Object

Support class used by text editors to draw and update decorations on the source viewer and its rulers. An instance of this class is independent of a certain editor and must be configured with the needed preference keys and helper objects before it can be used.

Once configured, an instance may be installed (see install) on a preference store, from then on monitoring the configured preference settings and changing the respective decorations. Calling uninstall will unregister the listeners with the preferences store and must be called before changing the preference store by another call to install.
dispose will uninstall the support and remove any decorations from the viewer. It is okay to reuse a SourceViewerDecorationSupport instance after disposing it.

SourceViewerDecorationSupport can draw the following decorations:

  • matching character highlighting,
  • current line highlighting,
  • print margin, and
  • annotations.
Annotations are managed for the overview ruler and also drawn onto the text widget by an AnnotationPainter instance.

Subclasses may add decorations but should adhere to the lifecyle described above.

Since:
2.1
See Also:
AnnotationPainter

Constructor Summary
SourceViewerDecorationSupport ( ISourceViewer sourceViewer, IOverviewRuler overviewRuler, IAnnotationAccess annotationAccess, ISharedTextColors sharedTextColors)
          Creates a new decoration support for the given viewer.
 
Method Summary
protected   AnnotationPainter createAnnotationPainter ()
          Creates and configures the annotation painter and configures.
 void dispose ()
          Disposes this decoration support.
protected  void handlePreferenceStoreChanged ( PropertyChangeEvent event)
           
 void hideAnnotationOverview ()
          Hides the annotation overview.
 void install ( IPreferenceStore store)
          Installs this decoration support on the given preference store.
 void setAnnotationPainterPreferenceKeys ( Object type, String colorKey, String editorKey, String overviewRulerKey, int layer)
          Sets the preference keys for the annotation painter.
 void setAnnotationPreference ( AnnotationPreference info)
          Sets the preference info for the annotation painter.
 void setCharacterPairMatcher ( ICharacterPairMatcher pairMatcher)
          Sets the character pair matcher for the matching character painter.
 void setCursorLinePainterPreferenceKeys ( String enableKey, String colorKey)
          Sets the preference keys for the cursor line painter.
 void setMarginPainterPreferenceKeys ( String enableKey, String colorKey, String columnKey)
          Sets the preference keys for the margin painter.
 void setMatchingCharacterPainterPreferenceKeys ( String enableKey, String colorKey)
          Sets the preference keys for the matching character painter.
 void setSymbolicFontName ( String symbolicFontName)
          Sets the symbolic font name that is used for computing the margin width.
 void uninstall ()
          Uninstalls this support from the preference store it has previously been installed on.
 void updateOverviewDecorations ()
          Updates the annotation overview for all configured annotation types.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SourceViewerDecorationSupport

public SourceViewerDecorationSupport(
ISourceViewer sourceViewer,
                                     
IOverviewRuler overviewRuler,
                                     
IAnnotationAccess annotationAccess,
                                     
ISharedTextColors sharedTextColors)
Creates a new decoration support for the given viewer.

Parameters:
sourceViewer - the source viewer
overviewRuler - the viewer's overview ruler
annotationAccess - the annotation access
sharedTextColors - the shared text color manager
Method Detail

install

public void install(
IPreferenceStore store)
Installs this decoration support on the given preference store. It assumes that this support has completely been configured.

Parameters:
store - the preference store

updateOverviewDecorations

public void updateOverviewDecorations()
Updates the annotation overview for all configured annotation types.


uninstall

public void uninstall()
Uninstalls this support from the preference store it has previously been installed on. If there is no such preference store, this call is without effect.


dispose

public void dispose()
Disposes this decoration support. Internally calls uninstall.


setCharacterPairMatcher

public void setCharacterPairMatcher(
ICharacterPairMatcher pairMatcher)
Sets the character pair matcher for the matching character painter.

Parameters:
pairMatcher - the character pair matcher

setAnnotationPainterPreferenceKeys

public void setAnnotationPainterPreferenceKeys(
Object type,
                                               
String colorKey,
                                               
String editorKey,
                                               
String overviewRulerKey,
                                               int layer)
Sets the preference keys for the annotation painter.

Parameters:
type - the annotation type
colorKey - the preference key for the color
editorKey - the preference key for the presentation in the text area
overviewRulerKey - the preference key for the presentation in the overview ruler
layer - the layer

setAnnotationPreference

public void setAnnotationPreference(
AnnotationPreference info)
Sets the preference info for the annotation painter.

Parameters:
info - the preference info to be set

setCursorLinePainterPreferenceKeys

public void setCursorLinePainterPreferenceKeys(
String enableKey,
                                               
String colorKey)
Sets the preference keys for the cursor line painter.

Parameters:
enableKey - the preference key for the cursor line painter
colorKey - the preference key for the color used by the cursor line painter

setMarginPainterPreferenceKeys

public void setMarginPainterPreferenceKeys(
String enableKey,
                                           
String colorKey,
                                           
String columnKey)
Sets the preference keys for the margin painter.

Parameters:
enableKey - the preference key for the margin painter
colorKey - the preference key for the color used by the margin painter
columnKey - the preference key for the margin column

setMatchingCharacterPainterPreferenceKeys

public void setMatchingCharacterPainterPreferenceKeys(
String enableKey,
                                                      
String colorKey)
Sets the preference keys for the matching character painter.

Parameters:
enableKey - the preference key for the matching character painter
colorKey - the preference key for the color used by the matching character painter

setSymbolicFontName

public void setSymbolicFontName(
String symbolicFontName)
Sets the symbolic font name that is used for computing the margin width.

Parameters:
symbolicFontName - the symbolic font name

handlePreferenceStoreChanged

protected void handlePreferenceStoreChanged(
PropertyChangeEvent event)

createAnnotationPainter

protected 
AnnotationPainter createAnnotationPainter()
Creates and configures the annotation painter and configures.

Returns:
an annotation painter
Since:
3.0

hideAnnotationOverview

public void hideAnnotationOverview()
Hides the annotation overview.


Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire