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

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

Introduction

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

Prototype

public void setExpandedState(Object elementOrTreePath, boolean expanded) 

Source Link

Document

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

Usage

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

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

License:Open Source License

/**
 * Adds additional listeners to this view.
 *///  w w w .  j  a  v  a2 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.
 * //from w  w w  .  java2s  .c om
 * @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.e4.tools.emf.ui.internal.common.ModelEditor.java

License:Open Source License

private TreeViewer createTreeViewerArea(Composite parent) {

    final Composite treeArea = new Composite(parent, SWT.BORDER);

    treeArea.setLayout(new FillLayout());
    treeArea.setData(CSS_CLASS_KEY, "formContainer"); //$NON-NLS-1$
    treeArea.setBackgroundMode(SWT.INHERIT_DEFAULT);

    TreeViewer tempViewer = null;//from   www.j a va  2  s . c o m
    String property = System.getProperty(ORG_ECLIPSE_E4_TOOLS_MODELEDITOR_FILTEREDTREE_ENABLED_XMITAB_DISABLED);
    if (property != null || preferences.getBoolean("tab-form-search-show", false)) { //$NON-NLS-1$
        FilteredTree viewParent = new FilteredTree(treeArea,
                SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL, new PatternFilter(), true);
        tempViewer = viewParent.getViewer();
    } else {
        tempViewer = new TreeViewerEx(treeArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL,
                emfDocumentProvider, modelProvider);
    }
    final TreeViewer viewer = tempViewer;

    viewer.setLabelProvider(new ComponentLabelProvider(this, messages));
    ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider(
            new ObservableFactoryImpl(), new TreeStructureAdvisor() {
            });
    viewer.setContentProvider(contentProvider);

    final WritableSet clearedSet = new WritableSet();

    contentProvider.getKnownElements().addSetChangeListener(new ISetChangeListener() {

        @Override
        public void handleSetChange(SetChangeEvent event) {
            for (Object o : event.diff.getAdditions()) {
                if (o instanceof EObject) {
                    clearedSet.add(o);
                }
            }

            for (Object o : event.diff.getRemovals()) {
                if (o instanceof EObject) {
                    clearedSet.remove(o);
                }
            }
        }
    });

    for (FeaturePath p : labelFeaturePaths) {
        IObservableMap map = EMFProperties.value(p).observeDetail(clearedSet);
        map.addMapChangeListener(new IMapChangeListener() {

            @Override
            public void handleMapChange(MapChangeEvent event) {
                viewer.update(event.diff.getChangedKeys().toArray(), null);
            }
        });
    }

    viewer.setInput(modelProvider.getRoot());
    viewer.setAutoExpandLevel(2);
    viewer.expandToLevel(viewer.getAutoExpandLevel());
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = (TreeViewer) event.getViewer();
            IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
            Object selectedNode = thisSelection.getFirstElement();
            if (mod1Down) {
                if (viewer.getExpandedState(selectedNode))
                    viewer.setExpandedState(selectedNode, false);
                else
                    viewer.expandToLevel(selectedNode, AbstractTreeViewer.ALL_LEVELS);
            } else {
                viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
            }

        }
    });

    // Effect of filtered tree implementation (bug 391086)
    viewer.getTree().addTreeListener(new TreeAdapter() {
        @Override
        public void treeCollapsed(TreeEvent e) {
            viewer.expandToLevel(viewer.getAutoExpandLevel());
        }
    });

    int ops = DND.DROP_MOVE;
    viewer.addDragSupport(ops, new Transfer[] { MemoryTransfer.getInstance() }, new DragListener(viewer));
    viewer.addDropSupport(ops, new Transfer[] { MemoryTransfer.getInstance() },
            new DropListener(viewer, modelProvider.getEditingDomain()));

    return viewer;
}

