private void updateLabels() { Object value = source.getPropertyValue(descriptor.getId()); if (nameLayout != null && !nameLayout.isDisposed()) { nameLayout.setText(descriptor.getDisplayName()); nameLayout.setStyle( new TextStyle(canvas.getFont(), canvas.getForeground(), null), 0, nameLayout.getText().length()); } ILabelDescriptor labelDescriptor = descriptor.getLabelDescriptor(); ImageDescriptor image = labelDescriptor == null ? null : labelDescriptor.getImage(value); if (valueImage != null) { valueImage.dispose(); } valueImage = image == null ? null : image.createImage(false, Display.getCurrent()); ColorDescriptor color = labelDescriptor == null ? null : labelDescriptor.getForeground(value); if (valueColor != null) { valueColor.dispose(); } valueColor = color == null ? null : color.createColor(Display.getCurrent()); FontDescriptor font = labelDescriptor == null ? null : labelDescriptor.getFont(value); if (valueFont != null) { valueFont.dispose(); } valueFont = font == null ? null : font.createFont(Display.getCurrent()); if (valueLayout != null && !valueLayout.isDisposed()) { String valueText = labelDescriptor == null ? (value == null ? "" //$NON-NLS-1$ : value.toString()) : labelDescriptor.getText(value); if (valueText == null) valueText = ""; // $NON-NLS-1$ valueLayout.setText(valueText); valueLayout.setStyle( new TextStyle( valueFont == null ? canvas.getFont() : valueFont, valueColor == null ? canvas.getForeground() : valueColor, null), 0, valueText.length()); } canvas.layout(true); canvas.redraw(); }
/** 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(); }
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; } }
/** * 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)); }