package org.nightlabs.jfire.trade.dashboard.ui.internal.lastCustomers; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.ColumnWeightData; 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.table.AbstractTableComposite; import org.nightlabs.base.ui.table.TableLabelProvider; import org.nightlabs.jfire.trade.dashboard.ui.resource.Messages; public class TransactionInfoTable extends AbstractTableComposite<TransactionInfoTableItem> { public TransactionInfoTable(Composite parent, int style) { super(parent, style); } @Override protected void createTableColumns(final TableViewer tableViewer, final Table table) { TableColumn col1 = new TableColumn(tableViewer.getTable(), SWT.LEFT); col1.setText(Messages.getString( "org.nightlabs.jfire.trade.dashboard.ui.internal.lastCustomers.TransactionInfoTable.column1.text")); //$NON-NLS-1$ TableColumn col2 = new TableColumn(tableViewer.getTable(), SWT.LEFT); col2.setText(Messages.getString( "org.nightlabs.jfire.trade.dashboard.ui.internal.lastCustomers.TransactionInfoTable.column2.text")); //$NON-NLS-1$ final TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(100)); tableLayout.addColumnData(new ColumnWeightData(50)); table.getDisplay().asyncExec(new Runnable() { public void run() { if (!table.isDisposed()) { table.setLayout(tableLayout); table.layout(true, true); } } }); } @Override protected void setTableProvider(TableViewer tableViewer) { tableViewer.setContentProvider(new ArrayContentProvider()); tableViewer.setLabelProvider(new TableLabelProvider() { @Override public String getColumnText(Object element, int columnIndex) { if (columnIndex == 0) return ((TransactionInfoTableItem) element).getLegalEntityName(); if (columnIndex == 1) { String type = ((TransactionInfoTableItem) element).getTransactionInfo().getTransactionType(); return Messages.getString( "org.nightlabs.jfire.trade.dashboard.ui.internal.lastCustomers.TransactionInfoTable." + type); //$NON-NLS-1$ } return ""; //$NON-NLS-1$ } }); } }