package org.simantics.document.ui; import gnu.trove.map.hash.THashMap; import org.eclipse.jface.text.source.ISharedTextColors; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Display; final public class SharedTextColors implements ISharedTextColors { Display display; THashMap map = new THashMap(); public SharedTextColors(Display display) { this.display = display; } @Override public Color getColor(RGB rgb) { Color color = map.get(rgb); if(color == null) { color = new Color(display, rgb); map.put(rgb, color); } return color; } @Override public void dispose() { for(Color color : map.values()) color.dispose(); map.clear(); } }