diff options
author | Alexander Kurtakov | 2017-03-09 08:34:54 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2017-03-09 09:16:32 +0000 |
commit | ac6b6e1bc076ca0148828cddf4f9d80de6a45379 (patch) | |
tree | 0f07a7bad9d21b79f4d843fa400e487bb82af301 /valgrind | |
parent | 8a14381327e772061d6d1a2b62f1378b502f2c59 (diff) | |
download | org.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')
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)) }); + } } |