Example usage for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS

List of usage examples for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS.

Prototype

int ALL_LEVELS

To view the source code for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS.

Click Source Link

Document

Constant indicating that all levels of the tree should be expanded or collapsed.

Usage

From source file:org.rssowl.ui.internal.views.explorer.BookMarkSearchbar.java

License:Open Source License

private void createRefreshJob() {
    fRefreshJob = new WorkbenchJob("") {//$NON-NLS-1$
        @Override/*w  ww .ja  va  2 s .c o m*/
        public IStatus runInUIThread(IProgressMonitor monitor) {

            /* Tree Disposed */
            if (fViewer.getControl().isDisposed())
                return Status.CANCEL_STATUS;

            /* Get the Filter Pattern */
            String text = fFilterText != null ? fFilterText.getText() : null;
            if (text == null)
                return Status.OK_STATUS;

            /* Check if the Initial Text was set */
            boolean initial = fInitialText != null && fInitialText.equals(text);
            if (initial)
                fPatternFilter.setPattern(null);
            else
                fPatternFilter.setPattern(text);

            try {
                fViewer.getControl().getParent().setRedraw(false);

                /* Remember Expanded Elements if not yet done */
                if (fExpandedElements == null)
                    fExpandedElements = fViewer.getExpandedElements();

                /* Remember Selected Elements if present */
                IStructuredSelection sel = (IStructuredSelection) fViewer.getSelection();
                if (!sel.isEmpty())
                    fSelectedElements = sel.toArray();

                /* Refresh Tree */
                BusyIndicator.showWhile(getDisplay(), new Runnable() {
                    public void run() {
                        fViewer.refresh(false);
                    }
                });

                /* Restore Expanded Elements and Selection when Filter is disabled */
                if (text.length() == 0) {

                    /* Restore Expansion */
                    fViewer.collapseAll();
                    for (Object element : fExpandedElements) {
                        fViewer.setExpandedState(element, true);
                    }

                    /* Restore Selection */
                    if (fSelectedElements != null)
                        fViewer.setSelection(new StructuredSelection(fSelectedElements), true);

                    /* Clear Fields */
                    fExpandedElements = null;
                    fSelectedElements = null;
                }

                /*
                 * Expand elements one at a time. After each is expanded, check to see
                 * if the filter text has been modified. If it has, then cancel the
                 * refresh job so the user doesn't have to endure expansion of all the
                 * nodes.
                 */
                if (text.length() > 0 && !initial) {
                    IStructuredContentProvider provider = (IStructuredContentProvider) fViewer
                            .getContentProvider();
                    Object[] elements = provider.getElements(fViewer.getInput());
                    for (Object element : elements) {
                        if (monitor.isCanceled())
                            return Status.CANCEL_STATUS;

                        fViewer.expandToLevel(element, AbstractTreeViewer.ALL_LEVELS);
                    }

                    /* Make Sure to show the First Item */
                    TreeItem[] items = fViewer.getTree().getItems();
                    if (items.length > 0)
                        fViewer.getTree().showItem(items[0]);

                    /* Enable Toolbar to allow resetting the Filter */
                    setToolBarVisible(true);
                }

                /* Disable Toolbar - No Filter is currently activated */
                else {
                    setToolBarVisible(false);
                }
            }

            /* Done updating the tree - set redraw back to true */
            finally {
                fViewer.getControl().getParent().setRedraw(true);
            }

            return Status.OK_STATUS;
        }
    };
    fRefreshJob.setSystem(true);

    /* Cancel the Job once the Tree got disposed */
    fViewer.getControl().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(org.eclipse.swt.events.DisposeEvent e) {
            fRefreshJob.cancel();
        };
    });
}

From source file:org.rubypeople.rdt.internal.ui.text.RubyOutlineInformationControl.java

License:Open Source License

/**
 * {@inheritDoc}//  ww  w. j ava2s.c om
 */
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("org.rubypeople.rdt.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);

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

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

    return treeViewer;
}

From source file:org.springframework.ide.eclipse.aop.ui.inplace.AopReferenceModelInplaceDialog.java

License:Open Source License

private TreeViewer createTreeViewer(Composite parent, int style) {
    viewer = new TreeViewer(parent, SWT.SINGLE | (style & ~SWT.MULTI));
    viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));

    viewer.setContentProvider(new AopReferenceModelNavigatorContentProvider());
    viewer.setLabelProvider(new AopReferenceModelNavigatorLabelProvider());
    viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    viewer.setSorter(new AopReferenceModelNavigatorSorter());

    // adding these filters which restrict the contents of
    // the view according to what has been typed in the
    // text bar/*w  w  w. ja  v a  2  s .  c  o m*/
    viewer.addFilter(new NamePatternFilter());

    // add filter from the common navigator
    INavigatorContentService contentService = NavigatorContentServiceFactory.INSTANCE
            .createContentService(AopReferenceModelNavigator.ID);
    ViewerFilter[] viewFilters = contentService.getFilterService().getVisibleFilters(true);
    for (ViewerFilter viewFilter : viewFilters) {
        viewer.addFilter(viewFilter);
    }

    return viewer;
}

From source file:org.springframework.ide.eclipse.aop.ui.inplace.AopReferenceModelInplaceDialog.java

License:Open Source License

