/*****************************************************************************
* This file is part of Rinzo
*
* Author: Claudio Cancinos WWW: https://sourceforge.net/projects/editorxml Copyright (C): 2008, Claudio Cancinos
*
* This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General
* Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this program; If not, see
* <http://www.gnu.org/licenses/>
****************************************************************************/
package com.amalto.workbench.widgets.xmlviewer;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
public class ColorManager {
protected Map<Serializable, Color> colorTable;
protected Map<String, Boolean> boldTable;
private ColorManager() {
colorTable = new HashMap<Serializable, Color>(10);
boldTable = new HashMap<String, Boolean>(10);
}
private static ColorManager instance = new ColorManager();
public static ColorManager getInstance() {
return instance;
}
public void dispose() {
for (Color color : this.colorTable.values()) {
color.dispose();
}
}
public Color getColor(RGB rgb) {
Color color = colorTable.get(rgb);
if (color == null) {
color = new Color(Display.getCurrent(), rgb);
colorTable.put(rgb, color);
}
return color;
}
// public Color getColor(String colorName) {
// Color color = colorTable.get(colorName);
// if (color == null) {
// color = new Color(Display.getCurrent(), this.createRGB(colorName));
// colorTable.put(colorName, color);
// }
// return color;
// }
// private RGB createRGB(String colorName) {
// return PreferenceConverter.getColor(XMLEditorPlugin.getDefault().getPreferenceStore(), colorName);
// }
//
// public int isBold(String tag) {
// Boolean bold = boldTable.get(tag);
// if (bold == null) {
// bold = Boolean.valueOf(XMLEditorPlugin.getDefault().getPreferenceStore().getBoolean(tag + "#bold"));
// boldTable.put(tag, bold);
// }
// return bold.booleanValue() ? 1 : 0;
// }
}