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.jboss.tools.windup.ui.internal.rules.RuleRepositoryView.java

License:Open Source License

@Inject
@Optional/*from   w w  w.  jav  a  2  s.  co  m*/
private void rulesetAdded(@UIEventTopic(WindupConstants.CUSTOM_RULESET_CHANGED) RulesetChange change)
        throws RemoteException {
    if (treeViewer != null && !treeViewer.getTree().isDisposed()) {
        modelService.cleanPhantomCustomRuleProviders();
        CustomRulesNode root = (CustomRulesNode) ((RuleRepositoryInput) treeViewer.getInput()).getChildren()[1];
        if (!treeViewer.isBusy()) {
            treeViewer.refresh(root);
        }
        if (!change.isDelete()) {
            treeViewer.setSelection(new StructuredSelection(change.getProviders()), true);
            treeViewer.expandToLevel(root, 1);
            change.getProviders().forEach(provider -> {
                treeViewer.expandToLevel(provider, AbstractTreeViewer.ALL_LEVELS);
                treeViewer.setSelection(new StructuredSelection(provider), true);
            });
        }
    }
}

From source file:org.kalypso.contribs.eclipse.ui.dialogs.GenericWizardSelectionPage.java

License:Open Source License

@Override
protected Composite createTreeViewer(final Composite parent) {
    final IWizardCategory root = m_wizardRegistry.getRootCategory();

    m_exportTree = new MyCategorizedWizardSelectionTree(root, m_message);
    final Composite exportComp = m_exportTree.createControl(parent);
    final TreeViewer viewer = m_exportTree.getViewer();
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @SuppressWarnings("synthetic-access")
        @Override//from w  w w  .j  a  va 2 s.  c  o  m
        public void selectionChanged(final SelectionChangedEvent event) {
            listSelectionChanged(event.getSelection());
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @SuppressWarnings("synthetic-access")
        @Override
        public void doubleClick(final DoubleClickEvent event) {
            treeDoubleClicked(event);
        }
    });

    viewer.addFilter(m_treeFilter);

    setTreeViewer(viewer);

    viewer.expandToLevel(AbstractTreeViewer.ALL_LEVELS);

    return exportComp;
}

From source file:org.kalypso.contribs.eclipse.ui.dialogs.GenericWizardSelectionPage.java

License:Open Source License

@Override
protected void initialize() {
    super.initialize();

    getTreeViewer().expandToLevel(AbstractTreeViewer.ALL_LEVELS);
}

From source file:org.lamport.tla.toolbox.ui.navigator.ToolboxExplorerResourceListener.java

License:Open Source License

public void resourceChanged(final IResourceChangeEvent event) {
    UIHelper.runUIAsync(new Runnable() {
        public void run() {
            ToolboxExplorer.refresh();//from   w  ww . j  a v  a 2  s  . com
            // Expand the current spec and all its children
            final CommonViewer viewer = ToolboxExplorer.getViewer();
            // Event is only null when this Ctor calls us causing the
            // initial expanded state of a spec to be fully expanded.
            // Afterwards, the users expanded states is preserved.
            if (event == null && viewer != null) { // viewer might already be disposed which happens when the Toolbox shuts down.
                final Spec specLoaded = Activator.getSpecManager().getSpecLoaded();
                viewer.expandToLevel(specLoaded, AbstractTreeViewer.ALL_LEVELS);
            }
        }
    });
}

From source file:org.mwc.debrief.core.editors.PlotOutlinePage.java

License:Open Source License

