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

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

Introduction

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

Prototype

public void setExpandedElements(Object... elements) 

Source Link

Document

Sets which nodes are expanded in this viewer's tree.

Usage

From source file:com.reprezen.swagedit.editor.outline.SwaggerContentOutlinePage.java

License:Open Source License

protected void update() {
    final IDocument document = documentProvider.getDocument(currentInput);

    if (document instanceof SwaggerDocument) {
        final Model model = ((SwaggerDocument) document).getModel();
        if (model == null) {
            return;
        }//from www .j a v a2  s  .co  m

        final TreeViewer viewer = getTreeViewer();

        if (viewer != null && viewer.getControl() != null && !viewer.getControl().isDisposed()) {
            // we keep all elements that have been previously expanded
            // so the tree stay in the same state between updates.
            final Object[] expandedElements = viewer.getExpandedElements();
            final List<Object> elements = expandedElements != null ? Arrays.asList(expandedElements) : null;

            viewer.setInput(model);

            if (elements != null && !elements.isEmpty()) {
                Iterable<AbstractNode> newElements = filter(model.allNodes(), new Predicate<AbstractNode>() {
                    @Override
                    public boolean apply(AbstractNode node) {
                        return elements.contains(node);
                    }
                });
                viewer.setExpandedElements(toArray(newElements, AbstractNode.class));
            }
        }
    }
}

From source file:eu.numberfour.n4js.ui.preferences.ExternalLibraryPreferencePage.java

License:Open Source License

private static void updateInput(final TreeViewer viewer, final Object input) {
    UIUtils.getDisplay().asyncExec(() -> {
        final Object[] expandedElements = viewer.getExpandedElements();
        final TreePath[] expandedTreePaths = viewer.getExpandedTreePaths();
        viewer.setInput(input);//w w  w .  j av  a  2 s. com
        viewer.getControl().notifyListeners(Selection, null);
        if (!Arrays2.isEmpty(expandedElements)) {
            viewer.setExpandedElements(expandedElements);
        }
        if (!Arrays2.isEmpty(expandedTreePaths)) {
            viewer.setExpandedTreePaths(expandedTreePaths);
        }
    });
}

From source file:ext.org.eclipse.jdt.internal.ui.browsing.LogicalPackagesProvider.java

License:Open Source License

/**
 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
 *//* w  ww . j a va 2s.  c om*/
public void propertyChange(PropertyChangeEvent event) {
    if (fCompoundState == isInCompoundState())
        return;
    else
        fCompoundState = isInCompoundState();

    if (!isInCompoundState()) {
        fMapToLogicalPackage.clear();
        fMapToPackageFragments.clear();
    }

    if (fViewer instanceof TreeViewer) {
        TreeViewer viewer = (TreeViewer) fViewer;
        Object[] expandedObjects = viewer.getExpandedElements();
        viewer.refresh();
        viewer.setExpandedElements(expandedObjects);
    } else
        fViewer.refresh();
}

From source file:ext.org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControl.java

License:Open Source License

protected void toggleHierarchy() {
    TreeViewer treeViewer = getTreeViewer();

    treeViewer.getTree().setRedraw(false);

    Object[] expandedElements = treeViewer.getExpandedElements();
    TypeHierarchyContentProvider contentProvider = (TypeHierarchyContentProvider) treeViewer
            .getContentProvider();/*  w  w w  . j  a v a  2 s.  co m*/
    treeViewer.setContentProvider(fOtherContentProvider);

    treeViewer.refresh();
    if (fOtherExpandedElements != null) {
        treeViewer.setExpandedElements(fOtherExpandedElements);
    } else {
        treeViewer.expandAll();
    }

    // reveal selection
    Object selectedElement = getSelectedElement();
    if (selectedElement != null)
        getTreeViewer().reveal(selectedElement);
    else
        selectFirstMatch();

    treeViewer.getTree().setRedraw(true);

    fOtherContentProvider = contentProvider;
    fOtherExpandedElements = expandedElements;

    updateStatusFieldText();
}

From source file:it.eng.spagobi.meta.editor.business.actions.RefreshViewerAction.java

License:Mozilla Public License

@Override
public void run() {
    if (activeEditorPart instanceof IViewerProvider) {
        Viewer viewer = ((IViewerProvider) activeEditorPart).getViewer();
        if (viewer != null) {
            if (viewer instanceof TreeViewer) {
                TreeViewer treeViewer = (TreeViewer) viewer;

                Object[] elements = treeViewer.getExpandedElements();
                //               for(int i = 0; i < elements.length; i++) {
                //                  treeViewer.refresh(elements[i]);
                //                  if(elements[i] instanceof BusinessColumnFolderItemProvider) {
                //                     BusinessColumnFolderItemProvider bcfip = (BusinessColumnFolderItemProvider)elements[i];
                //                     treeViewer.setExpandedState(elements[i], true);                     
                //                  } else {
                //                     treeViewer.setExpandedState(elements[i], true);
                //                  }
                //               }
                //               
                treeViewer.refresh();/*  w  ww.j a  v  a  2  s.c  o m*/
                treeViewer.setExpandedElements(elements);
            } else {
                viewer.refresh();
            }
        }
    }
}

