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:net.sf.eclipsensis.wizard.NSISWizardContentsPage.java

License:Open Source License

private void editElement(Composite composite, TreeViewer tv, INSISInstallElement element) {
    try {//from   w  w  w. jav  a2  s  .  c  o m
        if (element.edit(mWizard)) {
            tv.refresh(element, true);
            if (element.hasChildren()) {
                tv.expandToLevel(element, AbstractTreeViewer.ALL_LEVELS);
            }
            setPageComplete(validatePage(VALIDATE_ALL));
        }
    } catch (Exception ex) {
        delayedValidateAfterError(ex.getLocalizedMessage(), 2000);
    }
}

From source file:net.sf.j2s.ui.property.J2SAddJarAction.java

License:Open Source License

public void widgetSelected(SelectionEvent e) {
    ViewerFilter filter = new ArchiveFilter(new ArrayList());
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    String rootPath = root.getLocation().toOSString();
    String rootTruePath = new File(rootPath).getAbsolutePath();
    String j2sPath = page.j2sFile.getAbsolutePath();
    String prjName = null;//from   www . j  a v a2  s  .c  om
    if (j2sPath.startsWith(rootTruePath)) {
        j2sPath = j2sPath.substring(rootTruePath.length());
        if (j2sPath.startsWith(File.separator)) {
            j2sPath = j2sPath.substring(1);
        }
        prjName = j2sPath.substring(0, j2sPath.indexOf(File.separatorChar));
    }
    final IProject project = (prjName != null) ? root.getProject(prjName) : null;
    ILabelProvider lp = new WorkbenchLabelProvider();
    ITreeContentProvider cp = new WorkbenchContentProvider();

    ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(e.display.getActiveShell(), lp, cp) {
        protected TreeViewer createTreeViewer(Composite parent) {
            TreeViewer treeViewer = super.createTreeViewer(parent);

            if (project != null) {
                treeViewer.setSelection(new StructuredSelection(project));
                treeViewer.expandToLevel(project, 2);
            }
            return treeViewer;
        }
    };
    dialog.setValidator(validator);
    dialog.setTitle("Java2Script Resources Selection"); //$NON-NLS-1$
    dialog.setMessage("Choose Java2Scrip resources (*.js and *.css)"); //$NON-NLS-1$
    dialog.addFilter(filter);
    dialog.setInput(root);
    dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));

    if (dialog.open() == Window.OK) {
        Object[] expandedElements = page.viewer.getExpandedElements();
        Object[] elements = dialog.getResult();
        boolean added = false;
        for (int i = 0; i < elements.length; i++) {
            IResource elem = (IResource) elements[i];
            IRuntimeClasspathEntry entry = JavaRuntime.newArchiveRuntimeClasspathEntry(elem);
            if (entry != null) {
                page.classpathModel.resources.add(entry);
                added = true;
            }
        }
        if (added) {
            ScrollBar bar = page.viewer.getTree().getVerticalBar();
            double selection = 0;
            if (bar != null) {
                selection = (0.0 + bar.getSelection()) / bar.getMaximum();
            }
            page.viewer.refresh();
            //viewer.expandToLevel(2);
            page.viewer.setExpandedElements(expandedElements);
            if (bar != null) {
                bar.setSelection((int) Math.round(selection * bar.getMaximum()));
            }
            page.updateButtonGroup();
            page.fireConfigModified();
        }
        //getViewer().addEntries(res);
    }
}

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

License:Open Source License

@Override
public void run() {

    if (_tourViewer == null) {
        return;// w w w.  j a  v  a2 s .c o m
    }

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

        final TreeViewer treeViewer = (TreeViewer) viewer;
        final ITreeSelection selection = (ITreeSelection) treeViewer.getSelection();

        if (selection.size() == 0) {
            return;
        }

        final Tree tree = treeViewer.getTree();
        tree.setRedraw(false);
        {
            for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) {
                treeViewer.expandToLevel(iterator.next(), _expandLevels);
            }
        }
        tree.setRedraw(true);
    }
}

From source file:org.agilereview.ui.basic.reviewExplorer.ViewController.java

License:Open Source License

/**
 * Helper method to expand or collapse (based on the current state) the given element of the given TreeViewer
 * @param treeViewer TreeViewer in which the element is displayed
 * @param element element to collapse/expand
 * @author Thilo Rauch (12.05.2012)//from ww w. j  a  va2s  .co  m
 */
private void expandOrCollapse(TreeViewer treeViewer, Object element) {
    if (treeViewer.getExpandedState(element)) {
        treeViewer.collapseToLevel(element, 1);
    } else {
        treeViewer.expandToLevel(element, 1);
    }
}