public void editableSelected(final ISelection sel, final EditableWrapper pw) {
    if (_followSelectionToggle.isChecked()) {
        // ahh, just check if this is a whole new layers object
        if (pw.getEditable() instanceof Layers) {
            if (pw.getEditable() != _myLayers) {
                _myLayers = (Layers) pw.getEditable();
                processNewLayers();/*  w ww  .  j a  va2 s  . c  o m*/
            }
        } else {
            // just check that this is something we can work with
            if (sel instanceof StructuredSelection) {
                final StructuredSelection str = (StructuredSelection) sel;

                // hey, is there a payload?
                if (str.getFirstElement() != null) {
                    // sure is. we only support single selections, so get the first
                    // element
                    final Object first = str.getFirstElement();
                    if (first instanceof EditableWrapper) {
                        final EditableWrapper ew = (EditableWrapper) first;

                        // is it already loaded by the lazy tree manager?
                        final Widget res = _treeViewer.findEditable(ew.getEditable());

                        if (res == null) {
                            // nope, laod that whole data object
                            EditableWrapper thisP = ew.getParent();
                            final ArrayList<EditableWrapper> al = new ArrayList<EditableWrapper>();

                            // we may have a chain of parents (though it's unlikely). Never
                            // the less, store them in reverse order, top-level first
                            while (thisP != null) {
                                al.add(0, thisP);
                                thisP = thisP.getParent();
                            }

                            // ok, now we have to open all these items, starting at the
                            // highest level parent
                            final Iterator<EditableWrapper> iter = al.iterator();
                            while (iter.hasNext()) {
                                final EditableWrapper editableWrapper = (EditableWrapper) iter.next();

                                // ok, get the content
                                final ViewContentProvider contentP = (ViewContentProvider) _treeViewer
                                        .getContentProvider();

                                // find the wrapped children of this object
                                final Object[] contents = contentP.getChildren(editableWrapper);

                                // loop through, expanding them
                                for (final Object content : contents) {
                                    // expand the particular child. Note we go down through all
                                    // the layers, since the target
                                    // object may be several layers deep
                                    _treeViewer.expandToLevel(content, AbstractTreeViewer.ALL_LEVELS);
                                }
                            }
                        }

                        // now just display it. This part of the tree may not have been
                        // loaded before,
                        // but we're sure it is now.
                        _treeViewer.setSelection(sel, _followSelectionToggle.isChecked());
                    }
                }
            }

        }
    }

}

From source file:org.nanocontainer.swt.ContainerTreeViewer.java

License:Open Source License

public ContainerTreeViewer(Composite parent, int flags) {
    super(parent, flags);

    setContentProvider(new ContainerTreeContentProvider(null));
    setLabelProvider(new ContainerTreeLabelProvider());
    setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
}

From source file:org.neuro4j.studio.debug.ui.views.LaunchViewBreadcrumb.java

License:Apache License

