]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.ui/src/org/simantics/document/ui/SharedTextColors.java
Several Wiki documentation view improvements.
[simantics/platform.git] / bundles / org.simantics.document.ui / src / org / simantics / document / ui / SharedTextColors.java
1 package org.simantics.document.ui;\r
2 \r
3 import gnu.trove.map.hash.THashMap;\r
4 \r
5 import org.eclipse.jface.text.source.ISharedTextColors;\r
6 import org.eclipse.swt.graphics.Color;\r
7 import org.eclipse.swt.graphics.RGB;\r
8 import org.eclipse.swt.widgets.Display;\r
9 \r
10 final public class SharedTextColors implements ISharedTextColors {\r
11 \r
12     Display display;\r
13     THashMap<RGB,Color> map = new THashMap<RGB,Color>();\r
14     \r
15     public SharedTextColors(Display display) {\r
16         this.display = display;\r
17     }\r
18 \r
19     @Override\r
20     public Color getColor(RGB rgb) {\r
21         Color color = map.get(rgb);\r
22         if(color == null) {\r
23             color = new Color(display, rgb);\r
24             map.put(rgb, color);\r
25         }\r
26         return color;\r
27     }\r
28 \r
29     @Override\r
30     public void dispose() {\r
31         for(Color color : map.values())\r
32             color.dispose();\r
33         map.clear();\r
34     }\r
35 }