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));
|