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

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

Introduction

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

Prototype

public void expandToLevel(int level, boolean disableRedraw) 

Source Link

Document

Expands the root of the viewer's tree to the given level.

Usage

From source file:edu.harvard.i2b2.eclipse.plugins.ontology.views.edit.TreeNode.java

License:Open Source License

public void getCategories(TreeViewer viewer, NodeBrowser browser) {
    final TreeNode theRoot = this;
    final TreeViewer theViewer = viewer;
    final Display theDisplay = Display.getCurrent();

    try {/*w ww . j a  va 2  s. c  o  m*/
        theRoot.updateCategories(theDisplay, theViewer);
        theViewer.expandToLevel(theRoot, 1);
        theViewer.refresh(theRoot);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        log.error(e.getMessage());
    }

}

From source file:edu.harvard.i2b2.eclipse.plugins.ontology.views.TreeNode.java

License:Open Source License

public void getCategories(TreeViewer viewer, NodeBrowser browser) {
    final TreeNode theRoot = this;
    final TreeViewer theViewer = viewer;
    final Display theDisplay = Display.getCurrent();

    try {//from w ww .  j av a  2  s  .c om
        //            log.info("calling updateCategories");
        theRoot.updateCategories(theDisplay, theViewer);
        theViewer.expandToLevel(theRoot, 1);
        theViewer.refresh(theRoot);
        //            Long time = System.currentTimeMillis();
        //            log.info("Done refreshing " + time);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        log.error(e.getMessage());
    }

}

From source file:edu.harvard.i2b2.eclipse.plugins.ontology.views.TreeNode.java

License:Open Source License

public Thread expandFindTree(TreeViewer viewer, String[] parts, String parent) {
    final TreeNode theNode = this;
    final TreeViewer theViewer = viewer;
    final String[] theParts = parts;
    final Display theDisplay = PlatformUI.getWorkbench().getDisplay();

    return new Thread() {
        @Override/* ww w. ja v a 2s . co  m*/
        public void run() {
            try {
                //   String parent = theParent;
                TreeNode treeNode = theNode;
                String compare = "\\";
                for (int i = 1; i < theParts.length; i++) {
                    compare += theParts[i] + "\\";
                    List<TreeNode> nodes = treeNode.getChildren();
                    Iterator<TreeNode> it = nodes.iterator();
                    while (it.hasNext()) {
                        TreeNode node = (TreeNode) it.next();

                        if (StringUtil.getPath(node.getData().getFullName()).equals(compare)) {
                            treeNode = node;
                            RefreshNode.getInstance().setRefreshNode(treeNode);
                            RefreshNode.getInstance().setLevel(i);
                            if ((node.getChildren().isEmpty())
                                    || (node.getChildren().get(0).getData().getName().equals("working..."))) {
                                //   node.setOpen(true);
                                node.getChildren().clear();
                                treeNode.updateModifiers(theDisplay, theViewer);
                                treeNode.updateChildren(theDisplay, theViewer);
                            }
                            break;
                        }
                    }
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                //            System.setProperty("statusMessage", e.getMessage());               
            }
            theDisplay.syncExec(new Runnable() {
                public void run() {
                    theViewer.collapseAll();
                    theViewer.expandToLevel(RefreshNode.getInstance().getRefreshNode(), 1);
                    theViewer.setSelection(new StructuredSelection(RefreshNode.getInstance().getRefreshNode()),
                            true);
                    theViewer.getTree().setEnabled(true);
                }

            });
        }
    };
}

From source file:edu.harvard.i2b2.eclipse.plugins.workplace.views.find.TreeNode.java

License:Open Source License

public void getHomeFolders(TreeViewer viewer) {
    final TreeNode theRoot = this;
    final TreeViewer theViewer = viewer;
    final Display theDisplay = Display.getCurrent();

    try {/* w w w.java 2  s.  com*/
        theRoot.updateFolders(theDisplay, theViewer);
        theViewer.expandToLevel(theRoot, 1);
        theViewer.refresh(theRoot);
    } catch (Exception e) {
        log.error(e.getMessage());
    }

}

From source file:ext.org.eclipse.jdt.internal.ui.workingsets.JavaWorkingSetPage.java

License:Open Source License

/**
 * {@inheritDoc}/*from w  ww  . ja va  2s. com*/
 */
@Override
protected void configureTree(TreeViewer tree) {
    tree.setContentProvider(new JavaWorkingSetPageContentProvider());

    AppearanceAwareLabelProvider javaElementLabelProvider = new AppearanceAwareLabelProvider(
            AppearanceAwareLabelProvider.DEFAULT_TEXTFLAGS | JavaElementLabels.P_COMPRESSED,
            AppearanceAwareLabelProvider.DEFAULT_IMAGEFLAGS | JavaElementImageProvider.SMALL_ICONS);

    tree.setLabelProvider(new DecoratingJavaLabelProvider(javaElementLabelProvider));
    tree.setComparator(new JavaElementComparator());
    tree.addFilter(new EmptyInnerPackageFilter());

    tree.setInput(JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()));

    if (getSelection() == null)
        return;

    Object[] selection = getInitialTreeSelection();
    if (selection.length > 0) {
        try {
            tree.getTree().setRedraw(false);

            for (int i = 0; i < selection.length; i++) {
                tree.expandToLevel(selection[i], 0);
            }
            tree.setSelection(new StructuredSelection(selection));
        } finally {
            tree.getTree().setRedraw(true);
        }
    }
}

