From: Jan P. <jp...@us...> - 2009-03-18 22:28:07
|
Update of /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/perleditor/editors In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv18779/src/org/epic/perleditor/editors Modified Files: PerlEditor.java PerlPresentationReconciler.java PerlSourceViewer.java Log Message: - Fixed bug [ 2680597 ] doesn't respect global Eclipse text editor background color. - Implemented feature request [ 2692844 ] Preference for fold column background color. - Removed many editor appearance preferences which are better controlled by general text editor settings in Eclipse. Index: PerlSourceViewer.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/perleditor/editors/PerlSourceViewer.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- PerlSourceViewer.java 23 Dec 2005 23:28:28 -0000 1.6 +++ PerlSourceViewer.java 18 Mar 2009 22:27:51 -0000 1.7 @@ -1,16 +1,20 @@ package org.epic.perleditor.editors; -import org.eclipse.jface.text.source.IOverviewRuler; -import org.eclipse.jface.text.source.IVerticalRuler; -import org.eclipse.jface.text.source.projection.ProjectionViewer; -import org.eclipse.swt.widgets.Composite; +import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.DocumentCommand; - +import org.eclipse.jface.text.source.*; +import org.eclipse.jface.text.source.projection.ProjectionViewer; +import org.eclipse.swt.graphics.RGB; +import org.eclipse.swt.widgets.Composite; +import org.epic.perleditor.PerlEditorPlugin; import org.epic.perleditor.editors.util.PreferenceUtil; +import org.epic.perleditor.preferences.PreferenceConstants; public class PerlSourceViewer extends ProjectionViewer { + private IVerticalRulerColumn foldColumn; + public PerlSourceViewer( Composite parent, IVerticalRuler ruler, @@ -20,6 +24,16 @@ super(parent, ruler, overviewRuler, showAnnotationsOverview, styles); } + public void addVerticalRulerColumn(IVerticalRulerColumn column) + { + super.addVerticalRulerColumn(column); + if (foldColumn == null) + { + foldColumn = column; + updateFoldColumnBackgroundColor(false); + } + } + IVerticalRuler _getVerticalRuler() { return super.getVerticalRuler(); @@ -40,4 +54,21 @@ } super.customizeDocumentCommand(command); } + + public void updateFoldColumnBackgroundColor(boolean force) + { + // We only mess with the background color of the fold column + // if the user has changed the preference + + RGB rgb = PreferenceConverter.getColor( + PerlEditorPlugin.getDefault().getPreferenceStore(), + PreferenceConstants.EDITOR_FOLD_COLUMN_BG_COLOR); + + if (force || !rgb.equals(PreferenceConstants.EDITOR_FOLD_COLUMN_BG_COLOR_DEFAULT)) + { + foldColumn.getControl().setBackground( + PerlEditorPlugin.getDefault().getColor( + PreferenceConstants.EDITOR_FOLD_COLUMN_BG_COLOR)); + } + } } \ No newline at end of file Index: PerlPresentationReconciler.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/perleditor/editors/PerlPresentationReconciler.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- PerlPresentationReconciler.java 6 Apr 2007 14:14:52 -0000 1.3 +++ PerlPresentationReconciler.java 18 Mar 2009 22:27:51 -0000 1.4 @@ -98,7 +98,6 @@ public void setRange(IDocument document, int offset, int length) { -//System.err.println("ColoringScanner.setRange " + offset + ":" + length); this.offset = offset; this.tokenI = -1; @@ -160,16 +159,7 @@ if (boldPref != null && prefs.getBoolean(boldPref)) style = SWT.BOLD; - Color bgColor = - prefs.getBoolean(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR) - ? null - : getColor(p, PreferenceConstants.EDITOR_BACKGROUND_COLOR); - - - return new TextAttribute( - getColor(p, colorPref), - bgColor, - style); + return new TextAttribute(getColor(p, colorPref), null, style); } private Color getColor(PerlEditorPlugin p, String colorPref) Index: PerlEditor.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/perleditor/editors/PerlEditor.java,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- PerlEditor.java 19 Jul 2008 23:44:27 -0000 1.86 +++ PerlEditor.java 18 Mar 2009 22:27:51 -0000 1.87 @@ -17,8 +17,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.*; -import org.eclipse.ui.editors.text.ILocationProvider; -import org.eclipse.ui.editors.text.TextEditor; +import org.eclipse.ui.editors.text.*; import org.eclipse.ui.internal.ViewerActionBuilder; import org.eclipse.ui.internal.Workbench; import org.eclipse.ui.texteditor.*; @@ -49,7 +48,7 @@ private TasksReconciler tasksReconciler; private PerlOutlinePage outlinePage; private PerlSyntaxValidationThread validationThread; - private ISourceViewer sourceViewer; + private PerlSourceViewer sourceViewer; private IdleTimer idleTimer; private ProjectionSupport projectionSupport; private SourceFile source; @@ -593,6 +592,10 @@ if (newValue != oldValue) sourceViewer.getTextWidget().setWordWrap(newValue); } + else if (event.getProperty().equals(PreferenceConstants.EDITOR_FOLD_COLUMN_BG_COLOR)) + { + sourceViewer.updateFoldColumnBackgroundColor(true); + } else { reconfigureBracketInserter(); @@ -611,8 +614,10 @@ // Make general workbench editor preferences (such as QuickDiff) // available through our preference store setPreferenceStore(new ChainedPreferenceStore(new IPreferenceStore[] { + EditorsUI.getPreferenceStore(), PerlEditorPlugin.getDefault().getPreferenceStore(), - this.getPreferenceStore() })); + this.getPreferenceStore() + })); setSourceViewerConfiguration(new PerlSourceViewerConfiguration( PerlEditorPlugin.getDefault().getPreferenceStore(), this)); |