Example usage for org.eclipse.jface.viewers TreeViewer getTree

List of usage examples for org.eclipse.jface.viewers TreeViewer getTree

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer getTree.

Prototype

public Tree getTree() 

Source Link

Document

Returns this tree viewer's tree control.

Usage

From source file:org.eclipse.handly.ui.quickoutline.FilteringOutlinePopup.java

License:Open Source License

@Override
protected TreeViewer createTreeViewer(Composite parent) {
    TreeViewer baseTreeViewer = super.createTreeViewer(parent);
    return new FilteringOutlineTreeViewer(baseTreeViewer.getTree());
}

From source file:org.eclipse.handly.ui.quickoutline.FilteringOutlinePopup.java

License:Open Source License

/**
 * Selects the first element that matches the current filter pattern.
 *//*from   w w  w.  j a v  a  2  s.  c o  m*/
protected void selectFirstMatch() {
    Object focalElement = getFocalElement();
    Object focalItem = null;
    TreeViewer treeViewer = getTreeViewer();
    if (focalElement != null)
        focalItem = treeViewer.testFindItem(focalElement);
    TreeItem item;
    Tree tree = treeViewer.getTree();
    if (focalItem instanceof TreeItem)
        item = findItem(new TreeItem[] { (TreeItem) focalItem });
    else
        item = findItem(tree.getItems());
    if (item == null)
        treeViewer.setSelection(StructuredSelection.EMPTY);
    else {
        tree.setSelection(item);
        tree.showItem(item);
    }
}

From source file:org.eclipse.jface.snippets.layout.Snippet027TreeLayout.java

License:Open Source License

public Snippet027TreeLayout(Shell shell) {
    final TreeViewer v = new TreeViewer(shell);
    v.getTree().setHeaderVisible(true);
    v.getTree().setLinesVisible(true);/*from   w w w.j a  v a2  s .co  m*/

    TreeColumnLayout ad = new TreeColumnLayout();
    shell.setLayout(ad);

    TreeColumn column1 = createTreeColumn(v.getTree(), "Column 1");
    TreeColumn column2 = createTreeColumn(v.getTree(), "Column 2");

    ad.setColumnData(column1, new ColumnWeightData(50, 100));
    ad.setColumnData(column2, new ColumnWeightData(50, 100));

    v.setLabelProvider(new MyLabelProvider());
    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
}

From source file:org.eclipse.jface.snippets.viewers.Snippet002TreeViewer.java

License:Open Source License

public Snippet002TreeViewer(Shell shell) {
    final TreeViewer v = new TreeViewer(shell);
    v.setLabelProvider(new LabelProvider());
    v.setContentProvider(new MyContentProvider());
    createColumn(v.getTree(), "Values");
    v.setInput(createModel());//  ww  w . j av a2  s  .c o m
}

From source file:org.eclipse.jface.snippets.viewers.Snippet005TreeCustomMenu.java

License:Open Source License

public Snippet005TreeCustomMenu(Shell shell) {
    final TreeViewer v = new TreeViewer(shell);
    v.setLabelProvider(new LabelProvider());
    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());//w w w.j a  va  2 s .  co  m
    createColumn(v.getTree(), "Values");

    final Action a = new Action("") {
    };
    final MenuManager mgr = new MenuManager();
    mgr.setRemoveAllWhenShown(true);

    mgr.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            IStructuredSelection selection = v.getStructuredSelection();
            if (!selection.isEmpty()) {
                a.setText("Action for " + selection.getFirstElement());
                mgr.add(a);
            }
        }
    });
    v.getControl().setMenu(mgr.createContextMenu(v.getControl()));
}

From source file:org.eclipse.jface.snippets.viewers.Snippet015CustomTooltipsForTree.java

License:Open Source License

/**
 * @param args/*w w  w.j a va  2s  .  co m*/
 */
public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());

    TreeViewer v = new TreeViewer(shell, SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);
    v.getTree().setHeaderVisible(true);
    ColumnViewerToolTipSupport.enableFor(v);

    v.setContentProvider(new MyContentProvider());

    CellLabelProvider labelProvider = new CellLabelProvider() {

        @Override
        public String getToolTipText(Object element) {
            return "Tooltip (" + element + ")";
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 2000;
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

        @Override
        public void update(ViewerCell cell) {
            cell.setText(cell.getElement().toString());

        }
    };

    v.setLabelProvider(labelProvider);
    v.setInput("");

    shell.setSize(200, 200);
    shell.open();

    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }

    display.dispose();
}

From source file:org.eclipse.jface.snippets.viewers.Snippet026TreeViewerTabEditing.java

License:Open Source License

