1 package net.mograsim.plugin;
3 import org.eclipse.core.runtime.IStatus;
4 import org.eclipse.core.runtime.Status;
5 import org.eclipse.jface.resource.ColorRegistry;
6 import org.eclipse.swt.graphics.Color;
7 import org.eclipse.swt.graphics.RGB;
8 import org.eclipse.ui.statushandlers.StatusManager;
9 import org.eclipse.ui.themes.ITheme;
11 import net.mograsim.preferences.ColorDefinition;
12 import net.mograsim.preferences.Preferences;
14 public class ThemePreferences extends Preferences
16 private final ITheme theme;
18 public ThemePreferences(ITheme theme)
24 public ColorDefinition getColorDefinition(String name)
26 RGB rgb = getColorRegistry().getRGB(name);
29 StatusManager.getManager().handle(new Status(IStatus.ERROR, "net.mograsim.plugin.core", "No color for name " + name));
32 return new ColorDefinition(rgb.red, rgb.green, rgb.blue);
36 public Color getColor(String name)
38 return getColorRegistry().get(name);
41 private ColorRegistry getColorRegistry()
43 return theme.getColorRegistry();