From source file:org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditorOutlinePage.java

License:Apache License

/**
 * {@inheritDoc}/*w  w  w  .java 2  s.  c o m*/
 */
public void createControl(Composite parent) {
    // Creating the composite and fake composite
    this.composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new FillLayout());
    this.fakeComposite = new Composite(parent, SWT.NONE);

    // Creating the No Outline composite
    noOutlineComposite = new Composite(composite, SWT.NONE);
    noOutlineComposite.setLayout(new FillLayout());

    Label label = new Label(noOutlineComposite, SWT.WRAP);
    label.setText(Messages.getString("EntryEditorOutlinePage.NoOutline")); //$NON-NLS-1$

    // Creating the Outline tree viewer
    super.createControl(parent);

    final TreeViewer treeViewer = getTreeViewer();
    treeViewer.setLabelProvider(new EntryEditorOutlineLabelProvider());
    treeViewer.setContentProvider(new EntryEditorOutlineContentProvider());

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) {
                if (getEntryEditorWidgetTreeViewerInput() != null) {
                    List<Object> selectionList = new ArrayList<Object>();

                    for (Object element : ((IStructuredSelection) event.getSelection()).toArray()) {
                        if (element instanceof IValue) {
                            // select the value
                            IValue value = (IValue) element;
                            selectionList.add(value);
                        } else if (element instanceof IAttribute) {
                            // select attribute and all values
                            IAttribute attribute = (IAttribute) element;
                            selectionList.add(attribute);
                            selectionList.addAll(Arrays.asList(attribute.getValues()));
                        } else if (element instanceof EntryWrapper) {
                            // select all attributes and values
                            IEntry entry = ((EntryWrapper) element).entry;
                            for (IAttribute attribute : entry.getAttributes()) {
                                selectionList.add(attribute);
                                selectionList.addAll(Arrays.asList(attribute.getValues()));
                            }
                        }
                    }

                    IStructuredSelection selection = new StructuredSelection(selectionList);
                    TreeViewer entryEditorWidgetTreeViewer = getEntryEditorWidgetTreeViewer();
                    if (entryEditorWidgetTreeViewer != null) {
                        entryEditorWidgetTreeViewer.setSelection(selection);
                    }
                }
            }
        }
    });

    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
                if (treeViewer.getExpandedState(obj)) {
                    treeViewer.collapseToLevel(obj, 1);
                } else if (((ITreeContentProvider) treeViewer.getContentProvider()).hasChildren(obj)) {
                    treeViewer.expandToLevel(obj, 1);
                }
            }
        }
    });

    this.refresh();
}

From source file:org.apache.directory.studio.ldifeditor.editor.LdifOutlinePage.java

License:Apache License

/**
 * {@inheritDoc}//from  ww  w. j  a  v a2s  .  c o  m
 */
public void createControl(Composite parent) {
    super.createControl(parent);

    final TreeViewer treeViewer = getTreeViewer();
    treeViewer.setLabelProvider(new LdifLabelProvider(ldifEditor, isLinkedToLdapBrowser));
    treeViewer.setContentProvider(new LdifContentProvider());

    if (isLinkedToLdapBrowser) {
        treeViewer.setAutoExpandLevel(2);
    }

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) {
                Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();

                if (element instanceof LdifRecord) {
                    LdifRecord ldifRecord = (LdifRecord) element;
                    ldifEditor.selectAndReveal(ldifRecord.getDnLine().getOffset(),
                            ldifRecord.getDnLine().getLength());
                } else if (element instanceof List) {
                    List<?> list = (List<?>) element;

                    if (!list.isEmpty() && list.get(0) instanceof LdifAttrValLine) {
                        LdifAttrValLine line = (LdifAttrValLine) list.get(0);
                        ldifEditor.selectAndReveal(line.getOffset(),
                                line.getRawAttributeDescription().length());
                    }
                } else if (element instanceof LdifAttrValLine) {
                    LdifAttrValLine line = (LdifAttrValLine) element;
                    ldifEditor.selectAndReveal(line.getOffset() + line.getRawAttributeDescription().length()
                            + line.getRawValueType().length(), line.getRawValue().length());
                } else if (element instanceof LdifModSpec) {
                    LdifModSpec modSpec = (LdifModSpec) element;
                    ldifEditor.selectAndReveal(modSpec.getOffset(), modSpec.getModSpecType().getLength());
                }
            }
        }
    });

    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
                if (treeViewer.getExpandedState(obj))
                    treeViewer.collapseToLevel(obj, 1);
                else if (((ITreeContentProvider) treeViewer.getContentProvider()).hasChildren(obj))
                    treeViewer.expandToLevel(obj, 1);
            }
        }
    });

    this.refresh();
}

