package org.nightlabs.jfire.trade.admin.ui.tariffuserset;
import java.util.Map;
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.nightlabs.base.ui.layout.WeightedTableLayout;
import org.nightlabs.base.ui.notification.IDirtyStateManager;
import org.nightlabs.jfire.accounting.Tariff;
import org.nightlabs.jfire.entityuserset.ui.AbstractEntityTable;
import org.nightlabs.jfire.trade.admin.ui.resource.Messages;
/**
* @author Daniel Mazurek - Daniel.Mazurek [dot] nightlabs [dot] de
*
*/
public class TariffTable extends AbstractEntityTable<Tariff>
{
class LabelProvider extends AbstractEntityTableLabelProvider
{
/**
* @param viewer
*/
public LabelProvider(TableViewer viewer) {
super(viewer);
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
*/
@Override
public String getColumnText(Object element, int columnIndex)
{
if (columnIndex == 1) {
// Tariff tariff = (Tariff) element;
Tariff tariff = ((Map.Entry<Tariff, Boolean>) element).getKey();
return tariff.getName().getText();
}
return null;
}
}
/**
* @param parent
* @param style
* @param dirtyStateManager
*/
public TariffTable(Composite parent, int style, IDirtyStateManager dirtyStateManager) {
super(parent, style, dirtyStateManager);
}
@Override
protected AbstractEntityTableLabelProvider createEntityTableLabelProvider(TableViewer tableViewer) {
return new LabelProvider(tableViewer);
}
@Override
protected void createAdditionalTableColumns(TableViewer tableViewer, Table table)
{
TableColumn nameColumn = new TableColumn(table, SWT.NONE);
nameColumn.setText(Messages.getString("org.nightlabs.jfire.trade.admin.ui.tariffuserset.TariffTable.table.column.tariffName.text")); //$NON-NLS-1$
nameColumn.setToolTipText(Messages.getString("org.nightlabs.jfire.trade.admin.ui.tariffuserset.TariffTable.table.column.tariffName.tooltip")); //$NON-NLS-1$
TableLayout layout = new WeightedTableLayout(new int[] { -1, 100 }, new int[] { 22, -1 });
table.setLayout(layout);
}
}