package org.nightlabs.jfire.trade.ui.modeofpayment; import javax.jdo.FetchPlan; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.TableViewer; 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.nightlabs.base.ui.layout.WeightedTableLayout; import org.nightlabs.base.ui.table.AbstractTableComposite; import org.nightlabs.base.ui.table.TableContentProvider; import org.nightlabs.jfire.accounting.pay.ModeOfPayment; import org.nightlabs.util.NLLocale; public class ModeOfPaymentTable extends AbstractTableComposite<ModeOfPayment> { /** * The minimal fetch-groups needed for a {@link ModeOfPayment} * to be displayed in this table. */ public static final String[] FETCH_GROUPS_MODE_OF_PAYMENT_FLAVOUR = new String[] { FetchPlan.DEFAULT, ModeOfPayment.FETCH_GROUP_NAME }; private class LabelProvider extends org.eclipse.jface.viewers.LabelProvider implements ITableLabelProvider { public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { return ((ModeOfPayment)element).getName().getText(NLLocale.getDefault().getLanguage()); } } public ModeOfPaymentTable(Composite parent, int style, int viewerStyle) { super(parent, style, true, viewerStyle); setHeaderVisible(false); // if this is set to true, then table-columns need to be externalised } public ModeOfPaymentTable(Composite parent) { this(parent, SWT.NONE, DEFAULT_STYLE_SINGLE_BORDER); } @Override protected void createTableColumns(TableViewer tableViewer, Table table) { // header is not visible => no externalisation needed new TableColumn(table, SWT.LEFT).setText("ModeOfPayment"); //$NON-NLS-1$ table.setLayout(new WeightedTableLayout(new int[] {1})); } @Override protected void setTableProvider(TableViewer tableViewer) { tableViewer.setContentProvider(new TableContentProvider()); tableViewer.setLabelProvider(new LabelProvider()); } }