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:de.uni_hildesheim.sse.qmApp.dialogs.statistics.StatisticsDialog.java

License:Apache License

@Override
protected Control createDialogArea(Composite parent) {
    final Composite body = (Composite) super.createDialogArea(parent);

    final TreeViewer viewer = new TreeViewer(body, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    Tree table = viewer.getTree();
    table.setLinesVisible(true);/*w w w  .j a v  a2  s.c  om*/
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.setContentProvider(new StatisticsContentProvider());

    TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.NONE);
    column1.setLabelProvider(new StatisticsLabelProvider(0));
    TreeColumn tc1 = column1.getColumn();
    TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.NONE);
    column2.setLabelProvider(new StatisticsLabelProvider(1));
    TreeColumn tc2 = column2.getColumn();

    tc1.setText("Type");
    tc2.setText("No. of Elements");
    tc1.setWidth(375);
    tc2.setWidth(180);
    table.setHeaderVisible(true);

    // Variables
    fillTable();
    viewer.setInput(dataModel);
    viewer.expandAll();

    //Capture ESC-Key.
    body.addListener(SWT.Traverse, new Listener() {

        public void handleEvent(Event evt) {
            if (evt.detail == SWT.TRAVERSE_ESCAPE) {
                body.getShell().close();
            }
        }
    });
    return body;
}

From source file:de.walware.ecommons.ui.dialogs.QuickTreeInformationControl.java

License:Open Source License

/**
 * Create the main content for this information control.
 *
 * @param parent The parent composite/*w w w . j  ava 2s .  c  o  m*/
 * @return The control representing the main content.
 * @since 3.2
 */
@Override
protected Control createDialogArea(final Composite parent) {
    final TreeViewer viewer = new TreeViewer(parent, SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL);
    final Tree tree = viewer.getTree();
    {
        final GridData gd = new GridData(GridData.FILL_BOTH);
        gd.heightHint = LayoutUtil.hintHeight(tree, 12);
        tree.setLayoutData(gd);
    }

    viewer.setUseHashlookup(true);
    viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    configureViewer(viewer);

    viewer.addFilter(new SearchFilter());

    //      this.fCustomFiltersActionGroup= new CustomFiltersActionGroup(getId(), this.viewer);

    this.treeViewer = viewer;

    tree.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            // do nothing
        }

        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            gotoSelectedElement();
        }
    });

    tree.addMouseMoveListener(new MouseMoveListener() {
        TreeItem lastItem = null;

        @Override
        public void mouseMove(final MouseEvent e) {
            if (tree.equals(e.getSource())) {
                final Object o = tree.getItem(new Point(e.x, e.y));
                if (this.lastItem == null ^ o == null) {
                    tree.setCursor(o == null ? null : tree.getDisplay().getSystemCursor(SWT.CURSOR_HAND));
                }
                if (o instanceof TreeItem) {
                    final Rectangle clientArea = tree.getClientArea();
                    if (!o.equals(this.lastItem)) {
                        this.lastItem = (TreeItem) o;
                        tree.setSelection(new TreeItem[] { this.lastItem });
                    } else if (e.y - clientArea.y < tree.getItemHeight() / 4) {
                        // Scroll up
                        final Point p = tree.toDisplay(e.x, e.y);
                        final Item item = QuickTreeInformationControl.this.treeViewer.scrollUp(p.x, p.y);
                        if (item instanceof TreeItem) {
                            this.lastItem = (TreeItem) item;
                            tree.setSelection(new TreeItem[] { this.lastItem });
                        }
                    } else if (clientArea.y + clientArea.height - e.y < tree.getItemHeight() / 4) {
                        // Scroll down
                        final Point p = tree.toDisplay(e.x, e.y);
                        final Item item = QuickTreeInformationControl.this.treeViewer.scrollDown(p.x, p.y);
                        if (item instanceof TreeItem) {
                            this.lastItem = (TreeItem) item;
                            tree.setSelection(new TreeItem[] { this.lastItem });
                        }
                    }
                } else if (o == null) {
                    this.lastItem = null;
                }
            }
        }
    });

    if (this.commandKeyListener != null) {
        tree.addKeyListener(this.commandKeyListener);
    }
    tree.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(final MouseEvent e) {
            if (tree.getSelectionCount() < 1) {
                return;
            }

            if (e.button != 1) {
                return;
            }

            if (tree.equals(e.getSource())) {
                final Object o = tree.getItem(new Point(e.x, e.y));
                final TreeItem selection = tree.getSelection()[0];
                if (selection.equals(o)) {
                    gotoSelectedElement();
                }
            }
        }
    });

    addDisposeListener(this);
    return this.treeViewer.getControl();
}