From source file:org.eclipse.eatop.examples.graphicaleditor.depd.features.views.SafetyGoalTitleAreaDialogview.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    Composite composite = (Composite) super.createDialogArea(parent);

    // YOUR LINE HERE!
    Label line = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
    line.setLayoutData(new GridData(SWT.FILL, SWT.END, true, true));

    final TreeViewer viewer;
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    List<SafetyGoal> sgs = new ArrayList<SafetyGoal>();

    sgs.add(saftyob);//from  ww  w.  j  a v a  2  s. c o m

    // Provide the input to the ContentProvider
    viewer.setContentProvider(new RequirementsContentProvider(saftyob));
    viewer.setLabelProvider(new RequirementsLabelProvider(saftyob));
    viewer.setSorter(new RequirementSorter());
    // Expand the tree
    viewer.setAutoExpandLevel(3);
    viewer.setInput(sgs.toArray());

    viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));//
    // viewer.getTree().setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,1,1));
    // Add a doubleclicklistenerObject[] elements;Object[]
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = (TreeViewer) event.getViewer();
            IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
            Object selectedNode = thisSelection.getFirstElement();
            viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
        }

    });

    viewer.getTree().addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(final KeyEvent e) {
            if (e.keyCode == SWT.DEL) {
                final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
                if (selection.getFirstElement() instanceof Requirement) {
                    Requirement o = (Requirement) selection.getFirstElement();
                    // TODO Delete the selected element from the model
                }

            }
        }
    });

    return composite;
}

From source file:org.eclipse.ecf.remoteservice.ui.serviceview.AbstractServicesView.java

License:Open Source License

protected void addServiceNodes(final Collection<ServiceNode> sns) {
    TreeViewer viewer = getTreeViewer();
    if (viewer == null)
        return;/*from ww w  .  j  a va  2s . c  o m*/
    viewer.getControl().getDisplay().asyncExec(new Runnable() {
        @Override
        public void run() {
            TreeViewer tv = getTreeViewer();
            if (tv == null)
                return;
            ServicesRootNode srn = getServicesRoot();
            for (ServiceNode sn : sns)
                srn.addChild(sn);
            tv.setExpandedState(getServicesRoot(), true);
            tv.refresh();
        }
    });
}

From source file:org.eclipse.ecf.remoteservice.ui.serviceview.ServicesView.java

License:Open Source License

public void handleRSAEvent(final RemoteServiceAdminEvent event) {
    TreeViewer viewer = getTreeViewer();
    if (viewer == null)
        return;//from  ww  w .  jav  a2s  . co  m
    viewer.getControl().getDisplay().asyncExec(new Runnable() {
        @Override
        public void run() {
            TreeViewer tv = getTreeViewer();
            if (tv == null)
                return;
            Throwable t = event.getException();
            if (t == null) {
                switch (event.getType()) {
                case RemoteServiceAdminEvent.EXPORT_REGISTRATION:
                    ExportReference eRef = event.getExportReference();
                    ServiceNode sn = findServiceNode(getServiceId(eRef.getExportedService()));
                    if (sn != null)
                        sn.setExportRef(eRef);
                    break;
                case RemoteServiceAdminEvent.EXPORT_UNREGISTRATION:
                case RemoteServiceAdminEvent.EXPORT_ERROR:
                case RemoteServiceAdminEvent.EXPORT_UPDATE:
                case RemoteServiceAdminEvent.EXPORT_WARNING:
                    ServiceNode sn1 = findServiceNode(event.getExportReference());
                    if (sn1 != null)
                        sn1.setExportRef(null);
                    break;
                case RemoteServiceAdminEvent.IMPORT_REGISTRATION:
                    ImportReference iRef = event.getImportReference();
                    ServiceNode sn2 = findServiceNode(getServiceId(iRef.getImportedService()));
                    if (sn2 != null)
                        sn2.setImportRef(iRef);
                    break;
                case RemoteServiceAdminEvent.IMPORT_UNREGISTRATION:
                case RemoteServiceAdminEvent.IMPORT_ERROR:
                case RemoteServiceAdminEvent.IMPORT_UPDATE:
                case RemoteServiceAdminEvent.IMPORT_WARNING:
                    ServiceNode sn3 = findServiceNode(event.getImportReference());
                    if (sn3 != null)
                        sn3.setImportRef(null);
                    break;
                }
                tv.setExpandedState(getServicesRoot(), true);
                tv.refresh();
            }
        }
    });
}

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  w w w. j  a va2 s  .com*/

    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.egit.ui.internal.dialogs.CompareTreeView.java

License:Open Source License

