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

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

Introduction

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

Prototype

public boolean getExpandedState(Object elementOrTreePath) 

Source Link

Document

Returns whether the node corresponding to the given element or tree path is expanded or collapsed.

Usage

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/* w w  w.j a v a  2s.  c o 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;
}

From source file:org.eclipse.mylyn.internal.commons.repositories.ui.wizards.NewRepositoryWizardNewPage.java

License:Open Source License

/**
 * Create a new FilteredTree in the parent.
 * /*from   w w w. ja  v a  2 s. c  om*/
 * @param parent
 *            the parent <code>Composite</code>.
 * @since 3.0
 */
@SuppressWarnings({ "rawtypes", "unchecked" })
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);

    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 (IWizardDescriptor primaryWizard : primaryWizards) {
        inputArray.add(primaryWizard);
    }

    boolean expandTop = false;

    if (wizardCategories != null) {
        if (wizardCategories.getParent() == null) {
            IWizardCategory[] children = wizardCategories.getCategories();
            for (IWizardCategory element : children) {
                inputArray.add(element);
            }
        } else {
            expandTop = true;
            inputArray.add(wizardCategories);
        }
    }

    // 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() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent)
         */
        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);

    if (projectsOnly) {
        treeViewer.addFilter(projectFilter);
    }

    Dialog.applyDialogFont(filterTree);
    return filterTree;
}

From source file:org.eclipse.mylyn.internal.commons.ui.team.wizards.NewRepositoryWizardNewPage.java

License:Open Source License

/**
 * Create a new FilteredTree in the parent.
 * /*from ww  w . j ava2s . co m*/
 * @param parent
 *            the parent <code>Composite</code>.
 * @since 3.0
 */
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);

    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 (IWizardDescriptor primaryWizard : primaryWizards) {
        inputArray.add(primaryWizard);
    }

    boolean expandTop = false;

    if (wizardCategories != null) {
        if (wizardCategories.getParent() == null) {
            IWizardCategory[] children = wizardCategories.getCategories();
            for (IWizardCategory element : children) {
                inputArray.add(element);
            }
        } else {
            expandTop = true;
            inputArray.add(wizardCategories);
        }
    }

    // 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() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent)
         */
        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);

    if (projectsOnly) {
        treeViewer.addFilter(projectFilter);
    }

    Dialog.applyDialogFont(filterTree);
    return filterTree;
}

From source file:org.eclipse.mylyn.internal.gerrit.ui.egit.GerritRepositorySearchPage.java

License:Open Source License

private void doubleClick(TreeViewer tv, ITreeSelection selection) {
    clearError();/*from   ww  w . j a va 2s  . c o m*/
    GerritRepositorySearchPage.this.selectionChanged(tv, selection);
    if (selection.size() == 1 && selection.getFirstElement() instanceof TaskRepository) {
        Object element = selection.getFirstElement();
        if (tv.getExpandedState(element)) {
            tv.collapseToLevel(element, 1);
        } else {
            tv.expandToLevel(element, 1);
        }
    }
    if (isPageComplete()) {
        getContainer().showPage(getNextPage());
    }
}

From source file:org.eclipse.nebula.widgets.nattable.examples.e4.NavigationPart.java

License:Open Source License

