Example usage for org.eclipse.jface.viewers TableViewer getTable

List of usage examples for org.eclipse.jface.viewers TableViewer getTable

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewer getTable.

Prototype

public Table getTable() 

Source Link

Document

Returns this table viewer's table control.

Usage

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);

}