KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > freemarker > eclipse > editors > ColorManager


1 package freemarker.eclipse.editors;
2
3 import java.util.HashMap JavaDoc;
4 import java.util.Iterator JavaDoc;
5 import java.util.Map JavaDoc;
6 import java.util.StringTokenizer JavaDoc;
7
8 import org.eclipse.swt.graphics.Color;
9 import org.eclipse.swt.graphics.RGB;
10 import org.eclipse.swt.widgets.Display;
11
12 import freemarker.eclipse.FreemarkerPlugin;
13 import freemarker.eclipse.preferences.IPreferenceConstants;
14
15 /**
16  * @version $Id: ColorManager.java,v 1.3 2003/02/22 13:26:49 szegedia Exp $
17  * @author <a HREF="mailto:stephan@chaquotay.net">Stephan Mueller</a>
18  */

19 public class ColorManager implements IPreferenceConstants {
20
21     protected Map JavaDoc fColorTable = new HashMap JavaDoc(10);
22
23     public void dispose() {
24         Iterator JavaDoc e= fColorTable.values().iterator();
25         while (e.hasNext())
26             ((Color) e.next()).dispose();
27     }
28     
29     
30     public Color getColor(RGB rgb) {
31         Color color= (Color) fColorTable.get(rgb);
32         if (color == null) {
33             color= new Color(Display.getCurrent(), rgb);
34             fColorTable.put(rgb, color);
35         }
36         return color;
37     }
38     
39     public Color getColor(String JavaDoc rgbString) {
40         int red=0, green=0, blue=0;
41         if(null!=rgbString) {
42             StringTokenizer JavaDoc tok = new StringTokenizer JavaDoc(rgbString, ",");
43             if(tok.countTokens() == 3) {
44                 red = Integer.parseInt(tok.nextToken());
45                 green = Integer.parseInt(tok.nextToken());
46                 blue = Integer.parseInt(tok.nextToken());
47             }
48         }
49         return getColor(new RGB(red, green, blue));
50     }
51     
52     public Color getColorFromPreference(String JavaDoc preferenceID) {
53         return getColor(FreemarkerPlugin.getInstance().getPreferenceStore().getString(preferenceID));
54     }
55     
56 }
57
Popular Tags