From source file:gov.nasa.ensemble.core.activityDictionary.view.DefinitionTreeView.java

License:Open Source License

/**
 * A heuristic for determining how much information to show in this view. If
 * nodes of the tree have an excessively large number of children then it
 * may not always be ideal to display all the children by default. This
 * method attempts to display a reasonable amount of information to the
 * user./*  w ww .  j  a  v a 2  s  .c om*/
 * 
 * @param treeViewer
 */
protected void applyExpandHeuristic(TreeViewer treeViewer) {
    ITreeContentProvider cp = (ITreeContentProvider) treeViewer.getContentProvider();

    Object[] rootChildren = cp.getElements(null);
    if (rootChildren.length == 0)
        return;
    Object root = cp.getParent(rootChildren[0]);

    FindFilter filter = new FindFilter();

    Object children[] = filter.filter(treeViewer, root, rootChildren);
    if (children.length == 1) {
        treeViewer.expandAll();
        return;
    }

    int totalChildren = 0;
    for (int i = 0; i < 25 && i < children.length; i++) {
        totalChildren += filter.filter(treeViewer, children[i], cp.getChildren(children[i])).length;
    }

    if (totalChildren > 25) {
        treeViewer.collapseAll();
        treeViewer.expandToLevel(root, 1);
    } else {
        treeViewer.expandAll();
    }
}

From source file:info.vancauwenberge.designer.enhtrace.viewer.outline.LogMessageOutlinePage.java

License:Mozilla Public License

public void setSelection(IStructuredSelection selection) {
    //super.setSelection(selection);
    Object selected = selection.getFirstElement();
    if (selected != null && selected instanceof ILogMessageProvider) {
        final ILogMessageProvider provider = (ILogMessageProvider) selected;
        //TODO: this does not seem to work :-(
        System.out.println("Outline: setting focus on " + selected);
        System.out.println("Outline: setting focus on " + provider.getLogMessage());
        TreeViewer viewer = getTreeViewer();
        viewer.setSelection(new IStructuredSelection() {

            @Override/* ww  w. j  a v a2 s .  co  m*/
            public boolean isEmpty() {
                return false;
            }

            @Override
            public List<?> toList() {
                List<ILogMessage> result = new ArrayList<ILogMessage>(1);
                result.add(provider.getLogMessage());
                return result;
            }

            @Override
            public Object[] toArray() {
                return new Object[] { provider.getLogMessage() };
            }

            @Override
            public int size() {
                return 1;
            }

            @Override
            public Iterator<?> iterator() {
                return toList().iterator();
            }

            @Override
            public Object getFirstElement() {
                return provider.getLogMessage();
            }
        }, true);
        viewer.expandToLevel(provider.getLogMessage(), 1);
        //viewer.reveal(provider.getLogMessage());
    }
}

