/******************************************************************************* * Copyright (c) 2004, 2006 IBM Corporation and others. 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 Contributors: IBM Corporation - initial API and * implementation *******************************************************************************/ package org.eclipse.wst.css.ui.views.contentoutline; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel; import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter; import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier; import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter; class JFaceNodeLabelProviderCSS extends LabelProvider { /** * JFaceNodeLabelProvider constructor comment. */ public JFaceNodeLabelProviderCSS() { super(); } /** * Returns the JFace adapter for the specified object. * * @param adaptable java.lang.Object The object to get the adapter for */ private IJFaceNodeAdapter getAdapter(Object adaptable) { IJFaceNodeAdapter adapter = null; if (adaptable instanceof ICSSModel) { adaptable = ((ICSSModel) adaptable).getDocument(); } if (adaptable instanceof INodeNotifier) { INodeAdapter nodeAdapter = ((INodeNotifier) adaptable).getAdapterFor(IJFaceNodeAdapter.class); if (nodeAdapter instanceof IJFaceNodeAdapter) adapter = (IJFaceNodeAdapter) nodeAdapter; } return adapter; } /** * Returns the image for the label of the given element, for use in the given viewer. * * @param viewer The viewer that displays the element. * @param element The element for which to provide the label image. Element can be * <code>null</code> indicating no input object is set to the viewer. */ public Image getImage(Object element) { Image image = null; IJFaceNodeAdapter adapter = getAdapter(element); if (adapter != null) image = adapter.getLabelImage(element); return image; } /** * Returns the text for the label of the given element, for use in the given viewer. * * @param viewer The viewer that displays the element. * @param element The element for which to provide the label text. Element can be * <code>null</code> indicating no input object is set to the viewer. */ public String getText(Object element) { String text = null; IJFaceNodeAdapter adapter = getAdapter(element); if (adapter != null) { text = adapter.getLabelText(element); } return text; } /** * Checks whether this label provider is affected by the given domain event. * * @deprecated */ public boolean isAffected(Object dummy) {// DomainEvent event) { // return event.isModifier(DomainEvent.NON_STRUCTURE_CHANGE); return true; } /** * Returns whether the label would be affected by a change to the given property of the given * element. This can be used to optimize a non-structural viewer update. If the property mentioned * in the update does not affect the label, then the viewer need not update the label. * * @param element the element * @param property the property * @return <code>true</code> if the label would be affected, and <code>false</code> if it would be * unaffected */ public boolean isLabelProperty(Object element, String property) { return false; } }