@PostConstruct
public void postConstruct(Composite parent) {
    final TreeViewer navTreeViewer = new TreeViewer(parent);

    final NavContentProvider contentProvider = new NavContentProvider() {
        @Override//from  w  w w . java 2 s.co  m
        public Object[] getElements(Object inputElement) {
            Set<String> topLevelElements = new LinkedHashSet<>();

            String[] examplePaths = (String[]) inputElement;
            for (final String examplePath : examplePaths) {
                String parentPath = "";
                String absolutePath = "";

                // remove the package name for the tree structure
                String path = examplePath;
                if (examplePath.startsWith(INatExample.TUTORIAL_EXAMPLES_PREFIX)) {
                    path = examplePath.replace(INatExample.BASE_PATH, "");
                } else if (examplePath.startsWith(INatExample.CLASSIC_EXAMPLES_PREFIX)) {
                    path = examplePath.replace(INatExample.CLASSIC_BASE_PATH, "");
                } else if (examplePath.startsWith(E4_EXAMPLES_PREFIX)) {
                    path = examplePath.replace(E4_BASE_PATH, "");
                }
                final StringTokenizer tok = new StringTokenizer(path, "/");
                while (tok.hasMoreTokens()) {
                    final String pathElement = tok.nextToken();
                    if (parentPath.length() == 0) {
                        topLevelElements.add("/" + pathElement);
                    }
                    absolutePath += "/" + pathElement;

                    final Collection<String> children = getChildren(parentPath);
                    children.add(absolutePath);

                    parentPath = absolutePath;
                }
            }

            return topLevelElements.toArray();
        }

    };
    navTreeViewer.setContentProvider(contentProvider);
    navTreeViewer.setLabelProvider(new NavLabelProvider(contentProvider) {

        @Override
        public String getText(Object element) {
            String str = (String) element;
            if (!contentProvider.hasChildren(element)) {
                INatExample example = getExample(str);
                return example.getName();
            }

            int lastSlashIndex = str.lastIndexOf('/');
            if (lastSlashIndex < 0) {
                return format(str);
            } else {
                return format(str.substring(lastSlashIndex + 1));
            }
        }

    });
    navTreeViewer.setInput(getExamplePaths());
    navTreeViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeSelection selection = (TreeSelection) event.getSelection();
            for (TreePath path : selection.getPaths()) {
                // check for item - if node expand/collapse, if child open
                if (contentProvider.hasChildren(path.getLastSegment().toString())) {
                    boolean expanded = navTreeViewer.getExpandedState(path);
                    navTreeViewer.setExpandedState(path, !expanded);
                } else {
                    openExampleInTab(path.getLastSegment().toString());
                }
            }
        }

    });

    GridLayout layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    parent.setLayout(layout);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(navTreeViewer.getControl());
}

From source file:org.eclipse.papyrus.diagram.common.service.palette.StereotypePostAction.java

License:Open Source License

/**
 * Action done when a DoubleClick is received by the tree
 * //w  ww.ja va  2 s  .com
 * @param viewer
 *        the viewer on which the DoubleClick action is applied
 */
protected void performDoubleClickAction(TreeViewer viewer) {

    TreeSelection selection = (TreeSelection) viewer.getSelection();
    if (selection != null && selection.size() == 1) {
        Object selectedObject = selection.getFirstElement();
        if (selectedObject instanceof StereotypeRepresentation) {
            //we expand or collapse the node
            viewer.setExpandedState(selectedObject, !viewer.getExpandedState(selectedObject));
        } else if (selectedObject instanceof PropertyRepresentation) {
            Property prop = ((PropertyRepresentation) selectedObject).getUMLProperty();
            if (prop.isMultivalued()) {
                //we expand or collapse the node
                viewer.setExpandedState(selectedObject, !viewer.getExpandedState(selectedObject));
            } else {
                //we edit a value
                if (((PropertyRepresentation) selectedObject).getValues().isEmpty()) {
                    editMe((PropertyRepresentation) selectedObject, null);
                } else {
                    editMe((PropertyRepresentation) selectedObject,
                            ((PropertyRepresentation) selectedObject).getValues().get(0));
                }

                viewer.update(selectedObject, null);
            }
        } else if (selectedObject instanceof Value) {
            editMe(((Value) selectedObject).getPropertyRepresentation(), (Value) selectedObject);
            viewer.refresh(selectedObject);
        }
    }
}

From source file:org.eclipse.papyrus.uml.diagram.common.service.palette.StereotypePostAction.java

License:Open Source License

/**
 * Action done when a DoubleClick is received by the tree
 * /*w ww  .  ja va  2  s .  c  om*/
 * @param viewer
 *        the viewer on which the DoubleClick action is applied
 */
protected void performDoubleClickAction(TreeViewer viewer) {

    TreeSelection selection = (TreeSelection) viewer.getSelection();
    if (selection != null && selection.size() == 1) {
        Object selectedObject = selection.getFirstElement();
        if (selectedObject instanceof StereotypeRepresentation) {
            // we expand or collapse the node
            viewer.setExpandedState(selectedObject, !viewer.getExpandedState(selectedObject));
        } else if (selectedObject instanceof PropertyRepresentation) {
            Property prop = ((PropertyRepresentation) selectedObject).getUMLProperty();
            if (prop.isMultivalued()) {
                // we expand or collapse the node
                viewer.setExpandedState(selectedObject, !viewer.getExpandedState(selectedObject));
            } else {
                // we edit a value
                if (((PropertyRepresentation) selectedObject).getValues().isEmpty()) {
                    editMe((PropertyRepresentation) selectedObject, null);
                } else {
                    editMe((PropertyRepresentation) selectedObject,
                            ((PropertyRepresentation) selectedObject).getValues().get(0));
                }

                viewer.update(selectedObject, null);
            }
        } else if (selectedObject instanceof Value) {
            editMe(((Value) selectedObject).getPropertyRepresentation(), (Value) selectedObject);
            viewer.refresh(selectedObject);
        }
    }
}