public Control createDropDownControl(Composite parent, final IBreadcrumbDropDownSite site, TreePath paramPath) {

    TreeViewerDropDown dropDownTreeViewer = new TreeViewerDropDown() {

        SubTreeModelViewer fDropDownViewer;

        protected TreeViewer createTreeViewer(Composite composite, int style, final TreePath path) {
            fDropDownViewer = new SubTreeModelViewer(composite,
                    SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL | SWT.POP_UP,
                    fTreeViewer.getPresentationContext());

            Object launchViewInput = fTreeViewer.getInput();
            fDropDownViewer.setInput(launchViewInput, path.getParentPath());

            ViewerFilter[] filters = fTreeViewer.getFilters();
            fDropDownViewer.setFilters(filters);

            ModelDelta stateDelta = new ModelDelta(launchViewInput, IModelDelta.NO_CHANGE);
            fTreeViewer.saveElementState(TreePath.EMPTY, stateDelta, IModelDelta.EXPAND | IModelDelta.SELECT);

            // If we do not want to expand the elements in the drop-down.
            // Prune the delta to only select the element in the
            // top-most list.
            if (!fView.getBreadcrumbDropDownAutoExpand()) {
                final ModelDelta prunedDelta = new ModelDelta(launchViewInput, IModelDelta.NO_CHANGE);
                stateDelta.accept(new IModelDeltaVisitor() {
                    ModelDelta copy = prunedDelta;

                    public boolean visit(IModelDelta delta, int depth) {
                        TreePath deltaPath = getViewerTreePath(delta);
                        if (deltaPath.getSegmentCount() == 0) {
                            // skip copying the root element, only copy it's child count
                            copy.setChildCount(delta.getChildCount());
                        } else if (deltaPath.getSegmentCount() != 0 && path.startsWith(deltaPath, null)) {
                            // Build up the delta copy along the path of the drop-down element.
                            copy = copy.addNode(delta.getElement(), delta.getIndex(), delta.getFlags(),
                                    delta.getChildCount());
                        }/*from   w  w  w .  j  a v  a2 s . c om*/

                        // If the delta is for the drop-down element, set its select flag and stop traversing
                        // the delta..
                        if (deltaPath.equals(path)) {
                            copy.setFlags(IModelDelta.SELECT | IModelDelta.REVEAL);
                            return false;
                        }

                        // Continue traversing the delta.
                        return true;
                    }

                    private TreePath getViewerTreePath(IModelDelta node) {
                        ArrayList list = new ArrayList();
                        IModelDelta parentDelta = node.getParentDelta();
                        while (parentDelta != null) {
                            list.add(0, node.getElement());
                            node = parentDelta;
                            parentDelta = node.getParentDelta();
                        }
                        return new TreePath(list.toArray());
                    }
                });
                stateDelta = prunedDelta;
            }

            fDropDownViewer.updateViewer(stateDelta);

            fDropDownViewer.addLabelUpdateListener(new ILabelUpdateListener() {
                public void labelUpdateComplete(ILabelUpdate update) {
                }

                public void labelUpdatesBegin() {
                }

                public void labelUpdateStarted(ILabelUpdate update) {
                }

                public void labelUpdatesComplete() {
                    new UIJob(fViewer.getControl().getDisplay(), "resize breadcrub dropdown") { //$NON-NLS-1$
                        {
                            setSystem(true);
                        }

                        public IStatus runInUIThread(IProgressMonitor monitor) {
                            site.updateSize();
                            return Status.OK_STATUS;
                        }
                    }.schedule();
                }
            });

            return fDropDownViewer;
        }

        protected void openElement(ISelection selection) {
            if (fTreeViewer.getControl().isDisposed()) {
                return;
            }

            if (selection != null && (selection instanceof ITreeSelection) && !selection.isEmpty()) {
                // Create the path to the root element of the drop-down viewer. Need to calcualte
                // indexes and counts for the delta in order for the selection from the drop-down
                // viewer to work properly.
                TreeModelContentProvider contentProvider = (TreeModelContentProvider) fTreeViewer
                        .getContentProvider();
                TreePath path = TreePath.EMPTY;
                int count = fTreeViewer.getChildCount(path);
                count = contentProvider.viewToModelCount(path, count);
                ModelDelta rootDelta = new ModelDelta(fTreeViewer.getInput(), -1, IModelDelta.NO_CHANGE, count);
                TreePath rootPath = fDropDownViewer.getRootPath();
                ModelDelta delta = rootDelta;
                for (int i = 0; i < rootPath.getSegmentCount(); i++) {
                    Object element = rootPath.getSegment(i);
                    int index = fTreeViewer.findElementIndex(path, element);
                    index = contentProvider.viewToModelIndex(path, index);
                    path = path.createChildPath(element);
                    count = fTreeViewer.getChildCount(path);
                    count = contentProvider.viewToModelCount(path, count);
                    delta = delta.addNode(rootPath.getSegment(i), index, IModelDelta.NO_CHANGE, count);
                }

                // Create the delta and save the drop-down viewer's state to it.
                fDropDownViewer.saveElementState(TreePath.EMPTY, delta,
                        IModelDelta.EXPAND | IModelDelta.SELECT);

                // Add the IModelDelta.FORCE flag to override the current selection in view.
                rootDelta.accept(new IModelDeltaVisitor() {
                    public boolean visit(IModelDelta paramDelta, int depth) {
                        if ((paramDelta.getFlags() & IModelDelta.SELECT) != 0) {
                            ((ModelDelta) paramDelta).setFlags(paramDelta.getFlags() | IModelDelta.FORCE);
                        }
                        return true;
                    }
                });

                // If elements in the drop-down were auto-expanded, then collapse the drop-down's sub tree in the
                // full viewer. After the drop-down's full expansion state is saved out to the tree viewer, the
                // tree viewer will accurately reflect the state changes made by the user.
                if (fView.getBreadcrumbDropDownAutoExpand()) {
                    fTreeViewer.collapseToLevel(rootPath, AbstractTreeViewer.ALL_LEVELS);
                }

                // Save the state of the drop-down out into the tree viewer.
                fTreeViewer.updateViewer(rootDelta);
                fViewer.setSelection(StructuredSelection.EMPTY);
                site.close();
            }

            super.openElement(selection);
        }
    };

    return dropDownTreeViewer.createDropDown(parent, site, paramPath);
}

From source file:org.phpsrc.eclipse.pti.tools.phpdepend.ui.views.metricrunner.MetricViewer.java

License:Open Source License

