diff options
Diffstat (limited to 'org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/SourceViewerDecorationSupport.java')
-rw-r--r-- | org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/SourceViewerDecorationSupport.java | 768 |
1 files changed, 0 insertions, 768 deletions
diff --git a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/SourceViewerDecorationSupport.java b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/SourceViewerDecorationSupport.java deleted file mode 100644 index 9efc6d046d2..00000000000 --- a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/SourceViewerDecorationSupport.java +++ /dev/null @@ -1,768 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.ui.texteditor; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.RGB; - -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.text.CursorLinePainter; -import org.eclipse.jface.text.IPainter; -import org.eclipse.jface.text.ITextViewerExtension2; -import org.eclipse.jface.text.ITextViewerExtension4; -import org.eclipse.jface.text.MarginPainter; -import org.eclipse.jface.text.source.AnnotationPainter; -import org.eclipse.jface.text.source.IAnnotationAccess; -import org.eclipse.jface.text.source.ICharacterPairMatcher; -import org.eclipse.jface.text.source.IOverviewRuler; -import org.eclipse.jface.text.source.ISharedTextColors; -import org.eclipse.jface.text.source.ISourceViewer; -import org.eclipse.jface.text.source.MatchingCharacterPainter; - -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.preference.PreferenceConverter; -import org.eclipse.jface.util.IPropertyChangeListener; -import org.eclipse.jface.util.PropertyChangeEvent; - -/** - * Support for source viewer decoration. - * - * @since 2.1 - */ -public class SourceViewerDecorationSupport { - - - /* - * @see IPropertyChangeListener - */ - private class FontPropertyChangeListener implements IPropertyChangeListener { - /* - * @see IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) - */ - public void propertyChange(PropertyChangeEvent event) { - if (fMarginPainter != null && fSymbolicFontName != null && fSymbolicFontName.equals(event.getProperty())) - fMarginPainter.initialize(); - } - } - - - /** The viewer */ - private ISourceViewer fSourceViewer; - /** The viewer's overview ruler */ - private IOverviewRuler fOverviewRuler; - /** The annotation access */ - private IAnnotationAccess fAnnotationAccess; - /** The shared color manager */ - private ISharedTextColors fSharedTextColors; - - /** The editor's line painter */ - private CursorLinePainter fCursorLinePainter; - /** The editor's margin ruler painter */ - private MarginPainter fMarginPainter; - /** The editor's annotation painter */ - private AnnotationPainter fAnnotationPainter; - /** The editor's peer character painter */ - private MatchingCharacterPainter fMatchingCharacterPainter; - /** The character painter's pair matcher */ - private ICharacterPairMatcher fCharacterPairMatcher; - - /** Table of annotation type preference infos */ - private Map fAnnotationTypeKeyMap= new HashMap(); - /** Preference key for the cursor line highlighting */ - private String fCursorLinePainterEnableKey; - /** Preference key for the cursor line background color */ - private String fCursorLinePainterColorKey; - /** Preference key for the margin painter */ - private String fMarginPainterEnableKey; - /** Preference key for the margin painter color */ - private String fMarginPainterColorKey; - /** Preference key for the margin painter column */ - private String fMarginPainterColumnKey; - /** Preference key for the matching character painter */ - private String fMatchingCharacterPainterEnableKey; - /** Preference key for the matching character painter color */ - private String fMatchingCharacterPainterColorKey; - /** The property change listener */ - private IPropertyChangeListener fPropertyChangeListener; - /** The preference store */ - private IPreferenceStore fPreferenceStore; - /** The symbolic font name */ - private String fSymbolicFontName; - /** The font change listener */ - private FontPropertyChangeListener fFontPropertyChangeListener; - - - /** - * Creates a new decoration support for the given viewer. - * - * @param sourceViewer the source viewer - * @param overviewRuler the viewer's overview ruler - * @param annotationAccess the annotation access - * @param sharedTextColors the shared text color manager - */ - public SourceViewerDecorationSupport(ISourceViewer sourceViewer, IOverviewRuler overviewRuler, IAnnotationAccess annotationAccess, ISharedTextColors sharedTextColors) { - fSourceViewer= sourceViewer; - fOverviewRuler= overviewRuler; - fAnnotationAccess= annotationAccess; - fSharedTextColors= sharedTextColors; - } - - /** - * Installs this decoration support on th given preference store. It assumes - * that this support has completely been configured. - * - * @param store the preference store - */ - public void install(IPreferenceStore store) { - - fPreferenceStore= store; - if (fPreferenceStore != null) { - fPropertyChangeListener= new IPropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - handlePreferenceStoreChanged(event); - } - }; - fPreferenceStore.addPropertyChangeListener(fPropertyChangeListener); - } - - updateTextDecorations(); - updateOverviewDecorations(); - } - - /** - * Updates the text docorations for all configured annotation types. - */ - private void updateTextDecorations() { - - StyledText widget= fSourceViewer.getTextWidget(); - if (widget == null || widget.isDisposed()) - return; - - if (areMatchingCharactersShown()) - showMatchingCharacters(); - else - hideMatchingCharacters(); - - if (isCursorLineShown()) - showCursorLine(); - else - hideCursorLine(); - - if (isMarginShown()) - showMargin(); - else - hideMargin(); - - Iterator e= fAnnotationTypeKeyMap.keySet().iterator(); - while (e.hasNext()) { - Object type= e.next(); - if (areAnnotationsShown(type)) - showAnnotations(type, false, false); - else - hideAnnotations(type, false, false); - if (areAnnotationsHighlighted(type)) - showAnnotations(type, true, false); - else - hideAnnotations(type, true, false); - } - updateAnnotationPainter(); - } - - /** - * Updates the annotation overview for all configured annotation types. - */ - public void updateOverviewDecorations() { - Iterator e= fAnnotationTypeKeyMap.keySet().iterator(); - while (e.hasNext()) { - Object type= e.next(); - if (isAnnotationOverviewShown(type)) - showAnnotationOverview(type); - else - hideAnnotationOverview(type); - } - } - - /** - * 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. - */ - public void uninstall() { - - if (fPreferenceStore != null) { - fPreferenceStore.removePropertyChangeListener(fPropertyChangeListener); - fPropertyChangeListener= null; - fPreferenceStore= null; - } - - if (fFontPropertyChangeListener != null) { - JFaceResources.getFontRegistry().removeListener(fFontPropertyChangeListener); - fFontPropertyChangeListener= null; - } - } - - /** - * Disposes this decoration support. Internally calls - * <code>uninstall</code>. - */ - public void dispose() { - uninstall(); - updateTextDecorations(); - updateOverviewDecorations(); - } - - /** - * Sets the character pair matcher for the matching character painter. - * - * @param pairMatcher - */ - public void setCharacterPairMatcher(ICharacterPairMatcher pairMatcher) { - fCharacterPairMatcher= pairMatcher; - } - - /** - * Sets the preference keys for the annotation painter. - * - * @param type the annotation type - * @param colorKey the preference key for the color - * @param editorKey the preference key for the presentation in the text area - * @param overviewRulerKey the preference key for the presentation in the overview ruler - * @param layer the layer - */ - public void setAnnotationPainterPreferenceKeys(Object type, String colorKey, String editorKey, String overviewRulerKey, int layer) { - AnnotationPreference info= new AnnotationPreference(type, colorKey, editorKey, overviewRulerKey, layer); - fAnnotationTypeKeyMap.put(type, info); - } - - /** - * Sets the preference info for the annotation painter. - * @param info the preference info to be set - */ - public void setAnnotationPreference(AnnotationPreference info) { - fAnnotationTypeKeyMap.put(info.getAnnotationType(), info); - } - - /** - * Sets the preference keys for the cursor line painter. - * @param enableKey the preference key for the cursor line painter - * @param colorKey the preference key for the color used by the cursor line - * painter - */ - public void setCursorLinePainterPreferenceKeys(String enableKey, String colorKey) { - fCursorLinePainterEnableKey= enableKey; - fCursorLinePainterColorKey= colorKey; - } - - /** - * Sets the preference keys for the margin painter. - * @param enableKey the preference key for the margin painter - * @param colorKey the preference key for the color used by the margin - * painter - * @param columnKey the preference key for the margin column - */ - public void setMarginPainterPreferenceKeys(String enableKey, String colorKey, String columnKey) { - fMarginPainterEnableKey= enableKey; - fMarginPainterColorKey= colorKey; - fMarginPainterColumnKey= columnKey; - } - - /** - * Sets the preference keys for the matching character painter. - * @param enableKey the preference key for the matching character painter - * @param colorKey the preference key for the color used by the matching - * character painter - */ - public void setMatchingCharacterPainterPreferenceKeys(String enableKey, String colorKey) { - fMatchingCharacterPainterEnableKey= enableKey; - fMatchingCharacterPainterColorKey= colorKey; - } - - /** - * Sets the symbolic font name that is used for computing the margin width. - * @param symbolicFontName - */ - public void setSymbolicFontName(String symbolicFontName) { - fSymbolicFontName= symbolicFontName; - } - - /** - * Returns the annotation preference for the given key. - * - * @param preferenceKey the preference key string - * @return the annotation preference - */ - private AnnotationPreference getAnnotationPreferenceInfo(String preferenceKey) { - Iterator e= fAnnotationTypeKeyMap.values().iterator(); - while (e.hasNext()) { - AnnotationPreference info= (AnnotationPreference) e.next(); - if (info != null && info.isPreferenceKey(preferenceKey)) - return info; - } - return null; - } - - - /* - * @see AbstractTextEditor#handlePreferenceStoreChanged(PropertyChangeEvent) - */ - protected void handlePreferenceStoreChanged(PropertyChangeEvent event) { - - String p= event.getProperty(); - - if (fMatchingCharacterPainterEnableKey != null && fMatchingCharacterPainterEnableKey.equals(p) && fCharacterPairMatcher != null) { - if (areMatchingCharactersShown()) - showMatchingCharacters(); - else - hideMatchingCharacters(); - return; - } - - if (fMatchingCharacterPainterColorKey != null && fMatchingCharacterPainterColorKey.equals(p)) { - if (fMatchingCharacterPainter != null) { - fMatchingCharacterPainter.setColor(getColor(fMatchingCharacterPainterColorKey)); - fMatchingCharacterPainter.paint(IPainter.CONFIGURATION); - } - return; - } - - if (fCursorLinePainterEnableKey != null && fCursorLinePainterEnableKey.equals(p)) { - if (isCursorLineShown()) - showCursorLine(); - else - hideCursorLine(); - return; - } - - if (fCursorLinePainterColorKey != null && fCursorLinePainterColorKey.equals(p)) { - if (fCursorLinePainter != null) { - hideCursorLine(); - showCursorLine(); - } - return; - } - - if (fMarginPainterEnableKey != null && fMarginPainterEnableKey.equals(p)) { - if (isMarginShown()) - showMargin(); - else - hideMargin(); - return; - } - - if (fMarginPainterColorKey != null && fMarginPainterColorKey.equals(p)) { - if (fMarginPainter != null) { - fMarginPainter.setMarginRulerColor(getColor(fMarginPainterColorKey)); - fMarginPainter.paint(IPainter.CONFIGURATION); - } - return; - } - - if (fMarginPainterColumnKey != null && fMarginPainterColumnKey.equals(p)) { - if (fMarginPainter != null && fPreferenceStore != null) { - fMarginPainter.setMarginRulerColumn(fPreferenceStore.getInt(fMarginPainterColumnKey)); - fMarginPainter.paint(IPainter.CONFIGURATION); - } - return; - } - - AnnotationPreference info= getAnnotationPreferenceInfo(p); - if (info != null) { - - if (info.getColorPreferenceKey().equals(p)) { - Color color= getColor(info.getColorPreferenceKey()); - if (fAnnotationPainter != null) { - fAnnotationPainter.setAnnotationTypeColor(info.getAnnotationType(), color); - fAnnotationPainter.paint(IPainter.CONFIGURATION); - } - setAnnotationOverviewColor(info.getAnnotationType(), color); - return; - } - - if (info.getTextPreferenceKey().equals(p)) { - if (areAnnotationsShown(info.getAnnotationType())) - showAnnotations(info.getAnnotationType(), false, true); - else - hideAnnotations(info.getAnnotationType(), false, true); - return; - } - - if (info.getHighlightPreferenceKey() != null && info.getHighlightPreferenceKey().equals(p)) { - if (areAnnotationsHighlighted(info.getAnnotationType())) - showAnnotations(info.getAnnotationType(), true, true); - else - hideAnnotations(info.getAnnotationType(), true, true); - return; - } - - if (info.getOverviewRulerPreferenceKey().equals(p)) { - if (isAnnotationOverviewShown(info.getAnnotationType())) - showAnnotationOverview(info.getAnnotationType()); - else - hideAnnotationOverview(info.getAnnotationType()); - return; - } - } - - } - - /** - * Returns the shared color for the given key. - * - * @param key the color key string - * @return the shared color for the given key - */ - private Color getColor(String key) { - if (fPreferenceStore != null) { - RGB rgb= PreferenceConverter.getColor(fPreferenceStore, key); - return getColor(rgb); - } - return null; - } - - /** - * Returns the shared color for the given RGB. - * - * @param rgb the rgb - * @return the shared color for the given rgb - */ - private Color getColor(RGB rgb) { - return fSharedTextColors.getColor(rgb); - } - - /** - * Returns the color of the given annotation type. - * - * @param annotationType the annotation type - * @return the color of the annotation type - */ - private Color getAnnotationTypeColor(Object annotationType) { - AnnotationPreference info= (AnnotationPreference) fAnnotationTypeKeyMap.get(annotationType); - if (info != null) - return getColor( info.getColorPreferenceKey()); - return null; - } - - - - /** - * Returns the layer of the given annotation type. - * - * @param annotationType the annotation type - * @return the layer - */ - private int getAnnotationTypeLayer(Object annotationType) { - AnnotationPreference info= (AnnotationPreference) fAnnotationTypeKeyMap.get(annotationType); - if (info != null) - return info.getPresentationLayer(); - return 0; - } - - /** - * Enables showing of matching characters. - */ - private void showMatchingCharacters() { - if (fMatchingCharacterPainter == null) { - if (fSourceViewer instanceof ITextViewerExtension2) { - fMatchingCharacterPainter= new MatchingCharacterPainter(fSourceViewer, fCharacterPairMatcher); - fMatchingCharacterPainter.setColor(getColor(fMatchingCharacterPainterColorKey)); - ITextViewerExtension2 extension= (ITextViewerExtension2) fSourceViewer; - extension.addPainter(fMatchingCharacterPainter); - } - } - } - - /** - * Disables showing of matching characters. - */ - private void hideMatchingCharacters() { - if (fMatchingCharacterPainter != null) { - if (fSourceViewer instanceof ITextViewerExtension2) { - ITextViewerExtension2 extension= (ITextViewerExtension2) fSourceViewer; - extension.removePainter(fMatchingCharacterPainter); - fMatchingCharacterPainter.deactivate(true); - fMatchingCharacterPainter.dispose(); - fMatchingCharacterPainter= null; - } - } - } - - /** - * Tells whether matching charaters are shown. - * - * @return <code>true</code> if the matching characters are shown - */ - private boolean areMatchingCharactersShown() { - if (fPreferenceStore != null && fMatchingCharacterPainterEnableKey != null) - return fPreferenceStore.getBoolean(fMatchingCharacterPainterEnableKey); - return false; - } - - /** - * Shows the cursor line. - */ - private void showCursorLine() { - if (fCursorLinePainter == null) { - if (fSourceViewer instanceof ITextViewerExtension2) { - fCursorLinePainter= new CursorLinePainter(fSourceViewer); - fCursorLinePainter.setHighlightColor(getColor(fCursorLinePainterColorKey)); - ITextViewerExtension2 extension= (ITextViewerExtension2) fSourceViewer; - extension.addPainter(fCursorLinePainter); - } - } - } - - /** - * Hides the cursor line. - */ - private void hideCursorLine() { - if (fCursorLinePainter != null) { - if (fSourceViewer instanceof ITextViewerExtension2) { - ITextViewerExtension2 extension= (ITextViewerExtension2) fSourceViewer; - extension.removePainter(fCursorLinePainter); - fCursorLinePainter.deactivate(true); - fCursorLinePainter.dispose(); - fCursorLinePainter= null; - } - } - } - - /** - * Tells whether the cursor line is shown. - * - * @return <code>true</code> f the cursor line is shown - */ - private boolean isCursorLineShown() { - if (fPreferenceStore != null && fCursorLinePainterEnableKey != null) - return fPreferenceStore.getBoolean(fCursorLinePainterEnableKey); - return false; - } - - /** - * Shows the margin. - */ - private void showMargin() { - if (fMarginPainter == null) { - if (fSourceViewer instanceof ITextViewerExtension2) { - fMarginPainter= new MarginPainter(fSourceViewer); - fMarginPainter.setMarginRulerColor(getColor(fMarginPainterColorKey)); - if (fPreferenceStore != null) - fMarginPainter.setMarginRulerColumn(fPreferenceStore.getInt(fMarginPainterColumnKey)); - ITextViewerExtension2 extension= (ITextViewerExtension2) fSourceViewer; - extension.addPainter(fMarginPainter); - - fFontPropertyChangeListener= new FontPropertyChangeListener(); - JFaceResources.getFontRegistry().addListener(fFontPropertyChangeListener); - } - } - } - - /** - * Hides the margin. - */ - private void hideMargin() { - if (fMarginPainter != null) { - if (fSourceViewer instanceof ITextViewerExtension2) { - JFaceResources.getFontRegistry().removeListener(fFontPropertyChangeListener); - fFontPropertyChangeListener= null; - - ITextViewerExtension2 extension= (ITextViewerExtension2) fSourceViewer; - extension.removePainter(fMarginPainter); - fMarginPainter.deactivate(true); - fMarginPainter.dispose(); - fMarginPainter= null; - } - } - } - - /** - * Tells whether the margin is shown. - * - * @return <code>true</code> if the margin is shown - */ - private boolean isMarginShown() { - if (fPreferenceStore != null && fMarginPainterEnableKey != null) - return fPreferenceStore.getBoolean(fMarginPainterEnableKey); - return false; - } - - /** - * Enables annotations in the source viewer for the given annotation type. - * - * @param annotationType the annotation type - * @param highlighting <code>true</code> if highlighting <code>false</code> if painting squiggles - * @param updatePainter if <code>true</code> update the annotation painter - */ - private void showAnnotations(Object annotationType, boolean highlighting, boolean updatePainter) { - if (fSourceViewer instanceof ITextViewerExtension2) { - if (fAnnotationPainter == null) { - fAnnotationPainter= new AnnotationPainter(fSourceViewer, fAnnotationAccess); - if (fSourceViewer instanceof ITextViewerExtension4) - ((ITextViewerExtension4)fSourceViewer).addTextPresentationListener(fAnnotationPainter); - ITextViewerExtension2 extension= (ITextViewerExtension2) fSourceViewer; - extension.addPainter(fAnnotationPainter); - } - fAnnotationPainter.setAnnotationTypeColor(annotationType, getAnnotationTypeColor(annotationType)); - if (highlighting) - fAnnotationPainter.addHighlightAnnotationType(annotationType); - else - fAnnotationPainter.addAnnotationType(annotationType); - - if (updatePainter) - updateAnnotationPainter(); - } - } - - /** - * Updates the annotation painter. - */ - private void updateAnnotationPainter() { - if (fAnnotationPainter == null) - return; - - fAnnotationPainter.paint(IPainter.CONFIGURATION); - if (!fAnnotationPainter.isPaintingAnnotations()) { - if (fSourceViewer instanceof ITextViewerExtension2) { - ITextViewerExtension2 extension= (ITextViewerExtension2) fSourceViewer; - extension.removePainter(fAnnotationPainter); - } - if (fSourceViewer instanceof ITextViewerExtension4) - ((ITextViewerExtension4)fSourceViewer).removeTextPresentationListener(fAnnotationPainter); - - fAnnotationPainter.deactivate(true); - fAnnotationPainter.dispose(); - fAnnotationPainter= null; - } - } - - /** - * Hides annotations in the source viewer for the given annotation type. - * - * @param annotationType the annotation type - * @param highlighting <code>true</code> if highlighting <code>false</code> if painting squiggles - * @param updatePainter if <code>true</code> update the annotation painter - * @since 3.0 - */ - private void hideAnnotations(Object annotationType, boolean highlighting, boolean updatePainter) { - if (fAnnotationPainter != null) { - if (highlighting) - fAnnotationPainter.removeHighlightAnnotationType(annotationType); - else - fAnnotationPainter.removeAnnotationType(annotationType); - - if (updatePainter) { - updateAnnotationPainter(); - } - } - } - - /** - * Tells whether annotations are shown in the source viewer for the given type. - * - * @param annotationType the annotation type - * @return <code>true</code> if the annotations are shown - */ - private boolean areAnnotationsShown(Object annotationType) { - if (fPreferenceStore != null) { - AnnotationPreference info= (AnnotationPreference) fAnnotationTypeKeyMap.get(annotationType); - if (info != null) - return fPreferenceStore.getBoolean(info.getTextPreferenceKey()); - } - return false; - } - - /** - * Tells whether annotations are highlighted in the source viewer for the given type. - * - * @param annotationType the annotation type - * @return <code>true</code> if the annotations are highlighted - * @since 3.0 - */ - private boolean areAnnotationsHighlighted(Object annotationType) { - if (fPreferenceStore != null) { - AnnotationPreference info= (AnnotationPreference)fAnnotationTypeKeyMap.get(annotationType); - if (info != null) - return info.getHighlightPreferenceKey() != null && fPreferenceStore.getBoolean(info.getHighlightPreferenceKey()); - } - return false; - } - - /** - * Tells whether annotation overview is enabled for the given type. - * - * @param annotationType the annotation type - * @return <code>true</code> if the annotation overview is shown - */ - private boolean isAnnotationOverviewShown(Object annotationType) { - if (fPreferenceStore != null && fOverviewRuler != null) { - AnnotationPreference info= (AnnotationPreference) fAnnotationTypeKeyMap.get(annotationType); - if (info != null) - return fPreferenceStore.getBoolean(info.getOverviewRulerPreferenceKey()); - } - return false; - } - - /** - * Enable annotation overview for the given annotation type. - * - * @param annotationType the annotation type - */ - private void showAnnotationOverview(Object annotationType) { - if (fOverviewRuler != null) { - fOverviewRuler.setAnnotationTypeColor(annotationType, getAnnotationTypeColor(annotationType)); - fOverviewRuler.setAnnotationTypeLayer(annotationType, getAnnotationTypeLayer(annotationType)); - fOverviewRuler.addAnnotationType(annotationType); - fOverviewRuler.update(); - } - } - - /** - * Hides the annotation overview for the given type. - * @param annotationType the annotation type - */ - private void hideAnnotationOverview(Object annotationType) { - if (fOverviewRuler != null) { - fOverviewRuler.removeAnnotationType(annotationType); - fOverviewRuler.update(); - } - } - - /** - * Hides the annotation overview. - * @param annotationType the annotation type - */ - public void hideAnnotationOverview() { - if (fOverviewRuler != null) { - Iterator e= fAnnotationTypeKeyMap.keySet().iterator(); - while (e.hasNext()) - fOverviewRuler.removeAnnotationType(e.next()); - fOverviewRuler.update(); - } - } - - /** - * Sets the annotion overview color for the given annotation type. - * - * @param annotationType the annotation type - * @param color the color - */ - private void setAnnotationOverviewColor(Object annotationType, Color color) { - if (fOverviewRuler != null) { - fOverviewRuler.setAnnotationTypeColor(annotationType, color); - fOverviewRuler.update(); - } - } -} |