/******************************************************************************* | |
* Copyright (c) 2006, 2012 Oracle Corporation and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License 2.0 | |
* which accompanies this distribution, and is available at | |
* https://www.eclipse.org/legal/epl-2.0/ | |
* | |
* SPDX-License-Identifier: EPL-2.0 | |
* | |
* Contributors: | |
* Oracle Corporation - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.bpel.ui.editors.xpath; | |
import java.util.HashMap; | |
import java.util.Iterator; | |
import java.util.Map; | |
import org.eclipse.swt.graphics.Color; | |
import org.eclipse.swt.graphics.RGB; | |
import org.eclipse.swt.widgets.Display; | |
/** | |
* @author Michal Chmielewski (michal.chmielewski@oracle.com) | |
* @date Oct 25, 2006 | |
* | |
*/ | |
@SuppressWarnings("unchecked") | |
public class ColorManager { | |
protected Map fColorTable = new HashMap(10); | |
/** | |
* | |
*/ | |
public void dispose() { | |
Iterator e = fColorTable.values().iterator(); | |
while (e.hasNext()) | |
((Color) e.next()).dispose(); | |
} | |
/** | |
* | |
* @param rgb | |
* @return the color from the color table. | |
*/ | |
public Color getColor(RGB rgb) { | |
Color color = (Color) fColorTable.get(rgb); | |
if (color == null) { | |
color = new Color(Display.getCurrent(), rgb); | |
fColorTable.put(rgb, color); | |
} | |
return color; | |
} | |
} |