Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2017-03-09 08:34:54 +0000
committerAlexander Kurtakov2017-03-09 09:16:32 +0000
commitac6b6e1bc076ca0148828cddf4f9d80de6a45379 (patch)
tree0f07a7bad9d21b79f4d843fa400e487bb82af301 /valgrind
parent8a14381327e772061d6d1a2b62f1378b502f2c59 (diff)
downloadorg.eclipse.linuxtools-ac6b6e1bc076ca0148828cddf4f9d80de6a45379.tar.gz
org.eclipse.linuxtools-ac6b6e1bc076ca0148828cddf4f9d80de6a45379.tar.xz
org.eclipse.linuxtools-ac6b6e1bc076ca0148828cddf4f9d80de6a45379.zip
valgrind: Move suppression highlight to themes.
Not hardcoding and opening the door for dark theme support. Change-Id: Ie9846711c6be1db65d8bf172faf0af3fd144c758 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com> Reviewed-on: https://git.eclipse.org/r/92674 Tested-by: Hudson CI
Diffstat (limited to 'valgrind')
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml37
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/ColorManager.java43
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/ISuppressionsColorConstants.java14
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppPresentationReconciler.java2
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsEditor.java8
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsElementScanner.java69
6 files changed, 77 insertions, 96 deletions
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml
index f3f55d7cac..ce588ed815 100644
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml
+++ b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml
@@ -57,5 +57,42 @@
name="%category.name.0">
</category>
</extension>
+ <extension
+ point="org.eclipse.ui.themes">
+ <themeElementCategory
+ id="org.eclipse.linuxtools.valgrind.editor.presentation"
+ label="Valgrind Suppression files editor">
+ </themeElementCategory>
+ <colorDefinition
+ categoryId="org.eclipse.linuxtools.valgrind.editor.presentation"
+ id="org.eclipse.linuxtools.valgrind.ediotr.color.default"
+ label="Default"
+ value="0,0,0">
+ </colorDefinition>
+ <colorDefinition
+ categoryId="org.eclipse.linuxtools.valgrind.editor.presentation"
+ id="org.eclipse.linuxtools.valgrind.editor.color.tool"
+ label="Tool"
+ value="153,122,0">
+ </colorDefinition>
+ <colorDefinition
+ categoryId="org.eclipse.linuxtools.valgrind.editor.presentation"
+ id="org.eclipse.linuxtools.valgrind.editor.color.supp_type"
+ label="SUPP Type"
+ value="0,153,122">
+ </colorDefinition>
+ <colorDefinition
+ categoryId="org.eclipse.linuxtools.valgrind.editor.presentation"
+ id="org.eclipse.linuxtools.valgrind.editor.color.comment"
+ label="Comment"
+ value="0,99,166">
+ </colorDefinition>
+ <colorDefinition
+ categoryId="org.eclipse.linuxtools.valgrind.editor.presentation"
+ id="org.eclipse.linuxtools.valgrind.editor.color.context"
+ label="Context"
+ value="122,0,153">
+ </colorDefinition>
+ </extension>
</plugin>
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/ColorManager.java b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/ColorManager.java
deleted file mode 100644
index aeeac306b0..0000000000
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/ColorManager.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Phil Muldoon <pkmuldoon@picobot.org>.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Phil Muldoon <pkmuldoon@picobot.org> - initial API and implementation.
- * Red Hat - modifications for use with Valgrind plugins.
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.valgrind.ui.editor;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-public class ColorManager {
-
- private Map<RGB, Color> colorTable = new HashMap<>(10);
-
- public void dispose() {
- Iterator<Color> e = colorTable.values().iterator();
- while (e.hasNext()) {
- e.next().dispose();
- }
- }
-
- public Color getColor(RGB rgb) {
- Color color = colorTable.get(rgb);
- if (color == null) {
- color = new Color(Display.getCurrent(), rgb);
- colorTable.put(rgb, color);
- }
- return color;
- }
-}
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/ISuppressionsColorConstants.java b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/ISuppressionsColorConstants.java
index 84dba7180b..6a5b78b85a 100644
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/ISuppressionsColorConstants.java
+++ b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/ISuppressionsColorConstants.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Phil Muldoon <pkmuldoon@picobot.org>.
+ * Copyright (c) 2008, 2017 Phil Muldoon and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -12,12 +12,10 @@
*******************************************************************************/
package org.eclipse.linuxtools.internal.valgrind.ui.editor;
-import org.eclipse.swt.graphics.RGB;
-
public interface ISuppressionsColorConstants {
- RGB DEFAULT = new RGB(0, 0, 0);
- RGB TOOL = new RGB(153, 122, 0);
- RGB SUPP_TYPE = new RGB(0, 153, 122);
- RGB CONTEXT = new RGB(122, 0, 153);
- RGB COMMENT = new RGB(0, 99, 166);
+ String DEFAULT = "org.eclipse.linuxtools.valgrind.ediotr.color.default";
+ String TOOL = "org.eclipse.linuxtools.valgrind.editor.color.tool";
+ String SUPP_TYPE = "org.eclipse.linuxtools.valgrind.editor.color.supp_type";
+ String COMMENT = "org.eclipse.linuxtools.valgrind.editor.color.comment";
+ String CONTEXT = "org.eclipse.linuxtools.valgrind.editor.color.context";
}
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppPresentationReconciler.java b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppPresentationReconciler.java
index a4216d6782..60f1740c80 100644
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppPresentationReconciler.java
+++ b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppPresentationReconciler.java
@@ -18,7 +18,7 @@ import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
public class SuppPresentationReconciler extends PresentationReconciler {
public SuppPresentationReconciler() {
- SuppressionsElementScanner elementScanner = new SuppressionsElementScanner(new ColorManager());
+ SuppressionsElementScanner elementScanner = new SuppressionsElementScanner();
DefaultDamagerRepairer dr = new DefaultDamagerRepairer(elementScanner);
this.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
this.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsEditor.java b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsEditor.java
index 40bc13986d..5275277605 100644
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsEditor.java
+++ b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsEditor.java
@@ -27,12 +27,10 @@ import org.eclipse.ui.editors.text.TextEditor;
public class SuppressionsEditor extends TextEditor {
- private ColorManager colorManager;
private ProjectionAnnotationModel annotationModel;
private Annotation[] oldAnnotations;
public SuppressionsEditor() {
- this.colorManager = new ColorManager();
setSourceViewerConfiguration(new SuppressionsConfiguration(this));
setDocumentProvider(new SuppressionsDocumentProvider());
oldAnnotations = null;
@@ -70,10 +68,4 @@ public class SuppressionsEditor extends TextEditor {
oldAnnotations = updatedAnnotations;
}
- @Override
- public void dispose() {
- colorManager.dispose();
- super.dispose();
- }
-
} \ No newline at end of file
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsElementScanner.java b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsElementScanner.java
index 4b323bd111..13b4c0eacc 100644
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsElementScanner.java
+++ b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsElementScanner.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Phil Muldoon <pkmuldoon@picobot.org>.
+ * Copyright (c) 2008, 2017 Phil Muldoon and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -17,6 +17,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.text.TextAttribute;
import org.eclipse.jface.text.rules.BufferedRuleBasedScanner;
import org.eclipse.jface.text.rules.EndOfLineRule;
@@ -25,45 +26,41 @@ import org.eclipse.jface.text.rules.IToken;
import org.eclipse.jface.text.rules.Token;
import org.eclipse.jface.text.rules.WhitespaceRule;
import org.eclipse.swt.SWT;
+import org.eclipse.ui.PlatformUI;
public class SuppressionsElementScanner extends BufferedRuleBasedScanner {
- public static final String MEMCHECK = "Memcheck"; //$NON-NLS-1$
- public static final String[] MEMCHECK_SUPP_TYPES = new String[] {
- "Value0", "Value1", "Value2", "Value4", "Value8", "Value16", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- "Cond", //$NON-NLS-1$
- "Addr1", "Addr2", "Addr4", "Addr8", "Addr16", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- "Jump", //$NON-NLS-1$
- "Param", //$NON-NLS-1$
- "Free", //$NON-NLS-1$
- "Overlap", //$NON-NLS-1$
- "Leak" //$NON-NLS-1$
- };
- public static final String[] CONTEXTS = new String[] { "obj", "fun" //$NON-NLS-1$ //$NON-NLS-2$
- };
+ public static final String MEMCHECK = "Memcheck"; //$NON-NLS-1$
+ public static final String[] MEMCHECK_SUPP_TYPES = new String[] { "Value0", "Value1", "Value2", "Value4", "Value8", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ "Value16", //$NON-NLS-1$
+ "Cond", //$NON-NLS-1$
+ "Addr1", "Addr2", "Addr4", "Addr8", "Addr16", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ "Jump", //$NON-NLS-1$
+ "Param", //$NON-NLS-1$
+ "Free", //$NON-NLS-1$
+ "Overlap", //$NON-NLS-1$
+ "Leak" //$NON-NLS-1$
+ };
+ public static final String[] CONTEXTS = new String[] { "obj", "fun" //$NON-NLS-1$ //$NON-NLS-2$
+ };
- public SuppressionsElementScanner(ColorManager colorManager) {
- String[] tools = { MEMCHECK };
- Map<String, List<String>> kinds = new HashMap<>();
- kinds.put(MEMCHECK, Arrays.asList(MEMCHECK_SUPP_TYPES));
+ public SuppressionsElementScanner() {
+ ColorRegistry colorRegistry = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getColorRegistry();
+ String[] tools = { MEMCHECK };
+ Map<String, List<String>> kinds = new HashMap<>();
+ kinds.put(MEMCHECK, Arrays.asList(MEMCHECK_SUPP_TYPES));
- IToken defaultToken = new Token(new TextAttribute(colorManager
- .getColor(ISuppressionsColorConstants.DEFAULT)));
- IToken toolToken = new Token(new TextAttribute(colorManager
- .getColor(ISuppressionsColorConstants.TOOL), null, SWT.BOLD));
- IToken suppKindToken = new Token(new TextAttribute(colorManager
- .getColor(ISuppressionsColorConstants.SUPP_TYPE)));
- IToken contextToken = new Token(new TextAttribute(colorManager
- .getColor(ISuppressionsColorConstants.CONTEXT), null, SWT.BOLD));
- IToken commentToken = new Token(new TextAttribute(colorManager
- .getColor(ISuppressionsColorConstants.COMMENT)));
+ IToken defaultToken = new Token(new TextAttribute(colorRegistry.get(ISuppressionsColorConstants.DEFAULT)));
+ IToken toolToken = new Token(
+ new TextAttribute(colorRegistry.get(ISuppressionsColorConstants.TOOL), null, SWT.BOLD));
+ IToken suppKindToken = new Token(new TextAttribute(colorRegistry.get(ISuppressionsColorConstants.SUPP_TYPE)));
+ IToken contextToken = new Token(
+ new TextAttribute(colorRegistry.get(ISuppressionsColorConstants.CONTEXT), null, SWT.BOLD));
+ IToken commentToken = new Token(new TextAttribute(colorRegistry.get(ISuppressionsColorConstants.COMMENT)));
- setDefaultReturnToken(defaultToken);
- setRules(new IRule[] {
- new EndOfLineRule("#", commentToken), //$NON-NLS-1$
- new SuppressionToolRule(tools, toolToken),
- new SuppressionKindRule(kinds, suppKindToken),
- new SuppressionToolRule(CONTEXTS, contextToken),
- new WhitespaceRule(c -> Character.isWhitespace(c)) });
- }
+ setDefaultReturnToken(defaultToken);
+ setRules(new IRule[] { new EndOfLineRule("#", commentToken), //$NON-NLS-1$
+ new SuppressionToolRule(tools, toolToken), new SuppressionKindRule(kinds, suppKindToken),
+ new SuppressionToolRule(CONTEXTS, contextToken), new WhitespaceRule(c -> Character.isWhitespace(c)) });
+ }
}

Back to the top