private void autoScrollInUI() {
    // if (!fTestRunnerPart.isAutoScroll()) {
    if (true) {//w w w  .ja va2  s. c o m
        clearAutoExpand();
        fAutoClose.clear();
        return;
    }

    synchronized (this) {
        for (Iterator iter = fAutoExpand.iterator(); iter.hasNext();) {
            IMetricElement suite = (IMetricElement) iter.next();
            fTreeViewer.setExpandedState(suite, true);
        }
        clearAutoExpand();
    }

    IMetricElement current = null;

    IMetricElement parent = current == null ? null : (IMetricElement) fTreeContentProvider.getParent(current);
    if (fAutoClose.isEmpty() || !fAutoClose.getLast().equals(parent)) {
        // we're in a new branch, so let's close old OK branches:
        for (ListIterator iter = fAutoClose.listIterator(fAutoClose.size()); iter.hasPrevious();) {
            IMetricElement previousAutoOpened = (IMetricElement) iter.previous();
            if (previousAutoOpened.equals(parent))
                break;

            if (previousAutoOpened.getStatus() == MetricElement.Status.OK) {
                // auto-opened the element, and all children are OK -> auto
                // close
                iter.remove();
                fTreeViewer.collapseToLevel(previousAutoOpened, AbstractTreeViewer.ALL_LEVELS);
            }
        }

        while (parent != null && !fMetricRunSession.getSummaryRoot().equals(parent)
                && fTreeViewer.getExpandedState(parent) == false) {
            fAutoClose.add(parent); // add to auto-opened elements -> close
            // later if STATUS_OK
            parent = (IMetricElement) fTreeContentProvider.getParent(parent);
        }
    }
    if (current != null)
        fTreeViewer.reveal(current);
}

From source file:org.ripla.rap.demo.widgets.views.TreeWidgetsView.java

License:Open Source License

/**
 * TreeWidgetsView constructor./*  w ww.  jav a 2s.c o m*/
 * 
 * @param inParent
 *            {@link Composite}
 * @param inTree
 *            {@link TreeObject}
 */
public TreeWidgetsView(final Composite inParent, final TreeObject inTree) {
    super(inParent);
    createTitle(MESSAGES.getMessage("widgets.title.page.tree"));

    LabelHelper.createLabel(this, MESSAGES.getMessage("widgets.view.tree.title"), "ripla-font");

    final TreeViewer lViewer = new TreeViewer(this, SWT.V_SCROLL | SWT.H_SCROLL);
    final Tree lTree = lViewer.getTree();
    lTree.setLayout(GridLayoutHelper.createGridLayout());
    lTree.setData(RWT.CUSTOM_VARIANT, "ripla-font");
    final GridData lLayoutData = GridLayoutHelper.createFillLayoutData();
    lLayoutData.heightHint = 430;
    lTree.setLayoutData(lLayoutData);

    lViewer.setContentProvider(new CountryTreeContentProvider());
    lViewer.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell inCell) {
            final TreeObject lCountry = (TreeObject) inCell.getElement();
            inCell.setText(lCountry.getLabel());
        }
    });
    lViewer.expandAll();
    lViewer.setInput(inTree);
    lViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent inEvent) {
            final TreeObject lTreeObject = (TreeObject) ((IStructuredSelection) inEvent.getSelection())
                    .getFirstElement();
            if (lTreeObject.hasChildren()) {
                if (lViewer.getExpandedState(lTreeObject)) {
                    lViewer.collapseToLevel(lTreeObject, AbstractTreeViewer.ALL_LEVELS);
                } else {
                    lViewer.expandToLevel(lTreeObject, 1);
                }
            } else {
                popup(lTreeObject.getCountry());
            }
        }
    });

    lTree.forceFocus();
    lTree.select(lTree.getItem(0));
}

From source file:org.rssowl.ui.internal.editors.feed.NewsTableControl.java

License:Open Source License

public void createPart(Composite parent) {
    int style = SWT.MULTI | SWT.FULL_SELECTION;

    fCustomTree = new CTree(parent, style);
    fCustomTree.getControl().setHeaderVisible(true);

    fViewer = new NewsTableViewer(fCustomTree.getControl());
    fViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fViewer.setUseHashlookup(true);/*from w  w w.j ava2 s  .  co m*/
    fViewer.getControl().setData(ApplicationWorkbenchWindowAdvisor.FOCUSLESS_SCROLL_HOOK, new Object());
    fViewer.getControl().setFont(OwlUI.getThemeFont(OwlUI.HEADLINES_FONT_ID, SWT.NORMAL));

    /* Custom Tooltip for Feed Column */
    FeedColumnToolTipSupport.enableFor(fViewer);

    /* This is a Workaround until we remember expanded Groups */
    fViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);

    fHandCursor = parent.getDisplay().getSystemCursor(SWT.CURSOR_HAND);

    /* Drag and Drop */
    initDragAndDrop();
}