/******************************************************************************* * Copyright (c) 2005, 2012 eBay Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * *******************************************************************************/ /** * */ package org.eclipse.vjet.eclipse.ui; import org.eclipse.dltk.mod.ui.DLTKUIPlugin; import org.eclipse.dltk.mod.ui.ProblemsLabelDecorator; import org.eclipse.dltk.mod.ui.viewsupport.ImageDescriptorRegistry; import org.eclipse.dltk.mod.ui.viewsupport.ImageImageDescriptor; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; /** * * */ public class VjoProblemLabelDecorator extends ProblemsLabelDecorator { private ImageDescriptorRegistry m_registry; private boolean m_useNewRegistry; public VjoProblemLabelDecorator() { m_useNewRegistry = true; } @Override public Image decorateImage(Image image, Object obj) { int adornmentFlags = computeAdornmentFlags(obj); if (adornmentFlags != 0) { ImageDescriptor baseImage = new ImageImageDescriptor(image); Rectangle bounds = image.getBounds(); return getRegistry().get( new VjoElementImageDescriptor(baseImage, adornmentFlags, new Point(bounds.width, bounds.height))); } return image; } private ImageDescriptorRegistry getRegistry() { if (m_registry == null) { m_registry = m_useNewRegistry ? new ImageDescriptorRegistry() : DLTKUIPlugin.getImageDescriptorRegistry(); } return m_registry; } }