From source file:net.sourceforge.texlipse.outline.TexOutlinePage.java

License:Open Source License

/**
 * Updates the outline with new content. Called by TexDocumentModel
 * through the editor. Saves the visible state of the outline,
 * sets the new content and restores the state.
 *
 * @param input the new outline input/*  w  ww . j  a v a  2s  .c  o m*/
 */
public void update(TexOutlineInput input) {
    this.input = input;

    TreeViewer viewer = getTreeViewer();
    if (viewer != null) {

        Control control = viewer.getControl();
        if (control != null && !control.isDisposed()) {
            control.setRedraw(false);

            //First try smart update
            boolean succUpdate = ((TexContentProvider) viewer.getContentProvider()).updateElements(viewer,
                    input.getRootNodes());
            if (!succUpdate) {
                viewer.getTree().deselectAll();
                // save viewer state
                Object[] expandedElements = viewer.getExpandedElements();
                // set new input
                viewer.setInput(input.getRootNodes());
                /*viewer.getContentProvider().inputChanged(viewer, null, input.getRootNodes());
                viewer.refresh(true);*/
                // restore viewer state
                viewer.setExpandedElements(expandedElements);
            }
            control.setRedraw(true);

            // disable the refresh button, enable context stuff
            outlineActions.get(ACTION_UPDATE).setEnabled(false);
            outlineActions.get(ACTION_COPY).setEnabled(true);
            outlineActions.get(ACTION_CUT).setEnabled(true);
            outlineActions.get(ACTION_PASTE).setEnabled(true);
            outlineActions.get(ACTION_DELETE).setEnabled(true);
        }
    }
}

From source file:net.sourceforge.veditor.editor.HdlContentOutlinePage.java

License:Open Source License

/**
 * Searches for the given element and if found, makes it visible
 * @param element/*  w  w w .  j  a  v a2  s.  c o m*/
 */
public void showElement(OutlineElement element) {
    if (element == null)
        return;
    TreeViewer viewer = getTreeViewer();
    viewer.reveal(element);
    TreeItem[] treeItems = viewer.getTree().getItems();

    viewer.getControl().setRedraw(false);
    Object[] expandedElements = viewer.getExpandedElements();
    //force all the elements to be scanned in
    viewer.expandAll();
    viewer.setExpandedElements(expandedElements);
    viewer.getControl().setRedraw(true);

    for (TreeItem item : treeItems) {
        TreeItem target = findTreeItem(item, element);
        if (target != null) {
            viewer.getTree().setSelection(target);
            viewer.reveal(element);
            break;
        }
    }

}

From source file:net.sourceforge.veditor.editor.HdlContentOutlinePage.java

License:Open Source License

public void update() {
    TreeViewer viewer = getTreeViewer();

    if (viewer != null) {
        if (enableSort)
            viewer.setSorter(new Sorter());
        else//from   w ww  .j av  a 2s .c  o m
            viewer.setSorter(null);

        Control control = viewer.getControl();
        if (control != null && !control.isDisposed()) {
            Object expanded[] = viewer.getExpandedElements();
            control.setRedraw(false);
            viewer.setInput(editor.getDocument());
            if (expanded.length > 0) {
                viewer.setExpandedElements(expanded);
            } else {
                viewer.collapseAll();
            }
            control.setRedraw(true);
        }
    }
}

From source file:net.tourbook.ui.action.ActionCollapseOthers.java

License:Open Source License

@Override
public void run() {

    if (fTourViewer != null) {

        final ColumnViewer viewer = fTourViewer.getViewer();
        if (viewer instanceof TreeViewer) {

            final TreeViewer treeViewer = (TreeViewer) viewer;
            final Object firstElement = ((StructuredSelection) treeViewer.getSelection()).getFirstElement();

            if (firstElement != null) {

                final Tree tree = treeViewer.getTree();
                tree.setRedraw(false);/*w  w  w .j  a v  a  2 s .c  o m*/
                {
                    treeViewer.collapseAll();
                    treeViewer.setExpandedElements(new Object[] { firstElement });
                    treeViewer.setSelection(new StructuredSelection(firstElement), true);
                }
                tree.setRedraw(true);
            }
        }
    }
}

From source file:org.cs3.pdt.editor.internal.views.lightweightOutline.NonNaturePrologOutline.java

License:Open Source License

public void setInput(Object information) {
    if (model == null) {
        return;//from  w w w  .ja v  a 2  s.c  om
    }

    String fileName = editor.getPrologFileName();

    Map<String, OutlineModuleElement> modules;
    TreeViewer treeViewer = getTreeViewer();
    if (!fileName.isEmpty()) {
        Object[] expandedElements = null;
        try {
            modules = PDTOutlineQuery.getProgramElementsForFile(fileName);
            model.update(modules, fileName);

            expandedElements = treeViewer.getExpandedElements();
            treeViewer.setInput(model);
            treeViewer.setAutoExpandLevel(EXPANDING_LEVEL);

        } catch (Exception e) {
            Debug.report(e);
        }
        if (treeViewer != null) {
            treeViewer.refresh();
            if (expandedElements != null && expandedElements.length > 0) {
                treeViewer.setExpandedElements(expandedElements);
            }
        }
    }
}