Improved xml scanner for this bug
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / util / PHPColorProvider.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     www.phpeclipse.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
18 import org.eclipse.swt.graphics.Color;
19 import org.eclipse.swt.graphics.RGB;
20 import org.eclipse.swt.widgets.Display;
21 /**
22  * Manager for colors used in the Java editor
23  */
24 public class PHPColorProvider {
25
26   public static final RGB MULTI_LINE_COMMENT = new RGB(63, 127, 95);
27   public static final RGB SINGLE_LINE_COMMENT = new RGB(63, 127, 95);
28         public static final RGB TAG = new RGB(255, 0, 128);
29   public static final RGB KEYWORD = new RGB(127, 0, 85);
30   public static final RGB VARIABLE = new RGB(127, 159, 191);
31   public static final RGB FUNCTION_NAME = new RGB(127, 127, 159);
32   public static final RGB STRING_DQ = new RGB(42, 0, 255);
33   public static final RGB STRING_SQ = new RGB(42, 0, 255);
34   public static final RGB DEFAULT = new RGB(0, 0, 0);
35   public static final RGB TYPE = new RGB(127, 0, 85);
36   public static final RGB CONSTANT = new RGB(127, 0, 85);
37   public static final RGB BACKGROUND = new RGB(255, 255, 255);
38
39  // public static final RGB LINKED_POSITION_COLOR = new RGB(0, 0, 0);
40
41 //  public static final RGB LINE_NUMBER_COLOR = new RGB(0, 0, 0);
42 //  public static final RGB BACKGROUND_COLOR = new RGB(255, 255, 255);
43   
44   public static final RGB PHPDOC_TAG = new RGB(63, 127, 95);
45   public static final RGB PHPDOC_LINK = new RGB(63, 63, 191);
46   public static final RGB PHPDOC_DEFAULT = new RGB(63, 95, 191);
47   public static final RGB PHPDOC_KEYWORD = new RGB(127, 159, 191);
48   
49   protected Map fColorTable = new HashMap(10);
50
51   /**
52    * Release all of the color resources held onto by the receiver.
53    */
54   public void dispose() {
55     Iterator e = fColorTable.values().iterator();
56     while (e.hasNext())
57        ((Color) e.next()).dispose();
58   }
59
60   /**
61    * Return the Color that is stored in the Color table as rgb.
62    */
63   public Color getColor(RGB rgb) {
64     Color color = (Color) fColorTable.get(rgb);
65     if (color == null) {
66       color = new Color(Display.getCurrent(), rgb);
67       fColorTable.put(rgb, color);
68     }
69     return color;
70   }
71 }