/*******************************************************************************
* Copyright (c) 2006-2007 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
* IBM Research
*******************************************************************************/
package com.ibm.research.tours.editors;
import org.eclipse.jface.viewers.IColorProvider;
import org.eclipse.jface.viewers.IFontProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import com.ibm.research.tours.ITourElement;
import com.ibm.research.tours.adapters.LabelProviderAdapter;
public class TourLabelProvider extends LabelProviderAdapter implements IColorProvider, IFontProvider
{
public Image getImage(Object element)
{
// if(element instanceof TourTitle)
// return ((TourTitle)element).getImage();
// else if(element instanceof TourAuthor)
// return ((TourAuthor)element).getImage();
// else if(element instanceof TourDescription)
// return ((TourDescription)element).getImage();
// else
if(element instanceof TourElements)
return ((TourElements)element).getImage();
else if(element instanceof ITourElement)
return ((ITourElement)element).getImage();
return null;
}
public String getText(Object element)
{
// if(element instanceof TourTitle)
// return ((TourTitle)element).getText();
// else if(element instanceof TourAuthor)
// return ((TourAuthor)element).getText();
// else if(element instanceof TourDescription)
// return ((TourDescription)element).getText();
// else
if(element instanceof TourElements)
return ((TourElements)element).getText();
else if(element instanceof ITourElement)
return ((ITourElement)element).getText();
return "";
}
public Color getBackground(Object element)
{
// if(element instanceof TourTitle)
// return ((TourTitle)element).getBackground();
// else if(element instanceof TourAuthor)
// return ((TourAuthor)element).getBackground();
// else if(element instanceof TourDescription)
// return ((TourDescription)element).getBackground();
// else
if(element instanceof TourElements)
return ((TourElements)element).getBackground();
else if(element instanceof ITourElement)
{
ITourElement tourElement = (ITourElement) element;
Color background = tourElement.getBackground();
if ( background==null )
{
// unless the tour element has its own color, color based on notes
String notes = tourElement.getNotes();
if ( notes!=null && notes.trim().length()>0 )
return Display.getDefault().getSystemColor(SWT.COLOR_YELLOW);
}
return background;
}
return null;
}
public Color getForeground(Object element)
{
// if(element instanceof TourTitle)
// return ((TourTitle)element).getForeground();
// else if(element instanceof TourAuthor)
// return ((TourAuthor)element).getForeground();
// else if(element instanceof TourDescription)
// return ((TourDescription)element).getForeground();
// else
if(element instanceof TourElements)
return ((TourElements)element).getForeground();
else if(element instanceof ITourElement)
return ((ITourElement)element).getForeground();
return null;
}
public Font getFont(Object element)
{
// if(element instanceof TourTitle)
// return ((TourTitle)element).getFont();
// else if(element instanceof TourAuthor)
// return ((TourAuthor)element).getFont();
// else if(element instanceof TourDescription)
// return ((TourDescription)element).getFont();
// else
if(element instanceof TourElements)
return ((TourElements)element).getFont();
else if(element instanceof ITourElement)
return ((ITourElement)element).getFont();
return null;
}
}