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

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

Introduction

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

Prototype

@Override
    public boolean isExpandable(Object element) 

Source Link

Usage

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 ww  . jav a2  s .  c om
 */
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

/**
 * Handles a double-click event from the viewer.
 * //from  w  w w.j ava  2s. com
 * @param event
 *            the double-click event
 */
protected void handleDoubleClick(DoubleClickEvent event) {
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    Object element = selection.getFirstElement();
    TreeViewer viewer = getTreeViewer();

    if (element instanceof ResourceEntryWrapper) {
        switch (((ResourceEntryWrapper) element).getType()) {
        case ResourceEntryWrapper.LIBRARY:
            return;

        case ResourceEntryWrapper.CSS_STYLE_SHEET:
        default:
            break;
        }
    }

    if (viewer.isExpandable(element)) {
        viewer.setExpandedState(element, !viewer.getExpandedState(element));
    }
}

From source file:org.eclipse.dltk.internal.ui.scriptview.ScriptExplorerActionGroup.java

License:Open Source License

protected void handleDoubleClick(DoubleClickEvent event) {
    TreeViewer viewer = fPart.getTreeViewer();
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    Object element = selection.getFirstElement();
    if (viewer.isExpandable(element)) {
        if (doubleClickGoesInto()) {
            // don't zoom into compilation units and class files
            if (element instanceof ISourceModule)
                return;
            if (element instanceof IOpenable || element instanceof IContainer
                    || element instanceof IWorkingSet) {
                fZoomInAction.run();/* ww w.  ja v  a 2 s .  co m*/
            }
        } else {
            IAction openAction = fNavigateActionGroup.getOpenAction();
            if (openAction != null && openAction.isEnabled()
                    && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK)
                return;
            if (selection instanceof ITreeSelection) {
                TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element);
                for (int i = 0; i < paths.length; i++) {
                    viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i]));
                }
            } else {
                viewer.setExpandedState(element, !viewer.getExpandedState(element));
            }
        }
    } else if (element instanceof IProject && !((IProject) element).isOpen()) {
        OpenProjectAction openProjectAction = fProjectActionGroup.getOpenProjectAction();
        if (openProjectAction.isEnabled()) {
            openProjectAction.run();
        }
    }
}

From source file:org.eclipse.dltk.mod.internal.ui.scriptview.ScriptExplorerActionGroup.java

License:Open Source License

void handleDoubleClick(DoubleClickEvent event) {
    TreeViewer viewer = fPart.getTreeViewer();
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    Object element = selection.getFirstElement();
    if (viewer.isExpandable(element)) {
        if (doubleClickGoesInto()) {
            // don't zoom into compilation units and class files
            if (element instanceof ISourceModule)
                return;
            if (element instanceof IOpenable || element instanceof IContainer
                    || element instanceof IWorkingSet) {
                fZoomInAction.run();//from w  ww  .ja va  2 s  .  c  o m
            }
        } else {
            IAction openAction = fNavigateActionGroup.getOpenAction();
            if (openAction != null && openAction.isEnabled()
                    && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK)
                return;
            if (selection instanceof ITreeSelection) {
                TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element);
                for (int i = 0; i < paths.length; i++) {
                    viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i]));
                }
            } else {
                viewer.setExpandedState(element, !viewer.getExpandedState(element));
            }
        }
    }
}

From source file:org.eclipse.dltk.mod.ui.browsing.MembersView.java

License:Open Source License

protected void hookViewerListeners() {
    super.hookViewerListeners();
    getViewer().addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = (TreeViewer) getViewer();
            Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (viewer.isExpandable(element))
                viewer.setExpandedState(element, !viewer.getExpandedState(element));
        }//from  www  .ja  v a2s . c o m
    });
}

From source file:org.eclipse.dltk.mod.ui.browsing.ProjectsView.java

License:Open Source License

/**
 * Adds additional listeners to this view.
 *///from   w w  w . ja  va 2 s . c  o m
protected void hookViewerListeners() {
    super.hookViewerListeners();
    getViewer().addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = (TreeViewer) getViewer();
            Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (viewer.isExpandable(element))
                viewer.setExpandedState(element, !viewer.getExpandedState(element));
        }
    });
}

From source file:org.eclipse.e4.demio.views.nav.ResourceNavigator.java

License:Open Source License

/**
 * Handles a double-click event from the viewer.
 * Expands or collapses a folder when double-clicked.
 * //w w  w  .jav a2 s .c  o  m
 * @param event the double-click event
 * @since 2.0
 */
