package org.insightech.er.test; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.insightech.er.common.widgets.CompositeFactory; import org.insightech.er.common.widgets.RowHeaderTable; import org.insightech.er.common.widgets.table.CellEditWorker; public class RowHeaderTableTest { Display display = new Display(); Shell shell = new Shell(display); Text text1; Text text2; String line = "abcdefghijklmnopqrstuvwxyz0123456789"; private void init() { text1 = new Text(shell, SWT.BORDER | SWT.MULTI); // text.setTextLimit(12); text1.setText(line); text2 = new Text(shell, SWT.BORDER | SWT.WRAP); text2.setText(line); final RowHeaderTable table = CompositeFactory.createRowHeaderTable( shell, 750, 150, 100, 25, 2, true, true); this.initTableData(table); table.setCellEditWorker(new CellEditWorker() { public void addNewRow() { table.addRow("+", null); } public void changeRowNum() { } public boolean isModified(int row, int column) { return false; } }); } private void initTableData(RowHeaderTable table) { table.addColumnHeader("a\r\nA", 150); table.addColumnHeader("b\r\nB", 50); table.addColumnHeader("c\r\nC", 150); table.addColumnHeader("d\r\nD", 50); Object[] values = null; table.addRow("1", values); table.addRow("2", values); table.addRow("3", values); table.addRow("4", values); table.addRow("5", values); table.addRow("6", values); table.removeData(); table.addColumnHeader("a\r\nA", 150); table.addColumnHeader("b\r\nB", 50); table.addColumnHeader("c\r\nC", 150); // table.addColumnHeader("d\r\nD", 50); table.addRow("1", values); table.addRow("2", values); table.addRow("3", values); table.addRow("4", values); table.addRow("5", values); // table.addRow("6"); } public RowHeaderTableTest() { shell.setLayout(new GridLayout(2, true)); (new Label(shell, SWT.NULL)).setText("SWT.BORDER |\nSWT.MUTLI"); (new Label(shell, SWT.NULL)) .setText("SWT.BORDER |\nSWT.MUTLI |\nSWT.WRAP"); init(); shell.setSize(800, 500); shell.open(); // textUser.forceFocus(); // Set up the event loop. while (!shell.isDisposed()) { if (!display.readAndDispatch()) { // If no more entries in event queue display.sleep(); } } display.dispose(); } public static void main(String[] args) { new RowHeaderTableTest(); } }