private void reactOnOpen(OpenEvent event) {
    Object selected = ((IStructuredSelection) event.getSelection()).getFirstElement();
    ITypedElement left;//from  ww w.  j  ava  2 s  .c  o  m
    ITypedElement right;
    if (selected instanceof IContainer) {
        // open/close folder
        TreeViewer tv = (TreeViewer) event.getViewer();
        tv.setExpandedState(selected, !tv.getExpandedState(selected));
        return;
    } else if (selected instanceof IFile) {
        final IFile res = (IFile) selected;
        LocalFileRevision revision = new LocalFileRevision(res);
        left = new FileEditableRevision(revision, res, PlatformUI.getWorkbench().getProgressService());
        GitFileRevision rightRevision = compareVersionMap
                .get(new Path(repositoryMapping.getRepoRelativePath(res)));
        if (rightRevision == null) {
            right = new GitCompareFileRevisionEditorInput.EmptyTypedElement(NLS.bind(
                    UIText.CompareTreeView_ItemNotFoundInVersionMessage, res.getName(), getCompareVersion()));
        } else {
            String encoding = CompareCoreUtils.getResourceEncoding(res);
            right = new FileRevisionTypedElement(rightRevision, encoding);
        }
    } else if (selected instanceof GitFileRevision) {
        GitFileRevision rightRevision = (GitFileRevision) selected;
        left = new GitCompareFileRevisionEditorInput.EmptyTypedElement(
                NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, rightRevision.getName(),
                        getBaseVersion()));
        right = new FileRevisionTypedElement(rightRevision, null);
    } else if (selected instanceof PathNode) {
        PathNode node = (PathNode) selected;
        String encoding = CompareCoreUtils.getResourceEncoding(getRepository(), node.getRepoRelativePath());
        switch (node.type) {
        case FILE_BOTH_SIDES_DIFFER:
            // fall through
        case FILE_BOTH_SIDES_SAME: {
            // open a compare editor with both sides filled
            GitFileRevision rightRevision = compareVersionMap.get(node.path);
            right = new FileRevisionTypedElement(rightRevision, encoding);
            GitFileRevision leftRevision = baseVersionMap.get(node.path);
            left = new FileRevisionTypedElement(leftRevision, encoding);
            break;
        }
        case FILE_DELETED: {
            // open compare editor with left side empty
            GitFileRevision rightRevision = compareVersionMap.get(node.path);
            right = new FileRevisionTypedElement(rightRevision, encoding);
            left = new GitCompareFileRevisionEditorInput.EmptyTypedElement(
                    NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, rightRevision.getName(),
                            getBaseVersion()));
            break;
        }
        case FILE_ADDED: {
            // open compare editor with right side empty
            GitFileRevision leftRevision = baseVersionMap.get(node.path);
            left = new FileRevisionTypedElement(leftRevision, encoding);
            right = new GitCompareFileRevisionEditorInput.EmptyTypedElement(
                    NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, leftRevision.getName(),
                            getCompareVersion()));
            break;
        }
        case FOLDER:
            // open/close folder
            TreeViewer tv = (TreeViewer) event.getViewer();
            tv.setExpandedState(selected, !tv.getExpandedState(selected));
            return;
        default:
            return;
        }

    } else if (selected instanceof PathNodeAdapter) {
        // deleted in workspace
        PathNodeAdapter node = (PathNodeAdapter) selected;
        GitFileRevision rightRevision = compareVersionMap.get(node.pathNode.path);
        String encoding = CompareCoreUtils.getResourceEncoding(getRepository(),
                node.pathNode.getRepoRelativePath());
        right = new FileRevisionTypedElement(rightRevision, encoding);
        left = new GitCompareFileRevisionEditorInput.EmptyTypedElement(
                NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, node.pathNode.path.lastSegment(),
                        getBaseVersion()));
    } else
        return;

    GitCompareFileRevisionEditorInput compareInput = new GitCompareFileRevisionEditorInput(left, right,
            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage());
    CompareUtils.openInCompare(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(),
            compareInput);
}

From source file:org.eclipse.emf.cdo.explorer.ui.checkouts.wizards.CheckoutBranchPointPage.java

License:Open Source License

public void setBranchPoint(int branchID, long timeStamp) {
    if (this.branchID != branchID || this.timeStamp != timeStamp) {
        log("Setting branch point to " + branchID + "/" + CDOCommonUtil.formatTimeStamp(timeStamp));
        this.branchID = branchID;
        this.timeStamp = timeStamp;

        if (branchPointComposite != null) {
            CDOBranchPoint branchPoint = getBranchPoint();
            CDOBranch branch = branchPoint.getBranch();

            TreeViewer branchViewer = branchPointComposite.getBranchViewer();
            branchViewer.setSelection(new StructuredSelection(branch));
            branchViewer.setExpandedState(branch, true);
        }// w w w  .  j  a  va2 s .co  m

        branchPointChanged(branchID, timeStamp);
    }
}