blob: 6afb13c32c84ceae44ab501e294cad79841b85cf [file] [log] [blame]
/*
*(c) Copyright QNX Software Systems Ltd. 2002.
* All Rights Reserved.
*
*/
package org.eclipse.cdt.debug.internal.ui;
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;
/**
*
* Color manager for C/C++ Debug UI.
*
* @since Jul 23, 2002
*/
public class ColorManager
{
private static ColorManager fgColorManager;
private ColorManager()
{
}
public static ColorManager getDefault()
{
if ( fgColorManager == null )
{
fgColorManager = new ColorManager();
}
return fgColorManager;
}
protected Map fColorTable = new HashMap( 10 );
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;
}
public void dispose()
{
Iterator e = fColorTable.values().iterator();
while( e.hasNext() )
((Color)e.next()).dispose();
}
}