/******************************************************************************* * Copyright (c) 2009 Hallvard Traetteberg. * 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: * Hallvard Traetteberg - initial API and implementation ******************************************************************************/ package org.eclipse.e4.tm.builder.jface; import org.eclipse.e4.tm.util.Labeled; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; public class LabeledLabelProvider extends LabelProvider { private Labeled label; public LabeledLabelProvider(Labeled label) { super(); this.label = label; } public Image getImage(Object element) { prepareDataObject(element); return null; // label.getImage(); } private void prepareDataObject(Object element) { label.setDataObject(element); } public String getText(Object element) { // default to either format or toString label.setText(getLabeledText(label, element)); prepareDataObject(element); return label.getText(); } public static String getLabeledText(Labeled label, Object element) { String format = label.getFormat(); return (format != null ? String.format(format, element) : String.valueOf(element)); } }