Java tutorial
/******************************************************************************* * Copyright (c) 2009 Siemens AG * * 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: * Kai Tdter - initial API and implementation *******************************************************************************/ package com.siemens.ct.mp3m.ui.views.logical; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.plugin.AbstractUIPlugin; import com.siemens.ct.mp3m.model.logical.Album; import com.siemens.ct.mp3m.model.logical.Artist; import com.siemens.ct.mp3m.model.logical.Song; /** * This class provides the labels for the ArtistTableTree application */ class ArtistTreeLabelProvider implements ITableLabelProvider { private Image artistImage; private Image albumImage; private Image songImage; /** * Gets the image for the specified column * * @param type * the Artist, Album or Song * @param column * the column * * @return Image */ public Image getColumnImage(Object type, int column) { // This does not work with column 0... if (type instanceof Song && column == 0) { if (songImage == null) { ImageDescriptor imageDescriptor = AbstractUIPlugin .imageDescriptorFromPlugin("com.siemens.ct.mp3m.ui.views.logical", "icons/song.gif"); songImage = imageDescriptor.createImage(); } return songImage; } else if (type instanceof Album && column == 0) { if (albumImage == null) { ImageDescriptor imageDescriptor = AbstractUIPlugin .imageDescriptorFromPlugin("com.siemens.ct.mp3m.ui.views.logical", "icons/cd.gif"); albumImage = imageDescriptor.createImage(); } return albumImage; } else if (type instanceof Artist && column == 0) { if (artistImage == null) { ImageDescriptor imageDescriptor = AbstractUIPlugin .imageDescriptorFromPlugin("com.siemens.ct.mp3m.ui.views.logical", "icons/artist.gif"); artistImage = imageDescriptor.createImage(); } return artistImage; } return null; } /** * Gets the text for the specified column * * @param type * the Artist, Album or Song * @param column * the column * * @return String */ public String getColumnText(Object type, int column) { if (type instanceof Artist && column == 0) return ((Artist) type).getName(); else if (type instanceof Album && column == 0) return ((Album) type).getName(); else if (type instanceof Song) if (column == 0) { return ((Song) type).getName(); } else if (column == 1) { return ((Song) type).getTrack(); } else if (column == 2) { return ((Song) type).getDuration(); } return ""; //$NON-NLS-1$ } public void addListener(ILabelProviderListener listener) { } public void dispose() { if (songImage != null) { songImage.dispose(); } } public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) { } }