From source file:de.walware.ecommons.ui.util.ColumnHoverManager.java

License:Open Source License

protected ColumnHoverManager(final TreeViewer treeViewer, final ColumnWidgetTokenOwner tokenOwner,
        final IInformationControlCreator creator) {
    super(creator);

    fTreeViewer = treeViewer;/*  w  w w.  j  av  a 2  s  .  c  om*/
    fColumnOwner = tokenOwner;
    fSubjectControl = treeViewer.getTree();

    fSubjectControl.setToolTipText("");

    setAnchor(ANCHOR_LEFT);
    setFallbackAnchors(TREE_ANCHORS);
}

From source file:de.walware.ecommons.ui.util.ViewerUtil.java

License:Open Source License

public static void installDefaultEditBehaviour(final TreeViewer treeViewer) {
    final CellNavigationStrategy naviStrat = new CellNavigationStrategy() {
        @Override/*from   www  .  j a  v a 2  s  . c  om*/
        public ViewerCell findSelectedCell(final ColumnViewer viewer, final ViewerCell currentSelectedCell,
                final Event event) {
            final ViewerCell cell = super.findSelectedCell(viewer, currentSelectedCell, event);
            if (cell != null) {
                treeViewer.getTree().showColumn(treeViewer.getTree().getColumn(cell.getColumnIndex()));
            }
            return cell;
        }

    };
    final TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(treeViewer,
            new FocusCellOwnerDrawHighlighter(treeViewer), naviStrat);
    TreeViewerEditor.create(treeViewer, focusCellManager, createActivationStrategy(treeViewer),
            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 scheduleStandardSelection(final TreeViewer viewer) {
    viewer.getControl().getDisplay().asyncExec(new Runnable() {
        @Override//  w ww  .j a  v a  2s. c  om
        public void run() {
            final ISelection selection = viewer.getSelection();
            if (selection.isEmpty()) {
                if (viewer.getTree().getItemCount() > 0) {
                    final TreeItem item = viewer.getTree().getItem(0);
                    viewer.setSelection(new TreeSelection(new TreePath(new Object[] { item.getData() })));
                    viewer.setExpandedState(item.getData(), true);
                } else {
                    viewer.setSelection(new StructuredSelection());
                }
            }
        }
    });
}

From source file:de.walware.ecommons.ui.workbench.AbstractEditorOutlinePage.java

License:Open Source License

@Override
public void setFocus() {
    final TreeViewer viewer = getViewer();
    if (UIAccess.isOkToUse(viewer)) {
        viewer.getTree().setFocus();
    }/*from www .j  a v a 2s  .c o m*/
}

From source file:de.walware.ecommons.workbench.search.ui.TextSearchResultTreeContentProvider.java

License:Open Source License

@Override
public void elementsChanged(final Object[] elements) {
    if (!this.active) {
        return;/*www  . ja  v  a2  s  .  c om*/
    }
    final ExtTextSearchResult<E, M> result = getInput();
    final int limit = getElementLimit();

    final TreeViewer viewer = getViewer();
    viewer.getTree().setRedraw(false);
    try {
        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 currentIdx = this.currentElements.addE(element);
                    if (currentIdx >= 0) {
                        addElement(viewer, element, currentIdx);
                    } else {
                        viewer.refresh(element, true);
                    }
                } else {
                    final int currentIdx = this.currentElements.indexOfE(element);
                    if (currentIdx >= 0) {
                        viewer.refresh(element, true);
                    }
                }
            } else {
                final int currentIdx = this.currentElements.removeE(element);
                if (currentIdx >= 0) {
                    removeElement(viewer, element, currentIdx);
                }
            }
        }
    } finally {
        viewer.getTree().setRedraw(true);
    }
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.PkgTab.java

License:Open Source License

