01: /*
02: * Copyright 2006 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt. The Original Code is the Pentaho
07: * BI Platform. The Initial Developer is Pentaho Corporation.
08: *
09: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
10: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
11: * the license for the specific language governing your rights and limitations.
12: */
13: package org.pentaho.designstudio.editors.xmleditor;
14:
15: import java.util.HashMap;
16: import java.util.Iterator;
17: import java.util.Map;
18:
19: import org.eclipse.swt.graphics.Color;
20: import org.eclipse.swt.graphics.RGB;
21: import org.eclipse.swt.widgets.Display;
22:
23: public class ColorManager {
24:
25: protected Map fColorTable = new HashMap(10);
26:
27: public void dispose() {
28: Iterator e = fColorTable.values().iterator();
29: while (e.hasNext())
30: ((Color) e.next()).dispose();
31: }
32:
33: public Color getColor(RGB rgb) {
34: Color color = (Color) fColorTable.get(rgb);
35: if (color == null) {
36: color = new Color(Display.getCurrent(), rgb);
37: fColorTable.put(rgb, color);
38: }
39: return color;
40: }
41: }
|