1 package org.simantics.interop.utils;
\r
3 import org.eclipse.jface.viewers.TableViewer;
\r
4 import org.eclipse.jface.viewers.TableViewerColumn;
\r
5 import org.eclipse.jface.viewers.TreeViewer;
\r
6 import org.eclipse.jface.viewers.TreeViewerColumn;
\r
7 import org.eclipse.swt.SWT;
\r
8 import org.eclipse.swt.events.SelectionAdapter;
\r
9 import org.eclipse.swt.events.SelectionEvent;
\r
10 import org.eclipse.swt.widgets.TableColumn;
\r
11 import org.eclipse.swt.widgets.TreeColumn;
\r
13 public class TableUtils {
\r
14 public static TableViewerColumn addColumn(final TableViewer viewer, String text, boolean resize, boolean sort, int width) {
\r
15 final TableViewerColumn twc = new TableViewerColumn(viewer, SWT.NONE);
\r
16 final TableColumn tc = twc.getColumn();
\r
18 tc.setResizable(resize);
\r
21 tc.addSelectionListener(new SelectionAdapter() {
\r
23 public void widgetSelected(SelectionEvent e) {
\r
24 StringColumnComparator comparator = null;
\r
25 if (viewer.getComparator() instanceof StringColumnComparator) {
\r
26 comparator = (StringColumnComparator)viewer.getComparator();
\r
28 comparator = new StringColumnComparator();
\r
29 viewer.setComparator(comparator);
\r
31 TableColumn tcs[] = viewer.getTable().getColumns();
\r
33 for (int i = 0; i <tcs.length; i++) {
\r
34 if (tcs[i].equals(tc)) {
\r
41 comparator.setColumnt(index);
\r
43 int dir = viewer.getTable().getSortDirection();
\r
44 if (viewer.getTable().getSortColumn() == tc) {
\r
45 dir = dir == SWT.UP ? SWT.DOWN : SWT.UP;
\r
50 viewer.getTable().setSortDirection(dir);
\r
51 viewer.getTable().setSortColumn(tc);
\r
59 public static TreeViewerColumn addColumn(final TreeViewer viewer, String text, boolean resize, int width) {
\r
60 final TreeViewerColumn tvc = new TreeViewerColumn(viewer, SWT.NONE);
\r
61 TreeColumn tc = tvc.getColumn();
\r
62 tc.setResizable(resize);
\r