public void refresh() {
    if (lastSelection != null && workbenchPart != null) {
        Object element = null;//from w w w.  jav  a  2s. c o m
        if (!isShowingParentCrosscutting) {
            element = AopReferenceModelNavigator.calculateRootElement(
                    AopReferenceModelNavigatorUtils.getSelectedElement(workbenchPart, lastSelection), true);
        } else {
            element = AopReferenceModelNavigator.calculateRootElement(
                    AopReferenceModelNavigatorUtils.getSelectedElement(workbenchPart, lastSelection), false);
        }
        if (element != null) {
            viewer.getControl().setRedraw(false);
            viewer.setInput(element);
            viewer.expandToLevel(AbstractTreeViewer.ALL_LEVELS);
            AopReferenceModelNavigator.expandTree(viewer.getTree().getItems(), false);
            AopReferenceModelNavigator.revealSelection(viewer,
                    AopReferenceModelNavigatorUtils.getSelectedElement(workbenchPart, lastSelection),
                    !isShowingParentCrosscutting);
            viewer.getControl().setRedraw(true);
        }
    }
}

From source file:org.springframework.ide.eclipse.aop.ui.inplace.AopReferenceModelInplaceDialog.java

License:Open Source License

protected void toggleShowParentCrosscutting() {
    if (lastSelection != null && workbenchPart != null) {
        Object element = null;// w  w w  .  j  a v  a  2 s  . c  om
        if (!isShowingParentCrosscutting) {
            element = AopReferenceModelNavigator.calculateRootElement(
                    AopReferenceModelNavigatorUtils.getSelectedElement(workbenchPart, lastSelection), true);
        } else {
            element = AopReferenceModelNavigator.calculateRootElement(
                    AopReferenceModelNavigatorUtils.getSelectedElement(workbenchPart, lastSelection), false);
        }
        if (element != null) {
            viewer.getControl().setRedraw(false);
            viewer.setInput(element);
            viewer.expandToLevel(AbstractTreeViewer.ALL_LEVELS);
            AopReferenceModelNavigator.expandTree(viewer.getTree().getItems(), false);
            AopReferenceModelNavigator.revealSelection(viewer,
                    AopReferenceModelNavigatorUtils.getSelectedElement(workbenchPart, lastSelection),
                    !isShowingParentCrosscutting);
            viewer.getControl().setRedraw(true);
        }
    }

    isShowingParentCrosscutting = !isShowingParentCrosscutting;
    updateStatusFieldText();
}

From source file:org.springframework.ide.eclipse.aop.ui.inplace.AopReferenceModelInplaceDialog.java

License:Open Source License

private void stringMatcherUpdated() {
    filteredElements.clear();//ww  w.  j  a v  a  2s. c o m
    // refresh viewer to refilter
    viewer.getControl().setRedraw(false);
    viewer.refresh();
    viewer.expandToLevel(AbstractTreeViewer.ALL_LEVELS);
    AopReferenceModelNavigator.expandTree(viewer.getTree().getItems(), false);
    selectFirstMatch();
    viewer.getControl().setRedraw(true);
}

From source file:org.springframework.ide.eclipse.aop.ui.navigator.AopReferenceModelNavigator.java

License:Open Source License

public static int calculateExpandToLevel(Object element) {
    return AbstractTreeViewer.ALL_LEVELS;
}

From source file:org.springframework.ide.eclipse.beans.ui.inplace.BeansInplaceOutlineDialog.java

License:Open Source License

private TreeViewer createTreeViewer(Composite parent, int style) {
    viewer = new TreeViewer(parent, SWT.SINGLE | (style & ~SWT.MULTI));
    viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));

    viewer.setContentProvider(new BeansModelContentProvider() {

        @Override//from  w w  w  . ja  va2 s.  c om
        public Object[] getElements(Object inputElement) {
            return getChildren(inputElement);
        }

    });
    viewer.setLabelProvider(new BeansNavigatorLabelProvider());
    viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    viewer.setSorter(new BeansNavigatorSorter());

    // adding these filters which restrict the contents of
    // the view according to what has been typed in the
    // text bar
    viewer.addFilter(new NamePatternFilter());

    // add filter from the common navigator
    INavigatorContentService contentService = NavigatorContentServiceFactory.INSTANCE
            .createContentService("org.springframework.ide.eclipse.ui.navigator.springExplorer");
    ViewerFilter[] viewFilters = contentService.getFilterService().getVisibleFilters(false);
    for (ViewerFilter viewFilter : viewFilters) {
        viewer.addFilter(viewFilter);
    }

    return viewer;
}

From source file:org.springframework.ide.eclipse.beans.ui.inplace.BeansInplaceOutlineDialog.java

License:Open Source License

public void refresh() {
    if (lastSelection != null) {
        Object element = null;/* w w  w. j av  a2s .  c  o  m*/
        if (!isShowingParent) {
            element = this.selectedBeansConfig;
        } else {
            element = this.selectedBeansConfig.getElementParent();
        }
        if (element != null) {
            viewer.getControl().setRedraw(false);
            viewer.setInput(element);
            viewer.expandToLevel(AbstractTreeViewer.ALL_LEVELS);
            viewer.setSelection(new StructuredSelection(this.lastSelection), true);
            viewer.reveal(this.lastSelection);
            viewer.getControl().setRedraw(true);
        }
    }
}

From source file:org.springframework.ide.eclipse.beans.ui.inplace.BeansInplaceOutlineDialog.java

License:Open Source License

protected void toggleShowParent() {
    if (lastSelection != null && workbenchPart != null) {
        Object element = null;/*from w ww  .j  a  va 2  s . co m*/
        if (isShowingParent) {
            element = this.selectedBeansConfig;
        } else {
            element = BeansModelUtils.getParentOfClass(this.selectedBeansConfig, IBeansProject.class);
        }
        if (element != null) {
            viewer.getControl().setRedraw(false);
            viewer.setInput(element);
            viewer.expandToLevel(AbstractTreeViewer.ALL_LEVELS);
            viewer.setSelection(new StructuredSelection(this.lastSelection), true);
            viewer.reveal(this.lastSelection);
            viewer.getControl().setRedraw(true);
        }
    }

    isShowingParent = !isShowingParent;
    updateStatusFieldText();
}