// ============================================================================
//
// Copyright (C) 2006-2012 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.repository.ui.wizards.ConfigExternalLib;
import java.util.List;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.talend.commons.ui.runtime.image.ECoreImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.designer.core.model.utils.emf.component.IMPORTType;
import org.talend.repository.i18n.Messages;
/**
* DOC tguiu class global comment. Detailled comment <br/>
*
* $Id: StatusEditor.java 1937 2007-02-09 06:34:36 +0000 (Fri, 09 Feb 2007) bqian $
*
*/
public class LibraryField extends TableField {
/**
* DOC tguiu StatusEditor constructor comment.
*
* @param name
* @param labelText
* @param parent
*/
public LibraryField(String name, Composite parent) {
super(name, parent);
}
@Override
protected Table createTable(Composite parent) {
Table contextTable = new Table(parent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
contextTable.setLinesVisible(false);
contextTable.setHeaderVisible(true);
TableColumn moduleNameColumn = new TableColumn(contextTable, SWT.LEFT);
moduleNameColumn.setText(Messages.getString("LibraryField.moduleColumn")); //$NON-NLS-1$
moduleNameColumn.setWidth(120);
TableColumn colName = new TableColumn(contextTable, SWT.NONE);
colName.setText(Messages.getString("LibraryField.requiredColumn")); //$NON-NLS-1$
colName.setWidth(70);
TableColumn descriptionColumn = new TableColumn(contextTable, SWT.NONE);
descriptionColumn.setText(Messages.getString("LibraryField.descriptionColumn")); //$NON-NLS-1$
descriptionColumn.setWidth(200);
return contextTable;
}
@Override
protected IStructuredContentProvider createContentProvider() {
return new IStructuredContentProvider() {
public Object[] getElements(Object inputElement) {
return ((List) inputElement).toArray();
}
public void dispose() {
}
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
};
}
@Override
protected ITableLabelProvider createLabelProvider() {
return new ITableLabelProvider() {
public Image getColumnImage(Object element, int columnIndex) {
if (element instanceof IMPORTType) {
IMPORTType type = (IMPORTType) element;
if (columnIndex == 1) {
if (type.isREQUIRED()) {
return ImageProvider.getImage(ECoreImage.MODULE_REQUIRED_ICON);
} else {
return ImageProvider.getImage(ECoreImage.MODULE_NOTREQUIRED_ICON);
}
}
}
return null;
}
public String getColumnText(Object element, int columnIndex) {
if (element instanceof IMPORTType) {
IMPORTType type = (IMPORTType) element;
switch (columnIndex) {
case 0:
return type.getMODULE();
case 2:
return type.getMESSAGE();
default:
return ""; //$NON-NLS-1$
}
}
return ""; //$NON-NLS-1$
}
public void addListener(ILabelProviderListener listener) {
}
public void dispose() {
}
public boolean isLabelProperty(Object element, String property) {
return false;
}
public void removeListener(ILabelProviderListener listener) {
}
};
}
@Override
protected List getNewInputObject() {
return null;
}
}