5bb0a3ffc33fc6f6a92610b08d4fc83f27fa8625
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / util / HTMLColorProvider.java
1 /**********************************************************************
2 Copyright (c) 2000, 2002 IBM Corp. and others.
3 All rights reserved. This program and the accompanying materials
4 are made available under the terms of the Common Public License v1.0
5 which accompanies this distribution, and is available at
6 http://www.eclipse.org/legal/cpl-v10.html
7
8 Contributors:
9     IBM Corporation - Initial implementation
10     Klaus Hartlage - www.eclipseproject.de
11 **********************************************************************/
12 package net.sourceforge.phpeclipse.phpeditor.util;
13
14 import java.util.HashMap;
15 import java.util.Iterator;
16 import java.util.Map;
17 import org.eclipse.swt.graphics.Color;
18 import org.eclipse.swt.graphics.RGB;
19 import org.eclipse.swt.widgets.Display;
20  
21 /**
22  * Manager for colors used in the Java editor
23  */
24 public class HTMLColorProvider {
25
26         public static final RGB MULTI_LINE_COMMENT= new RGB(128, 0, 0);
27         public static final RGB SINGLE_LINE_COMMENT= new RGB(128, 128, 0);
28         public static final RGB KEYWORD= new RGB(127, 0, 85);
29   public static final RGB VARIABLE= new RGB(127, 159, 191);
30         public static final RGB TYPE= new RGB(0, 0, 128);
31         public static final RGB STRING= new RGB(42, 0, 255);
32         public static final RGB DEFAULT= new RGB(0, 0, 0);
33   public static final RGB HTML_DEFAULT= new RGB(0, 128, 128);
34
35
36         protected Map fColorTable= new HashMap(10);
37
38         /**
39          * Release all of the color resources held onto by the receiver.
40          */     
41         public void dispose() {
42                 Iterator e= fColorTable.values().iterator();
43                 while (e.hasNext())
44                          ((Color) e.next()).dispose();
45         }
46         
47         /**
48          * Return the Color that is stored in the Color table as rgb.
49          */
50         public Color getColor(RGB rgb) {
51                 Color color= (Color) fColorTable.get(rgb);
52                 if (color == null) {
53                         color= new Color(Display.getCurrent(), rgb);
54                         fColorTable.put(rgb, color);
55                 }
56                 return color;
57         }
58 }