@Override public void createPartControl(Composite parent) { taskModel = new TaskModel(); Composite container = new Composite(parent, SWT.NONE); container.setLayout(new FillLayout()); { viewer = new GridTableViewer( container, SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); Grid table = viewer.getGrid(); table.setCellSelectionEnabled(true); table.setHeaderVisible(true); table.addMouseListener(new TaskMouseListener()); table.addKeyListener(new TaskKeyListener()); { GridColumn column = new GridColumn(table, SWT.NONE); column.setText("Summary"); column.setWidth(400); } for (Version version : taskModel.getVersions()) { GridColumn column = new GridColumn(table, SWT.CENTER); column.setText(version.toString()); column.setWidth(90); } viewer.setContentProvider(new TaskContentProvider()); viewer.setLabelProvider(new TaskLabelProvider()); viewer.setInput(taskModel); // ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.RECREATE); getViewSite().setSelectionProvider(viewer); } createActions(); initializeToolBar(); initializeMenu(); viewer.setFilters(new ViewerFilter[] {new TaskViewerFilter()}); }