From source file:org.bonitasoft.studio.configuration.ui.wizard.page.SelectProcessWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite mainComposite = new Composite(parent, SWT.NONE);
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).create());

    databindingContext = new DataBindingContext();

    final FilteredTree tree = new FilteredTree(mainComposite, SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE,
            new PatternFilter(), false);
    tree.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    TreeViewer viewer = tree.getViewer();
    viewer.setContentProvider(new ProcessContentProvider());
    viewer.setLabelProvider(new ProcessTreeLabelProvider());

    UpdateValueStrategy startegy = new UpdateValueStrategy();
    startegy.setBeforeSetValidator(new IValidator() {

        @Override/*from w  ww.  j  a  v a2s .  c om*/
        public IStatus validate(Object value) {
            if (value instanceof AbstractProcess && !(value instanceof MainProcess)) {
                return Status.OK_STATUS;
            }
            return ValidationStatus.error(Messages.mustSelectProcessError);
        }
    });

    if (diagram == null) {
        viewer.setInput(new Object[] { ProcessContentProvider.OTHER_PROCESSES });
    } else {
        viewer.setInput(new Object[] { diagram, ProcessContentProvider.OTHER_PROCESSES });
    }

    if (diagram != null) {
        if (((ITreeContentProvider) viewer.getContentProvider()).hasChildren(diagram)) {
            viewer.expandToLevel(diagram, 1);
        }
    } else {
        if (((ITreeContentProvider) viewer.getContentProvider())
                .hasChildren(ProcessContentProvider.OTHER_PROCESSES)) {
            viewer.expandToLevel(ProcessContentProvider.OTHER_PROCESSES, 1);
        }
    }

    WizardPageSupport.create(this, databindingContext);
    databindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer),
            PojoObservables.observeValue(this, "selection"), startegy, null);

    setControl(mainComposite);
}

From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes double-click support, expanding/collapsing nodes.
 *
 * @param treeViewer//from ww  w  .  java  2  s. c om
 *            tree viewer
 */
private void contributeDoubleClick(final TreeViewer treeViewer) {
    treeViewer.getTree().addMouseListener(new MouseAdapter() {
        public void mouseDoubleClick(MouseEvent event) {
            IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            Object element = selection.getFirstElement();
            if (treeViewer.isExpandable(element)) {
                if (treeViewer.getExpandedState(element)) {
                    treeViewer.collapseToLevel(element, 1);
                } else {
                    treeViewer.expandToLevel(element, 1);
                }
            }
        }
    });
}

From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes double-click support, expanding/collapsing nodes.
 * @param treeViewer tree viewer/* w w w.j a  v  a 2 s. c o  m*/
 */
private void contributeDoubleClick(final TreeViewer treeViewer) {
    treeViewer.getTree().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDoubleClick(final MouseEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            final Object element = selection.getFirstElement();
            if (treeViewer.isExpandable(element)) {
                if (treeViewer.getExpandedState(element)) {
                    treeViewer.collapseToLevel(element, 1);
                } else {
                    treeViewer.expandToLevel(element, 1);
                }
            }
        }
    });
}

From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java

License:Open Source License

/**
 * Sets selections for the specified tree viewer and optionally makes it
 * visible.//from  ww w  .java 2 s  .c  om
 * 
 * @param treeViewer
 *            the specified tree viewer to select.
 * @param paths
 *            the specified paths to select.
 */
public void selectPath(final String[] paths, final boolean forceRefresh) {
    if (paths == null || paths.length <= 0) {
        return;
    }

    Display display = getSite().getShell().getDisplay();

    display.asyncExec(new Runnable() {

        public void run() {
            TreeViewer treeViewer = getTreeViewer();
            boolean needSelect = false;

            if (forceRefresh) {
                refreshRoot();
            }

            for (String path : paths) {
                File file = new File(path);

                if (!file.exists()) {
                    continue;
                }

                needSelect = true;
                String parent = file.getParent();
                List<String> folders = new ArrayList<String>();

                while (parent != null) {
                    folders.add(parent);
                    parent = new File(parent).getParent();
                }

                for (int i = folders.size() - 1; i >= 0; i--) {
                    treeViewer.expandToLevel(folders.get(i), 1);
                }
            }
            if (needSelect) {
                treeViewer.setSelection(new StructuredSelection(paths));
                treeViewer.reveal(paths[0]);
            }
        }
    });
}