private Color getColor(Object element, boolean forground) { IWorkbenchAdapter2 adapter = getAdapter2(element); if (adapter == null) { return null; } RGB descriptor = forground ? adapter.getForeground(element) : adapter.getBackground(element); if (descriptor == null) { return null; } try { return resourceManager.createColor(ColorDescriptor.createFrom(descriptor)); } catch (Exception e) { Log.log(e); return null; } }
/** Tests to ensure correct behavior of getColorDescriptor methods. */ public void testDefaultColorDescriptor() { ColorDescriptor desc = getDefaultTheme().getColorRegistry().getColorDescriptor("somegarbage"); assertNotNull(desc); Color color = desc.createColor(getWorkbench().getDisplay()); assertNotNull(color); // color.dispose(); desc = getDefaultTheme().getColorRegistry().getColorDescriptor("somegarbage", null); assertNull(desc); desc = getDefaultTheme() .getColorRegistry() .getColorDescriptor("somegarbage", ColorDescriptor.createFrom(new RGB(0, 0, 0))); assertNotNull(desc); color = desc.createColor(getWorkbench().getDisplay()); assertNotNull(color); // color.dispose(); }
/** * Returns the color descriptor associated with the given symbolic color name. If this name does * not exist within the registry the supplied default value will be used. * * @param symbolicName * @param defaultValue * @return the color descriptor associated with the given symbolic color name or the default * @since 3.4 */ public ColorDescriptor getColorDescriptor(String symbolicName, ColorDescriptor defaultValue) { RGB rgb = getRGB(symbolicName); if (rgb == null) return defaultValue; return ColorDescriptor.createFrom(rgb); }
private ColorDescriptor createEditorColorDescriptor(String key) { return ColorDescriptor.createFrom( PreferenceConverter.getColor(EditorsUI.getPreferenceStore(), key)); }