List of usage examples for org.eclipse.jface.viewers TableViewer getTable
public Table getTable()
From source file:de.walware.ecommons.ui.util.ViewerUtil.java
License:Open Source License
public static void installDefaultEditBehaviour(final TableViewer tableViewer) { final CellNavigationStrategy naviStrat = new CellNavigationStrategy() { @Override/*ww w.j a v a2s. c o m*/ public ViewerCell findSelectedCell(final ColumnViewer viewer, final ViewerCell currentSelectedCell, final Event event) { final ViewerCell cell = super.findSelectedCell(viewer, currentSelectedCell, event); if (cell != null) { tableViewer.getTable().showColumn(tableViewer.getTable().getColumn(cell.getColumnIndex())); } return cell; } }; final TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(tableViewer, new FocusCellOwnerDrawHighlighter(tableViewer), naviStrat); TableViewerEditor.create(tableViewer, focusCellManager, createActivationStrategy(tableViewer), ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.KEYBOARD_ACTIVATION); }
From source file:de.walware.ecommons.ui.util.ViewerUtil.java
License:Open Source License
public static void installSearchTextNavigation(final TableViewer viewer, final SearchText searchText, final boolean back) { final Table table = viewer.getTable(); searchText.addListener(new SearchText.Listener() { @Override//w w w .ja v a2 s. co m public void textChanged(final boolean user) { } @Override public void okPressed() { } @Override public void downPressed() { table.setFocus(); if (table.getItemCount() > 0) { if (table.getSelectionIndex() < 0) { table.select(0); } else { table.showSelection(); } } } }); if (back) { table.addKeyListener(new org.eclipse.swt.events.KeyAdapter() { @Override public void keyPressed(final KeyEvent e) { if (e.stateMask == 0 && e.keyCode == SWT.ARROW_UP && table.getSelectionCount() == 1 && table.getSelectionIndex() == 0) { table.deselectAll(); searchText.setFocus(); } } }); } }
From source file:de.walware.ecommons.ui.util.ViewerUtil.java
License:Open Source License
public static void scheduleStandardSelection(final TableViewer viewer) { viewer.getControl().getDisplay().asyncExec(new Runnable() { @Override/*from ww w. j a v a 2 s . c o m*/ public void run() { final ISelection selection = viewer.getSelection(); if (selection.isEmpty()) { if (viewer.getTable().getItemCount() > 0) { final TableItem item = viewer.getTable().getItem(0); viewer.setSelection(new StructuredSelection(item.getData())); } else { viewer.setSelection(new StructuredSelection()); } } } }); }
From source file:de.walware.ecommons.workbench.search.ui.TextSearchResultMatchTableContentProvider.java
License:Open Source License
@Override public void elementsChanged(final Object[] elements) { if (!this.active) { return;// w w w. j a va 2 s . co m } final ExtTextSearchResult<E, M> result = getInput(); final int limit = getElementLimit(); final TableViewer viewer = getViewer(); final List<M> toAdd = new ArrayList<M>(); final List<M> toUpdate = new ArrayList<M>(); final List<M> toRemove = new ArrayList<M>(); for (int i = 0; i < elements.length; i++) { final E element = (E) elements[i]; final M[] matches = result.getPickedMatches(element); final SortedListSet<M> currentElementMatches = this.currentMatches.subList(element); for (int j = 0; j < matches.length; j++) { final M match = matches[j]; int k; if ((this.currentMatches.size() < limit)) { k = currentElementMatches.addE(match); if (k >= 0) { toAdd.add(match); } else { toUpdate.add(match); k = -(k + 1); } } else { k = currentElementMatches.indexOf(match); if (k >= 0) { toUpdate.add(match); } else { k = -(k + 1); } } while (k > j) { toRemove.add(currentElementMatches.remove(j)); k--; } } while (currentElementMatches.size() > matches.length) { currentElementMatches.remove(matches.length); } } viewer.getTable().setRedraw(false); try { viewer.remove(toRemove.toArray()); viewer.refresh(toUpdate.toArray(), true); viewer.add(toAdd.toArray()); } finally { viewer.getTable().setRedraw(true); } }
From source file:de.walware.ecommons.workbench.search.ui.TextSearchResultTableContentProvider.java
License:Open Source License
@Override public void elementsChanged(final Object[] elements) { if (!this.active) { return;/* w w w. j a v a 2 s. com*/ } final ExtTextSearchResult<E, M> result = getInput(); final int limit = getElementLimit(); final TableViewer viewer = getViewer(); viewer.getTable().setRedraw(false); try { // final List<E> toAdd= new ArrayList<E>(); final List<E> toUpdate = new ArrayList<E>(); // final List<E> toRemove= new ArrayList<E>(); for (int i = 0; i < elements.length; i++) { final E element = (E) elements[i]; if (result.hasPickedMatches(element)) { if (this.currentElements.size() < limit) { final int idx = this.currentElements.addE(element); if (idx >= 0) { viewer.insert(element, idx); // toAdd.add(element); } else { toUpdate.add(element); } } else if (this.currentElements.contains(element)) { toUpdate.add(element); } } else { final int idx = this.currentElements.removeE(element); if (idx >= 0) { viewer.remove(element); // toRemove.add(element); } } } // viewer.remove(toRemove.toArray()); // viewer.add(toAdd.toArray()); viewer.refresh(toUpdate.toArray(), true); } finally { viewer.getTable().setRedraw(true); } }
From source file:de.walware.statet.r.internal.ui.datafilterview.FilterClient.java
License:Open Source License
protected boolean updateLayout(final TableViewer viewer, final int count) { final GridData data = new GridData(SWT.FILL, SWT.CENTER, true, false, ((GridLayout) getLayout()).numColumns, 1);/* w w w . j ava2 s . com*/ if (count == 0) { data.exclude = true; } else { data.heightHint = LayoutUtil.hintHeight(viewer.getTable(), count, false); final int max = Math.max(5 * viewer.getTable().getItemHeight(), getParent().getContainer().getVariableComposite().getClientArea().height - getMinHeightPadding()); if (data.heightHint > max) { data.heightHint = max; } installResizeListener(); } { final Control control = viewer.getControl(); final GridData oldData = ((GridData) control.getLayoutData()); if (oldData == null || oldData.exclude != data.exclude || oldData.heightHint != data.heightHint) { control.setVisible(!data.exclude); control.setLayoutData(data); return true; } return false; } }
From source file:de.walware.statet.r.internal.ui.rhelp.RHelpSearchResultPage.java
License:Open Source License
@Override protected void configureTableViewer(final TableViewer viewer) { super.configureTableViewer(viewer); final TableColumnLayout layout = new TableColumnLayout(); viewer.getControl().getParent().setLayout(layout); viewer.getTable().setHeaderVisible(true); {/* w w w.j av a 2 s. co m*/ final TableViewerColumn column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Page"); layout.setColumnData(column.getColumn(), new ColumnWeightData(1)); column.setLabelProvider(new DecoratingStyledLabelProvider(new RHelpLabelProvider(), TextSearchLabelUtil.DEFAULT_SEARCH_LABEL_PROPERTIES)); } { final TableViewerColumn column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Package"); layout.setColumnData(column.getColumn(), new ColumnPixelData( new PixelConverter(JFaceResources.getDialogFont()).convertWidthInCharsToPixels(10), true, true)); column.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { final Object element = cell.getElement(); String text = ""; //$NON-NLS-1$ if (element instanceof RHelpSearchMatch) { final IRHelpSearchMatch match = ((RHelpSearchMatch) element).getRHelpMatch(); text = match.getPage().getPackage().getName(); } cell.setText(text); } }); } { final TableViewerColumn column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Best Match"); layout.setColumnData(column.getColumn(), new ColumnWeightData(1)); column.setLabelProvider(new MatchLabelProvider()); } ColumnViewerToolTipSupport.enableFor(viewer); updateSorter(); }
From source file:e4x.parts.NoGlazedListsPart.java
License:Open Source License
@PostConstruct public void createComposite(Composite parent) { GridLayout layout = new GridLayout(1, false); layout.marginHeight = 0;//from w w w . j a va2 s . co m layout.marginWidth = 0; parent.setLayout(layout); Path directory = Paths.get(System.getProperty("user.home")); DirectoryStream.Filter<Path> filter = new DirectoryStream.Filter<Path>() { @Override public boolean accept(Path path) throws IOException { return !Files.isHidden(path) && Files.isReadable(path); } }; List<Path> pathList = new ArrayList<Path>(); try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(directory, filter)) { for (Path path : directoryStream) { pathList.add(path); } } catch (IOException ex) { } TableViewer v = new TableViewer(parent, SWT.NONE | SWT.V_SCROLL | SWT.H_SCROLL | SWT.VIRTUAL | SWT.FULL_SELECTION | SWT.SINGLE); v.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); class MyContentProvider implements IStructuredContentProvider { @Override public void dispose() { // TODO Auto-generated method stub } @Override public void inputChanged(Viewer arg0, Object arg1, Object arg2) { // TODO Auto-generated method stub } @Override public Object[] getElements(Object arg0) { return pathList.toArray(); } } v.setContentProvider(new MyContentProvider()); v.setInput(pathList); MyViewerComparator comparator = new MyViewerComparator(); v.setComparator(comparator); TableViewerColumn colFirstName = new TableViewerColumn(v, SWT.NONE); colFirstName.getColumn().setMoveable(true); colFirstName.getColumn().setWidth(200); colFirstName.getColumn().setText("Filename"); colFirstName.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Path p = (Path) element; return p.getFileName().toString(); } }); TableViewerColumn colFirstId = new TableViewerColumn(v, SWT.NONE); colFirstId.getColumn().setMoveable(true); colFirstId.getColumn().setWidth(200); colFirstId.getColumn().setText("Size"); colFirstId.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Path p = (Path) element; try { if (Files.isDirectory(p)) { return ""; } return "" + Files.size(p); } catch (IOException e) { return ""; } } }); colFirstId.getColumn().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { comparator.setColumn(1); int dir = comparator.getDirection(); v.getTable().setSortDirection(dir); v.getTable().setSortColumn(colFirstId.getColumn()); v.refresh(); } }); final Table table = v.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); }
From source file:edu.harvard.i2b2.eclipse.plugins.metadataLoader.views.loader.TableComposite.java
License:Open Source License
private void createColumns(TableViewer viewer) { String[] titles = { "Names", "Version", "Table", "Source", "Date", "Contact", "Comments" }; int[] bounds = { 250, 75, 150, 75, 100, 250, 300 }; for (int i = 0; i < titles.length; i++) { TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText(titles[i]); column.getColumn().setWidth(bounds[i]); column.getColumn().setResizable(true); column.getColumn().setMoveable(true); }// ww w . j a v a 2 s. c om table = viewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(false); GridData gridData1 = new GridData(GridData.FILL_BOTH); gridData1.grabExcessVerticalSpace = true; gridData1.heightHint = 250; table.setLayoutData(gridData1); }
From source file:era.foss.typeeditor.common.Ui.java
License:Open Source License
/** * Create a column with EMF databinding for a table viewer * //from ww w . j a va2s . c om * <li>In case the top level structural feature is a reference display a combo box</li> <li>In case the top level * structural feature is a containment reference create element if it does not exist</li> <li>In case the structural * feature is a boolean show a checkbox</li> <li>Otherwise show a simple text field</li>. * * @param column the column * @param eStructuralFeatureList list to create a feature path from * @param refObservedObject the ref observed object * @param refEStructuralFeatureList the ref e structural feature list */ public void bindColumn(TableViewerColumn column, EStructuralFeature[] eStructuralFeatureList, EObject refObservedObject, EStructuralFeature[] refEStructuralFeatureList) { TableViewer tableViewer = (TableViewer) column.getViewer(); ObservableListContentProvider cp = (ObservableListContentProvider) tableViewer.getContentProvider(); assert (cp != null); // get the top level structural feature EStructuralFeature topStructuralFeature = eStructuralFeatureList[0]; // set label provider IValueProperty elementProperty = EMFEditProperties.value(editingDomain, FeaturePath.fromList(eStructuralFeatureList)); IObservableMap attributeMap = elementProperty.observeDetail(cp.getKnownElements()); column.setLabelProvider(new ObservableMapCellLabelProvider(attributeMap)); EditingSupport editingSupport = null; // Show combo box for references if (refObservedObject != null && refEStructuralFeatureList != null) { // Combo box: Create combo box to select choices for the reference ComboBoxViewerCellEditor combo = new ComboBoxViewerCellEditorSp((Composite) tableViewer.getControl(), SWT.READ_ONLY); // Combo box: Set Content Provider ObservableListContentProvider comboContentProvider = new ObservableListContentProvider(); combo.setContentProvider(comboContentProvider); IObservableMap comboAttributeMap = EMFProperties .value(eStructuralFeatureList[eStructuralFeatureList.length - 1]) .observeDetail(comboContentProvider.getKnownElements()); combo.setLabelProvider(new ObservableMapLabelProvider(comboAttributeMap)); // Combo box: set input IEMFListProperty dataTypeDefinitions = EMFProperties .list(FeaturePath.fromList(refEStructuralFeatureList)); combo.setInput(dataTypeDefinitions.observe(refObservedObject)); // Set editing support of table cell IValueProperty editorElementProperty = EMFEditProperties.value(editingDomain, topStructuralFeature); IValueProperty cellEditorProperty = ViewerProperties.singleSelection(); editingSupport = ObservableValueEditingSupport.create(tableViewer, dataBindContext, combo, cellEditorProperty, editorElementProperty); } // Simple text else { IValueProperty cellEditorProperty = CellEditorProperties.control() .value(WidgetProperties.text(SWT.Modify)); editingSupport = ObservableValueEditingSupport.create(tableViewer, dataBindContext, new TextCellEditor(tableViewer.getTable()), cellEditorProperty, elementProperty); } column.setEditingSupport(editingSupport); }