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

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

Introduction

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

Prototype

public Object[] getExpandedElements() 

Source Link

Document

Returns a list of elements corresponding to expanded nodes in this viewer's tree, including currently hidden ones that are marked as expanded but are under a collapsed ancestor.

Usage

From source file:com.nokia.carbide.cpp.internal.project.ui.views.SymbianProjectNavigatorView.java

License:Open Source License

public void setWorkingSet(IWorkingSet workingSet) {
    TreeViewer treeViewer = getViewer();
    Object[] expanded = treeViewer.getExpandedElements();
    ISelection selection = treeViewer.getSelection();

    workingSetFilter.setWorkingSet(workingSet);

    treeViewer.refresh();/* w ww .  j a va 2 s  .c om*/
    treeViewer.setExpandedElements(expanded);
    if (selection.isEmpty() == false && selection instanceof IStructuredSelection) {
        IStructuredSelection structuredSelection = (IStructuredSelection) selection;
        treeViewer.reveal(structuredSelection.getFirstElement());
    }
}

From source file:com.reprezen.swagedit.core.editor.outline.JsonContentOutlinePage.java

License:Open Source License

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

    if (document instanceof JsonDocument) {
        final Model model = ((JsonDocument) document).getModel();
        if (model == null) {
            return;
        }//w  w  w .  j a v  a 2  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()) {
                List<AbstractNode> newElements = new ArrayList<>();
                model.allNodes().forEach(node -> {
                    if (elements.contains(node))
                        newElements.add(node);
                });
                viewer.setExpandedElements(newElements.toArray());
            }
        }
    }
}

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;
        }/* w ww .j av a 2 s  .com*/

        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.tests.outline.AbstractOutlineWorkbenchTest.java

License:Open Source License

protected void assertExpanded(TreeViewer aTreeViewer, IOutlineNode... expectedExpansion) {
    Object[] expandedElements = aTreeViewer.getExpandedElements();
    assertEquals(expectedExpansion.length, expandedElements.length);
    OUTER: for (Object expandedObject : expandedElements) {
        assertTrue(expandedObject instanceof IOutlineNode);
        for (IOutlineNode expectedExpanded : expectedExpansion) {
            if (nodeComparer.equals((IOutlineNode) expandedObject, expectedExpanded))
                continue OUTER;
        }/* w w w.  ja va 2  s. c  o m*/
        fail("Unexpected expansion" + expandedObject.toString());
    }
}

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);//  ww  w. j av  a  2s .co m
        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  w  w.j av a2  s.  c  o m
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  . jav  a2  s . c  o 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();/*  ww  w. ja v  a  2s  .  c om*/
                treeViewer.setExpandedElements(elements);
            } else {
                viewer.refresh();
            }
        }
    }
}

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

License:Mozilla Public License

public void refreshViewer() {
    if (currentViewer != null) {
        // currentViewer.refresh();
        if (currentViewer instanceof TreeViewer) {
            TreeViewer treeViewer = (TreeViewer) currentViewer;
            Object[] elements = treeViewer.getExpandedElements();
            treeViewer.refresh();//  w  w  w. j  a  v  a2 s .  co  m
            for (Object element : elements) {
                treeViewer.setExpandedState(element, true);
            }
            // treeViewer.setExpandedElements(elements);
        }
    } else {
        // if there are no viewer set current viewer to the modelTreeViewer and refresh it
        if (modelTreeViewer != null) {
            setCurrentViewer(modelTreeViewer);
            refreshViewer();
        }
    }

}

From source file:it.eng.spagobi.meta.editor.physical.PhysicalModelEditor.java

License:Mozilla Public License

public void refreshViewer() {
    if (currentViewer != null) {
        // currentViewer.refresh();
        if (currentViewer instanceof TreeViewer) {
            TreeViewer treeViewer = (TreeViewer) currentViewer;
            Object[] elements = treeViewer.getExpandedElements();
            treeViewer.refresh();/*from   w  w w  . ja v  a 2  s  . c  o  m*/
            for (Object element : elements) {
                treeViewer.setExpandedState(element, true);
            }
            // treeViewer.setExpandedElements(elements);
        }
    } else {
        // if there are no viewer set current viewer to the modelTreeViewer and refresh it
        if (selectionViewer != null) {
            setCurrentViewer(selectionViewer);
            refreshViewer();
        }
    }

}