From source file:msi.gama.lang.gaml.web.workspace.ui.GamlWorkspaceNavigator.java

License:Open Source License

@Override
protected void handleDoubleClick(DoubleClickEvent anEvent) {
    // TODO Auto-generated method stub
    //      super.handleDoubleClick(anEvent);

    IAction openHandler = getViewSite().getActionBars()
            .getGlobalActionHandler("org.eclipse.ui.actionSet.openFiles");
    if (openHandler == null) {
        IStructuredSelection selection = (IStructuredSelection) anEvent.getSelection();
        Object element = selection.getFirstElement();
        if (element instanceof File && !(element instanceof GDriveFile)) {
            final File file = (File) element;
            if (file.exists() && !file.isDirectory()) {
                final Display display = PlatformUI.getWorkbench().getDisplay();
                display.asyncExec(new Runnable() {
                    @Override/*from   w ww  .  j a  va  2s .c o m*/
                    public void run() {
                        // Double click a file
                        System.out.println(
                                " -->-->- Trying to connect to etherpad. From " + getClass().toString());
                        //EPLiteClient epClient = new EPLiteClient("http://localhost:9001", "ea45b73fbcba78e79125835624433e291c7ca2418b93d7cc14964bc7abc4e6f4");
                        EPLiteClient epClient = new EPLiteClient("http://localhost:9001",
                                "f9bc87f2c982e38848b84fd3f2c44ce61945a4796b7b18b3a49d59972c52d4f2");

                        // Create pad and set text
                        //client.createPad("my_pad");
                        //client.setText("my_pad", "foo!!");

                        // Get pad text

                        // ---------------------
                        //            IEditorRegistry editorRegistry = PlatformUI.getWorkbench().getEditorRegistry();
                        //            IEditorDescriptor ed = editorRegistry.findEditor("ummisco.gama.participative.EtherPadEditor");
                        //   EtherPadEditor ethEditor = new EtherPadEditor();
                        //   ethEditor.createPartControl(compo);

                        //   editorRegistry.setDefaultEditor(new Path(absolutePath), "ummisco.gama.participative.EtherPadEditor");
                        //            System.out.println(" ---> Il exite bien: " +ed.getId());
                        //   editorRegistry.getDefaultEditor(new Path(absolutePath), "ummisco.gama.participative.EtherPadEditor");
                        // --------------------

                        //   String uid=RWT.getUISession().getAttribute("user").toString();
                        String absolutePath = file.getAbsolutePath();
                        IWorkbench workbench = PlatformUI.getWorkbench();

                        //      if (EditorUtil.openEditor(workbench, new Path(absolutePath)) != null) {
                        //      if (EtherpadEditorUtil.openFormEditor(workbench, new Path(absolutePath)) != null) {
                        if (EtherpadEditorUtil.openEditor(workbench, new Path(absolutePath)) != null) {
                            //                        logger.info("Double click on file " + absolutePath);

                            System.out.println(" -->-->- Going to sleep before opening other editor ");

                            //      try { Thread.sleep(10000); } catch (InterruptedException e1) { e1.printStackTrace(); }

                            //      EditorUtil.openEditor(workbench, new Path(absolutePath)) ;
                            //      EtherpadEditorUtil.openEditor(workbench, new Path(absolutePath)) ;
                            System.out.println(" -->-->- Open an editor  ");

                            try {
                                String content = new String(
                                        Files.readAllBytes(Paths.get(file.getAbsolutePath())));
                                //System.out.println(" -> Double click on file: " +content);
                                Map padList = epClient.listAllPads();

                                String value = (String) padList.get(file.getName());
                                if (value != null) {
                                    epClient.deletePad(file.getName());
                                } else {
                                    epClient.createPad(file.getName());
                                    epClient.setText(file.getName(), content);
                                }

                                //   xcv
                                String text = epClient.getText(file.getName()).get("text").toString();
                                System.out.println(" The pad content is :" + text);
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }

                        }
                        workspaceChanged(null);
                    }
                });

            } else if (file.exists() && file.isDirectory()) {
                // Double click a folder
                Object eventSource = anEvent.getSource();
                if (eventSource instanceof TreeViewer) {
                    TreeViewer treeViewer = (TreeViewer) eventSource;
                    Widget widget = treeViewer.testFindItem(file);
                    if (widget != null && widget instanceof TreeItem) {
                        TreeItem item = (TreeItem) widget;
                        boolean toExpand = !item.getExpanded();
                        item.setExpanded(toExpand);
                        if (toExpand) {
                            treeViewer.expandToLevel(item, 0);
                        } else {
                            treeViewer.collapseToLevel(item, 0);
                        }
                        treeViewer.refresh(item.getData());
                    }
                }
            }
        } else if (element instanceof GDriveFile) {
            final GDriveFile file = (GDriveFile) element;
            if (!file.isDirectory()) {//file.exists() &&
                final Display display = PlatformUI.getWorkbench().getDisplay();
                display.asyncExec(new Runnable() {
                    @Override
                    public void run() {
                        // Double click a file 
                        // Add here the code to insert the file in the dataBase. 
                        EPLiteClient client = new EPLiteClient("http://localhost:9001",
                                "K8OF91QMQYUvrNu3e9rJ7FnnVgaB3m9q");
                        //                     
                        // Create pad and set text
                        //client.createPad("my_pad");
                        //client.setText("my_pad", "foo!!");

                        // Get pad text
                        String text = client.getText("SKLAB").get("text").toString();

                        System.out.println(" The pad content is :" + text);
                        // Get list of all pad ids
                        //   Map result = client.listAllPads();
                        //   List padIds = (List) result.get("padIDs");

                        Export s;
                        try {
                            //                        s = GamaFileSystemContentProvider.drive.files().export(file.id, "text/plain");
                            InputStream in = downloadFile(GamaFileSystemContentProvider.drive, file);//s.executeMediaAsInputStream();

                            File targetFile = new File(file.getPath());
                            OutputStream outStream = new FileOutputStream(targetFile);

                            int read = 0;
                            byte[] bytes = new byte[1024];

                            while ((read = in.read(bytes)) != -1) {
                                outStream.write(bytes, 0, read);
                            }
                            outStream.close();
                            in.close();
                            /*
                            InputStreamReader isr=new InputStreamReader(in);
                            BufferedReader br = new BufferedReader(isr);
                            String line = null;
                                    
                            StringBuilder responseData = new StringBuilder();
                            while((line = br.readLine()) != null) {
                              responseData.append(line);
                            }
                            System.out.println(responseData);*/
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

                        updateFile(GamaFileSystemContentProvider.drive, file.getId(), file.getTitle(),
                                file.getDescription(), file.getMimeType(), file.getPath(), true);
                        String absolutePath = file.getPath();//file.getAbsolutePath();
                        IWorkbench workbench = PlatformUI.getWorkbench();
                        if (GamlEditorUtil.openEditor(workbench, new Path(absolutePath)) != null) {
                            //                        logger.info("Double click on file " + absolutePath);
                        }
                        //                     workspaceChanged(null);
                    }
                });

            } else {//if (file.exists() && file.isDirectory()) {
                // Double click a folder
                Object eventSource = anEvent.getSource();
                if (eventSource instanceof TreeViewer) {
                    TreeViewer treeViewer = (TreeViewer) eventSource;
                    Widget widget = treeViewer.testFindItem(file);
                    if (widget != null && widget instanceof TreeItem) {
                        TreeItem item = (TreeItem) widget;
                        boolean toExpand = !item.getExpanded();
                        item.setExpanded(toExpand);
                        if (toExpand) {
                            treeViewer.expandToLevel(item, 0);
                        } else {
                            treeViewer.collapseToLevel(item, 0);
                        }
                        treeViewer.refresh(item.getData());
                    }
                }
            }
        }
    }
}

From source file:net.openchrom.msd.identifier.supplier.opentyper.ui.views.AbstractSupplierMassSpectrumFileExplorer.java

License:Open Source License

private void expandLastDirectoryPath(TreeViewer treeViewer) {

    /*//from w  w w .  j  a v  a2 s  .  c  o  m
     * Get the specific directory path.
     */
    String directoryPath = "";
    if (treeViewer == drivesTreeViewer) {
        directoryPath = PreferenceSupplier.getSelectedDrivePath();
    } else if (treeViewer == homeTreeViewer) {
        directoryPath = PreferenceSupplier.getSelectedHomePath();
    } else if (treeViewer == userLocationTreeViewer) {
        directoryPath = PreferenceSupplier.getSelectedUserLocationPath();
    }
    //
    File elementOrTreePath = new File(directoryPath);
    if (elementOrTreePath.exists()) {
        treeViewer.expandToLevel(elementOrTreePath, 1);
    }
}

From source file:net.sf.eclipsensis.dialogs.FileSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite parent2 = (Composite) super.createDialogArea(parent);
    Composite composite = new Composite(parent2, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout(1, true);
    composite.setLayout(layout);//from w  ww.j ava  2 s.  c  om

    SashForm form = new SashForm(composite, SWT.HORIZONTAL);
    form.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    layout = new GridLayout(1, true);
    form.setLayout(layout);

    composite = new Composite(form, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    layout = new GridLayout(1, true);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);

    Label l = new Label(composite, SWT.NONE);
    l.setText(EclipseNSISPlugin.getResourceString("fileselection.parent.folder.label")); //$NON-NLS-1$
    l.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    Tree tree = new Tree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.widthHint = VIEWER_WIDTH;
    gridData.heightHint = VIEWER_HEIGHT;
    tree.setLayoutData(gridData);
    final TreeViewer tv = new TreeViewer(tree);
    tv.setContentProvider(new ContainerContentProvider());
    tv.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    tv.setSorter(new ViewerSorter());

    composite = new Composite(form, SWT.None);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    layout = new GridLayout(1, true);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);

    l = new Label(composite, SWT.NONE);
    l.setText(EclipseNSISPlugin.getResourceString("fileselection.file.label")); //$NON-NLS-1$
    l.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    Table table = new Table(composite,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.widthHint = VIEWER_WIDTH;
    gridData.heightHint = VIEWER_HEIGHT;
    table.setLayoutData(gridData);
    table.setLinesVisible(false);
    final TableViewer tv2 = new TableViewer(table);
    tv2.setContentProvider(new FilesContentProvider());
    tv2.setLabelProvider(new FilesLabelProvider());
    tv2.setSorter(new ViewerSorter());
    if (mFilter != null) {
        tv2.addFilter(new ViewerFilter() {
            @Override
            public boolean select(Viewer viewer, Object parentElement, Object element) {
                return mFilter.select(element);
            }
        });
    }

    tv.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            tv2.setInput(selection.getFirstElement()); // allow null
        }
    });
    tv.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection).getFirstElement();
                if (tv.getExpandedState(item)) {
                    tv.collapseToLevel(item, 1);
                } else {
                    tv.expandToLevel(item, 1);
                }
            }
        }
    });

    tv2.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection != null && !selection.isEmpty()) {
                mFile = (IFile) selection.getFirstElement();
            } else {
                mFile = null;
            }
            Button button = getButton(IDialogConstants.OK_ID);
            if (button != null) {
                button.setEnabled(selection != null && !selection.isEmpty());
            }
        }
    });
    tv2.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (mFile != null) {
                setReturnCode(Window.OK);
                close();
            }
        }
    });

    tv.setInput(ResourcesPlugin.getWorkspace());
    if (mContainer != null) {
        tv.setSelection(new StructuredSelection(mContainer));
        if (mFile != null) {
            tv2.setSelection(new StructuredSelection(mFile));
        } else {
            tv2.setSelection(new StructuredSelection());
        }
    }
    return parent2;
}