@Override public void update() { readDocuments(); m_data.clearSelection(); m_viewer.setInput(m_documentData.getDocuments()); m_checkStateHandler.selectAll(); ColumnsResizeControlListener.refreshColumnsWidth(m_viewer.getTable()); }
private void createDocumentsTable(final Composite parent) { final Table table = new Table(parent, SWT.CHECK | SWT.FULL_SELECTION | SWT.BORDER); table.setHeaderVisible(true); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); m_viewer = new CheckboxTableViewer(table); m_viewer.setContentProvider(new ArrayContentProvider()); m_checkStateHandler = new DocumentsCheckstateHandler(m_viewer, m_data); m_viewer.setCheckStateProvider(m_checkStateHandler); /* Name. */ final TableViewerColumn nameColumn = new TableViewerColumn(m_viewer, SWT.LEFT); nameColumn.setLabelProvider(new DocumentsNameProvider()); nameColumn .getColumn() .setText(Messages.getString("ImportAttachmentsPreviewPage.4")); // $NON-NLS-1$ nameColumn.getColumn().setResizable(false); ColumnViewerSorter.registerSorter(nameColumn, new DocumentsNameComparator()); ColumnsResizeControlListener.setMinimumPackWidth(nameColumn.getColumn()); /* Mime type. */ final TableViewerColumn typeColumn = new TableViewerColumn(m_viewer, SWT.LEFT); typeColumn.setLabelProvider(new DocumentsTypeProvider()); typeColumn .getColumn() .setText(Messages.getString("ImportAttachmentsPreviewPage.5")); // $NON-NLS-1$ typeColumn.getColumn().setResizable(false); ColumnViewerSorter.registerSorter(typeColumn, new DocumentsTypeComparator()); ColumnsResizeControlListener.setMinimumPackWidth(typeColumn.getColumn()); /* Status. */ final TableViewerColumn statusColumn = new TableViewerColumn(m_viewer, SWT.LEFT); statusColumn.setLabelProvider(new DocumentsStatusProvider(m_documentData)); statusColumn .getColumn() .setText(Messages.getString("ImportAttachmentsPreviewPage.2")); // $NON-NLS-1$ statusColumn.getColumn().setResizable(false); ColumnViewerSorter.registerSorter(statusColumn, new DocumentsStatusComparator(m_documentData)); ColumnsResizeControlListener.setMinimumPackWidth(statusColumn.getColumn()); table.addControlListener(new ColumnsResizeControlListener()); ColumnSortListener.setSortState(nameColumn, Boolean.TRUE); /* Double-click shows status */ m_viewer.addOpenListener( new IOpenListener() { @Override public void open(final OpenEvent event) { handleShowDocumentStatus((IStructuredSelection) event.getSelection()); } }); m_viewer.addCheckStateListener(m_checkStateHandler); final IObservableValue target = new WritableValue(); final IObservableValue model = BeansObservables.observeValue(m_data, DocumentsAttachmentsData.PROPERTY_SELECTION_COUNT); final DataBinder countBinder = new DataBinder(target, model); countBinder.addModelAfterGetValidator( new NumberNotExactValidator( Integer.valueOf(0), IStatus.ERROR, Messages.getString("ImportAttachmentsPreviewPage.6"))); // $NON-NLS-1$ m_binding.bindValue(countBinder); }