From source file:org.eclipse.php.internal.ui.actions.newprojectwizard.NewWizardNewPage.java

License:Open Source License

/**
 * Create a new FilteredTree in the parent.
 * //w ww. j  av  a2 s . c om
 * @param parent
 *            the parent <code>Composite</code>.
 * @since 3.0
 */
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);

    final TreeViewer treeViewer = filterTree.getViewer();
    treeViewer.setContentProvider(new WizardContentProvider());
    treeViewer.setLabelProvider(new WorkbenchLabelProvider());
    treeViewer.addSelectionChangedListener(this);

    ArrayList inputArray = new ArrayList();

    for (int i = 0; i < primaryWizards.length; i++) {
        inputArray.add(primaryWizards[i]);
    }

    if (!projectsOnly) {

        IWizardCategory phpCategory = wizardCategories.findCategory(new Path("org.eclipse.php.project.ui")); //$NON-NLS-1$
        // IWizardCategory[] children = wizardCategories.getCategories();
        // for (int i = 0; i < children.length; i++) {
        // if ("org.eclipse.php.project.ui".equals(children[i].getId())) {
        // phpCategory = children[i];
        // }
        // }
        if (phpCategory != null) {
            IWizardDescriptor[] wizards = phpCategory.getWizards();
            for (int i = 0; i < wizards.length; i++) {
                inputArray.add(wizards[i]);
            }
            inputArray = sortWizard(inputArray);
            IWizardCategory[] categories = phpCategory.getCategories();
            for (int i = 0; i < categories.length; i++) {
                inputArray.add(categories[i]);
            }
            IWizardDescriptor folder = wizardCategories.findWizard("org.eclipse.ui.wizards.new.folder"); //$NON-NLS-1$
            if (folder != null) {
                inputArray.add(folder);
            }
        }
        NewWizardCollectionComparator comparator = NewWizardCollectionComparator.INSTANCE;
        Set set = new HashSet();
        set.addAll(inputArray);
        comparator.setPrimaryWizards(set);
        treeViewer.setComparator(comparator);
    } else {
        NewWizardCollectionComparator comparator = NewWizardCollectionComparator.INSTANCE;
        comparator.setPrimaryWizards(null);
        treeViewer.setComparator(comparator);
    }

    boolean expandTop = false;

    if (wizardCategories != null) {
        if (wizardCategories.getParent() == null) {
            IWizardCategory[] children = wizardCategories.getCategories();
            for (int i = 0; i < children.length; i++) {
                if (!"org.eclipse.php.project.ui".equals(children[i] //$NON-NLS-1$
                        .getId())) {
                    inputArray.add(children[i]);
                }
            }
        } else {
            expandTop = true;
            inputArray.add(wizardCategories);
        }
    }

    // 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() {
        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org
         * .eclipse.jface.viewers.DoubleClickEvent)
         */
        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);

    if (projectsOnly) {
        treeViewer.addFilter(projectFilter);
    }

    Dialog.applyDialogFont(filterTree);
    return filterTree;
}

From source file:org.eclipse.php.internal.ui.actions.PHPExplorerActionGroup.java

License:Open Source License

/**
 * this method call ScriptExplorerActionGroup.handleDoubleClick(event) at
 * most cases, except fNavigateActionGroup relative operation
 *//*from   ww  w. j a  v a2  s .c om*/
protected void handleDoubleClick(DoubleClickEvent event) {
    TreeViewer viewer = getPart().getTreeViewer();
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    Object element = selection.getFirstElement();
    if (viewer.isExpandable(element)) {
        if (doubleClickGoesInto()) {
            super.handleDoubleClick(event);
        } 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 {
        super.handleDoubleClick(event);
    }
}