private void createDetailRef(final Composite parent, final int type) {
    {/*from   ww w.java 2s. co  m*/
        final Label label = new Label(parent, SWT.NONE);
        label.setText((type == 0) ? "Dependencies:" : "Reverse:");
        label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    }

    final TreeViewer viewer = new TreeViewer(parent, (SWT.BORDER | SWT.SINGLE));
    if (type == 0) {
        fDetailDepTable = viewer;
    } else {
        fDetailRevTable = viewer;
    }
    {
        final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
        gd.heightHint = LayoutUtil.hintHeight(viewer.getTree(), 12);
        gd.widthHint = fDialog.hintWidthInChars(20);
        viewer.getControl().setLayoutData(gd);
    }

    viewer.setContentProvider(new DetailGroup.ContentProvider(5) {
        private static final int DEPENDS = 0;
        private static final int IMPORTS = 1;
        private static final int LINKINGTO = 2;
        private static final int SUGGESTS = 3;
        private static final int ENHANCES = 4;
        {
            fGroups[DEPENDS] = new DetailGroup(0, "Depends");
            fGroups[IMPORTS] = new DetailGroup(1, "Imports");
            fGroups[LINKINGTO] = new DetailGroup(2, "Linking To");
            fGroups[SUGGESTS] = new DetailGroup(3, "Suggests");
            fGroups[ENHANCES] = new DetailGroup(4, "Enhances");
        }

        @Override
        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
            if (newInput instanceof IRPkgData) {
                final IRPkgData pkg = (IRPkgData) newInput;
                fGroups[DEPENDS].setList(pkg.getDepends());
                fGroups[IMPORTS].setList(pkg.getImports());
                fGroups[LINKINGTO].setList(pkg.getLinkingTo());
                fGroups[SUGGESTS].setList(pkg.getSuggests());
                fGroups[ENHANCES].setList(pkg.getEnhances());
            } else {
                fGroups[DEPENDS].clearList();
                fGroups[IMPORTS].clearList();
                fGroups[LINKINGTO].clearList();
                fGroups[SUGGESTS].clearList();
                fGroups[ENHANCES].clearList();
            }
        }
    });
    viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);

    viewer.setLabelProvider(new StyledCellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {
            final Object element = cell.getElement();
            if (element instanceof DetailGroup) {
                cell.setText(((DetailGroup) element).getLabel());
                cell.setStyleRanges(null);
                return;
            } else if (element instanceof IRPkg) {
                final IRPkg pkg = (IRPkg) element;
                final StyledString text = new StyledString();
                text.append(pkg.getName());
                final String version = pkg.getVersion().toString();
                if (!version.isEmpty()) {
                    text.append(" (", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$
                    text.append(version, StyledString.QUALIFIER_STYLER);
                    text.append(")", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$
                }
                cell.setText(text.getString());
                cell.setStyleRanges(text.getStyleRanges());
                return;
            }
            throw new IllegalStateException();
        }
    });

    viewer.setInput(NO_INPUT);

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(final DoubleClickEvent event) {
            final Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (element instanceof IRPkg) {
                showPkg(((IRPkg) element).getName());
            }
        }
    });
}

From source file:descent.internal.ui.refactoring.reorg.ReorgUserInputPage.java

License:Open Source License

private TreeViewer createViewer(Composite parent) {
    TreeViewer treeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = convertWidthInCharsToPixels(40);
    gd.heightHint = convertHeightInCharsToPixels(15);
    treeViewer.getTree().setLayoutData(gd);
    treeViewer.setLabelProvider(new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_SMALL_ICONS));
    treeViewer.setContentProvider(new DestinationContentProvider(getDestinationValidator()));
    treeViewer.setSorter(new JavaElementSorter());
    treeViewer.setInput(JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()));
    return treeViewer;
}

From source file:descent.internal.ui.text.JavaOutlineInformationControl.java

License:Open Source License

/**
 * {@inheritDoc}//w w w  .  jav a 2  s. c  o  m
 */
protected TreeViewer createTreeViewer(Composite parent, int style) {
    Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight() * 12;
    tree.setLayoutData(gd);

    final TreeViewer treeViewer = new OutlineTreeViewer(tree);

    // Hard-coded filters
    treeViewer.addFilter(new NamePatternFilter());
    treeViewer.addFilter(new MemberFilter());

    fForegroundColor = parent.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY);

    fInnerLabelProvider = new OutlineLabelProvider();
    fInnerLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(null));
    IDecoratorManager decoratorMgr = PlatformUI.getWorkbench().getDecoratorManager();

    if (decoratorMgr.getEnabled("descent.ui.override.decorator")) //$NON-NLS-1$
        fInnerLabelProvider.addLabelDecorator(new OverrideIndicatorLabelDecorator(null));

    treeViewer.setLabelProvider(fInnerLabelProvider);

    fLexicalSortingAction = new LexicalSortingAction(treeViewer);
    fSortByDefiningTypeAction = new SortByDefiningTypeAction(treeViewer);
    fShowOnlyMainTypeAction = new ShowOnlyMainTypeAction(treeViewer);
    // fCategoryFilterActionGroup= new CategoryFilterActionGroup(treeViewer, getId(), getInputForCategories());

    fOutlineContentProvider = new OutlineContentProvider(false);
    treeViewer.setContentProvider(fOutlineContentProvider);
    // fOutlineSorter= new OutlineSorter();
    // treeViewer.setSorter(fOutlineSorter);
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);

    treeViewer.getTree().addKeyListener(getKeyAdapter());

    return treeViewer;
}