package org.nightlabs.jfire.voucher.ui.detail; 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.table.AbstractTableComposite; import org.nightlabs.base.ui.table.TableContentProvider; import org.nightlabs.base.ui.table.TableLabelProvider; import org.nightlabs.jfire.voucher.accounting.VoucherRedemption; import org.nightlabs.jfire.voucher.store.VoucherKey; import org.nightlabs.jfire.voucher.ui.resource.Messages; import org.nightlabs.l10n.DateFormatter; import org.nightlabs.l10n.NumberFormatter; public class VoucherRedemptionTable extends AbstractTableComposite<VoucherRedemption> { private static class LabelProvider extends TableLabelProvider { public String getColumnText(Object element, int columnIndex) { if (element instanceof VoucherRedemption) { VoucherRedemption voucherRedemption = (VoucherRedemption) element; switch (columnIndex) { case 0: return DateFormatter.formatDateShortTimeHMS(voucherRedemption.getPayment().getEndDT(), true); case 1: return NumberFormatter.formatCurrency(voucherRedemption.getPayment().getAmount(), voucherRedemption.getPayment().getCurrency()); default: return ""; //$NON-NLS-1$ } } if (columnIndex == 0) return String.valueOf(element); return ""; //$NON-NLS-1$ } } public VoucherRedemptionTable(Composite parent) { super(parent, SWT.NONE); } @Override protected void createTableColumns(TableViewer tableViewer, Table table) { TableColumn col; col = new TableColumn(table, SWT.LEFT); col.setText(Messages.getString("org.nightlabs.jfire.voucher.ui.detail.VoucherRedemptionTable.timestampTableColumn.text")); //$NON-NLS-1$ col = new TableColumn(table, SWT.LEFT); col.setText(Messages.getString("org.nightlabs.jfire.voucher.ui.detail.VoucherRedemptionTable.amountTableColumn.text")); //$NON-NLS-1$ table.setLayout(new WeightedTableLayout(new int[] { 1, 1 })); } @Override protected void setTableProvider(TableViewer tableViewer) { tableViewer.setContentProvider(new TableContentProvider()); tableViewer.setLabelProvider(new LabelProvider()); } protected void setVoucherKey(VoucherKey voucherKey) { setInput(voucherKey == null ? null : voucherKey.getRedemptions()); } }