public Snippet026TreeViewerTabEditing(final Shell shell) {
    Button b = new Button(shell, SWT.PUSH);
    b.setText("Remove column");
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);
    v.getTree().setHeaderVisible(true);// w  ww. j av a  2 s  .c o  m
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (v.getTree().getColumnCount() > 1) {
                v.getTree().getColumn(1).dispose();
            }
        }

    });

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION;

    TreeViewerEditor.create(v, focusCellManager, actSupport, feature);
    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());

    String[] columLabels = { "Column 1", "Column 2", "Column 3" };
    String[] labelPrefix = { "Column 1 => ", "Column 2 => ", "Column 3 => " };

    for (int i = 0; i < columLabels.length; i++) {
        TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE);
        column.getColumn().setWidth(200);
        column.getColumn().setMoveable(true);
        column.getColumn().setText(columLabels[i]);
        column.setLabelProvider(createColumnLabelProvider(labelPrefix[i]));
        column.setEditingSupport(createEditingSupportFor(v, textCellEditor));
    }
    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
}

From source file:org.eclipse.jface.snippets.viewers.Snippet048TreeViewerTabWithCheckboxFor3_3.java

License:Open Source License

public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) {
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);
    v.getTree().setHeaderVisible(true);/*from   w  ww .  j a v a  2  s.  c  o m*/

    final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && (event.keyCode == SWT.CR || event.character == ' '))
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TreeViewerEditor.create(v, mgr, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());
    final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree());

    TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 1");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return "Column 1 => " + element;
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return false;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return textCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return ((MyModel) element).counter + "";
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).counter = Integer.parseInt(value.toString());
            v.update(element, null);
        }
    });

    column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 2");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return "Column 2 => " + element;
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return textCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return ((MyModel) element).counter + "";
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).counter = Integer.parseInt(value.toString());
            v.update(element, null);
        }
    });

    column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 3");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return ((MyModel) element).bool + "";
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return checkboxCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return Boolean.valueOf(((MyModel) element).bool);
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).bool = ((Boolean) value).booleanValue();
            v.update(element, null);
        }
    });

    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
    v.getControl().addTraverseListener(new TraverseListener() {

        @Override
        public void keyTraversed(TraverseEvent e) {
            if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
                    && mgr.getFocusCell().getColumnIndex() == 2) {
                ColumnViewerEditor editor = v.getColumnViewerEditor();
                ViewerCell cell = mgr.getFocusCell();

                try {
                    Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent",
                            new Class[] { int.class, ViewerRow.class, TraverseEvent.class });
                    m.setAccessible(true);
                    m.invoke(editor, Integer.valueOf(cell.getColumnIndex()), cell.getViewerRow(), e);
                } catch (SecurityException | NoSuchMethodException | IllegalArgumentException
                        | IllegalAccessException | InvocationTargetException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }
        }

    });
}

From source file:org.eclipse.jface.snippets.viewers.Snippet050DelegatingStyledCellLabelProvider.java

License:Open Source License

private ColumnViewer createViewer(String description, Composite parent, CellLabelProvider labelProvider1,
        CellLabelProvider labelProvider2) {

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    composite.setLayout(new GridLayout(1, true));

    Label label = new Label(composite, SWT.NONE);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label.setText(description);/*from  w  w  w  .j a v  a 2  s. c  om*/

    TreeViewer treeViewer = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer.getTree().setHeaderVisible(true);
    treeViewer.setContentProvider(new FileSystemContentProvider());

    TreeViewerColumn tvc1 = new TreeViewerColumn(treeViewer, SWT.NONE);
    tvc1.getColumn().setText("Name"); //$NON-NLS-1$
    tvc1.getColumn().setWidth(200);
    tvc1.setLabelProvider(labelProvider1);

    TreeViewerColumn tvc2 = new TreeViewerColumn(treeViewer, SWT.NONE);
    tvc2.getColumn().setText("Date Modified"); //$NON-NLS-1$
    tvc2.getColumn().setWidth(200);
    tvc2.setLabelProvider(labelProvider2);

    GridData data = new GridData(GridData.FILL, GridData.FILL, true, true);
    treeViewer.getControl().setLayoutData(data);

    treeViewer.setInput(new FileSystemRoot());

    return treeViewer;
}

From source file:org.eclipse.jface.snippets.viewers.Snippet055HideShowColumn.java

License:Open Source License

public Snippet055HideShowColumn(final Shell shell) {
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    v.getTree().setLinesVisible(true);//  www .j  av a 2s .co  m
    v.getTree().setHeaderVisible(true);

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TreeViewerEditor.create(v, focusCellManager, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());

    createColumnFor(v, "Column 1", textCellEditor);
    final TreeViewerColumn column_2 = createColumnFor(v, "Column 2", textCellEditor);
    createColumnFor(v, "Column 3", textCellEditor);

    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());

    Button b = createButtonFor(shell, "Edit-Element");
    b.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            MyModel root = (MyModel) v.getInput();
            TreePath path = new TreePath(
                    new Object[] { root, root.child.get(1), root.child.get(1).child.get(0) });
            v.editElement(path, 0);
        }

    });
    b = createButtonFor(shell, "Hide/Show 2nd Column");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            int width = column_2.getColumn().getWidth();
            column_2.getColumn().setWidth(width == 0 ? 200 : 0);
        }
    });
}