protected void handleDoubleClick(DoubleClickEvent event) {
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    Object element = selection.getFirstElement();

    // 1GBZIA0: ITPUI:WIN2000 - Double-clicking in navigator should expand/collapse containers
    TreeViewer viewer = getTreeViewer();
    if (viewer.isExpandable(element)) {
        viewer.setExpandedState(element, !viewer.getExpandedState(element));
    } else if (selection.size() == 1 && (element instanceof IResource)
            && ((IResource) element).getType() == IResource.PROJECT) {
        OpenResourceAction ora = new OpenResourceAction(getSite());
        ora.selectionChanged((IStructuredSelection) viewer.getSelection());
        if (ora.isEnabled()) {
            ora.run();
        }
    }

}

From source file:org.eclipse.ecf.ui.wizards.ConfigurationWizardSelectionPage.java

License:Open Source License

protected void treeDoubleClicked(DoubleClickEvent event) {
    ISelection selection = event.getViewer().getSelection();
    IStructuredSelection ss = (IStructuredSelection) selection;
    listSelectionChanged(ss);/*from  ww  w  . j a  va  2  s. c o m*/

    Object element = ss.getFirstElement();
    TreeViewer v = (TreeViewer) event.getViewer();
    if (v.isExpandable(element)) {
        v.setExpandedState(element, !v.getExpandedState(element));
    } else if (element instanceof WorkbenchWizardElement) {
        if (canFlipToNextPage()) {
            getContainer().showPage(getNextPage());
        }
    }
    getContainer().showPage(getNextPage());
}

From source file:org.eclipse.imp.ui.explorer.ProjectExplorerActionGroup.java

License:Open Source License

void handleDoubleClick(DoubleClickEvent event) {
    TreeViewer viewer = fPart.getViewer();
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    Object element = selection.getFirstElement();
    if (viewer.isExpandable(element)) {
        if (doubleClickGoesInto()) {
            // don't zoom into compilation units and class files
            if (element instanceof ICompilationUnit || element instanceof IClassFile)
                return;
            if (element instanceof IOpenable || element instanceof IContainer
                    || element instanceof IWorkingSet) {
                fZoomInAction.run();/*from   w w  w. ja  v a 2 s  . co m*/
            }
        } else {
            IAction openAction = fNavigateActionGroup.getOpenAction();
            if (openAction != null && openAction.isEnabled()
                    && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK)
                return;
            if (selection instanceof ITreeSelection) {
                TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element);
                for (int i = 0; i < paths.length; i++) {
                    viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i]));
                }
            } else {
                viewer.setExpandedState(element, !viewer.getExpandedState(element));
            }
        }
    }
}

From source file:org.eclipse.launchbar.ui.internal.target.NewLaunchTargetWizardNewPage.java

License:Open Source License

/**
 * Create a new FilteredTree in the parent.
 *
 * @param parent the parent <code>Composite</code>.
 * @since 3.0//from ww w.  jav  a  2 s  .co  m
 */
protected FilteredTree createFilteredTree(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.widthHint = SIZING_VIEWER_WIDTH;
    data.horizontalSpan = 2;
    data.grabExcessHorizontalSpace = true;
    data.grabExcessVerticalSpace = true;
    boolean needsHint = DialogUtil.inRegularFontMode(parent);
    //Only give a height hint if the dialog is going to be too small
    if (needsHint) {
        data.heightHint = SIZING_LISTS_HEIGHT;
    }
    composite.setLayoutData(data);
    filteredTreeFilter = new WizardPatternFilter();
    FilteredTree filterTree = new FilteredTree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER,
            filteredTreeFilter, true);
    filterTree.setQuickSelectionMode(true);
    final TreeViewer treeViewer = filterTree.getViewer();
    treeViewer.setContentProvider(new WizardContentProvider());
    treeViewer.setLabelProvider(new WorkbenchLabelProvider());
    //treeViewer.setComparator(NewWizardCollectionComparator.INSTANCE);
    treeViewer.addSelectionChangedListener(this);
    ArrayList inputArray = new ArrayList();
    for (int i = 0; i < primaryWizards.length; i++) {
        inputArray.add(primaryWizards[i]);
    }
    boolean expandTop = false;
    // ensure the category is expanded.  If there is a remembered expansion it will be set later.
    if (expandTop) {
        treeViewer.setAutoExpandLevel(2);
    }
    AdaptableList input = new AdaptableList(inputArray);
    treeViewer.setInput(input);
    filterTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    treeViewer.getTree().setFont(parent.getFont());
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            selectionChanged(new SelectionChangedEvent(event.getViewer(), s));
            Object element = s.getFirstElement();
            if (treeViewer.isExpandable(element)) {
                treeViewer.setExpandedState(element, !treeViewer.getExpandedState(element));
            } else if (element instanceof WorkbenchWizardElement) {
                page.advanceToNextPageOrFinish();
            }
        }
    });
    treeViewer.addFilter(filter);
    Dialog.applyDialogFont(filterTree);
    return filterTree;
}