/*****************************************************************************
* Copyright (c) 2006, 2007 g-Eclipse Consortium
* 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
*
* Initial development of the original code was made for the
* g-Eclipse project founded by European Union
* project number: FP6-IST-034327 http://www.geclipse.eu/
*
* Contributors:
* Mathias Stuempert - initial API and implementation
*****************************************************************************/
package eu.geclipse.ui.providers;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.swt.graphics.Image;
import eu.geclipse.core.model.IGridElement;
import eu.geclipse.core.model.IGridElementManager;
import eu.geclipse.core.model.IGridProject;
/**
* Label provider implementation for Grid model views that have
* an {@link IGridElementManager} as their root element.
*/
public abstract class ElementManagerLabelProvider
extends GridModelLabelProvider
implements ITableLabelProvider {
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
*/
public Image getColumnImage( final Object element,
final int columnIndex ) {
Image image = null;
if ( columnIndex == 0 ) {
image = super.getImage( element );
}
return image;
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
*/
public String getColumnText( final Object element,
final int columnIndex ) {
String text = ""; //$NON-NLS-1$
if ( columnIndex == 0 ) {
text = super.getText( element );
} else if ( element instanceof IGridElement ) {
IGridElement gridElement = ( IGridElement ) element;
switch ( columnIndex ) {
case 0:
break;
case 1:
IGridProject project = gridElement.getProject();
if ( ( project != null ) && ! project.isHidden() ) {
text = project.getName();
}
break;
default:
text = getColumnText( gridElement, columnIndex );
break;
}
}
return text;
}
protected abstract String getColumnText( final IGridElement element,
final int columnIndex );
}