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

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

Introduction

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

Prototype

public void setExpandedElements(Object... elements) 

Source Link

Document

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

Usage

From source file:org.fusesource.ide.foundation.ui.util.Nodes.java

License:Open Source License

public static void selectPath(Viewer viewer, Node root, LinkedList<String> path) {
    List<Node> nodes = new ArrayList<Node>();
    Node node = root;// ww w .j  a  v  a  2 s  .com
    nodes.add(node);
    for (String text : path) {
        node = findChild(node, text);
        if (node == null) {
            break;
        } else {
            nodes.add(node);
        }
    }
    if (node != null && viewer instanceof AbstractTreeViewer) {
        AbstractTreeViewer tv = (AbstractTreeViewer) viewer;
        Object[] expandElements = nodes.toArray();
        tv.setExpandedElements(expandElements);
        /*
        TreePath[] expandedTreePaths = tv.getExpandedTreePaths();
        boolean found = false;
        if (expandElements.length > 0) {
           Object expandRoot = expandElements[0];
           for (TreePath treePath : expandedTreePaths) {
              int count = treePath.getSegmentCount();
              for (int i = 0; i < count; i++) {
          Object first = treePath.getSegment(i);
          if (first == expandRoot) {
             // TODO do we need to add the previous nodes?
             found = true;
          }
                
              }
           }
        }
        if (!found) {
           Activator.getLogger().debug("Could not find root expanded path!!");
        }
         */
        tv.setSelection(new StructuredSelection(node));
    }
}

From source file:org.fusesource.ide.foundation.ui.util.Viewers.java

License:Open Source License

public static void addExpanded(Viewer viewer, final Object... expanded) {
    if (viewer instanceof AbstractTreeViewer) {
        final AbstractTreeViewer cv = (AbstractTreeViewer) viewer;
        Object[] expandedElements = cv.getExpandedElements();
        List<Object> list = new ArrayList<>();
        if (expandedElements != null) {
            list.addAll(Arrays.asList(expandedElements));
        }// ww  w  .j  a v a 2s . c  o  m
        list.addAll(Arrays.asList(expanded));
        cv.setExpandedElements(expanded);
    }
}