]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop/src/org/simantics/interop/utils/TableUtils.java
Comparator failed to process some of the statements when subject and object were...
[simantics/interop.git] / org.simantics.interop / src / org / simantics / interop / utils / TableUtils.java
1 package org.simantics.interop.utils;\r
2 \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
12 \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
17                 //final TableColumn tc = new TableColumn(viewer.getTable(), SWT.NONE);\r
18                 tc.setText(text);\r
19                 tc.setResizable(resize);\r
20                 tc.setWidth(width);\r
21                 if (sort) {\r
22                         tc.addSelectionListener(new SelectionAdapter() {\r
23                                 @Override\r
24                                 public void widgetSelected(SelectionEvent e) {\r
25                                         StringColumnComparator comparator = (StringColumnComparator)viewer.getComparator();\r
26                                         //TableColumn tc = twc.getColumn();\r
27                                         TableColumn tcs[] = viewer.getTable().getColumns();\r
28                                         int index = -1;\r
29                                         for (int i = 0; i <tcs.length; i++) {\r
30                                                 if (tcs[i].equals(tc)) {\r
31                                                         index = i;\r
32                                                         break;\r
33                                                 }\r
34                                         }\r
35                                         if (index == -1)\r
36                                                 return;\r
37                                         comparator.setColumnt(index);\r
38                                         \r
39                                         int dir = viewer.getTable().getSortDirection();\r
40                                         if (viewer.getTable().getSortColumn() == tc) {\r
41                                                 dir = dir == SWT.UP ? SWT.DOWN : SWT.UP;\r
42                                         } else {\r
43         \r
44                                                 dir = SWT.DOWN;\r
45                                         }\r
46                                         viewer.getTable().setSortDirection(dir);\r
47                                         viewer.getTable().setSortColumn(tc);\r
48                                         viewer.refresh();\r
49                                 }\r
50                         });\r
51                 }\r
52                 return twc;\r
53         }\r
54         \r
55         public static TreeViewerColumn addColumn(final TreeViewer viewer, String text, boolean resize, int width) {\r
56                 final TreeViewerColumn tvc = new TreeViewerColumn(viewer, SWT.NONE);\r
57                 TreeColumn tc = tvc.getColumn();\r
58                 tc.setResizable(resize);\r
59                 tc.setText(text);\r
60                 tc.setWidth(width);\r
61                 return tvc;\r
62         }\r
63 }\r