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:ext.org.eclipse.jdt.internal.ui.browsing.MembersView.java

License:Open Source License

@Override
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));
        }//ww  w  . ja  v  a2  s . com
    });
}

From source file:ext.org.eclipse.jdt.internal.ui.browsing.ProjectsView.java

License:Open Source License

/**
 * Adds additional listeners to this view.
 *//*from   w  w  w  .j a v  a 2 s.c o m*/
@Override
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:ext.org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.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 ICompilationUnit || element instanceof IClassFile)
                return;
            if (element instanceof IOpenable || element instanceof IContainer
                    || element instanceof IWorkingSet) {
                fZoomInAction.run();//  w  w w  . ja  va2 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));
            }
        }
    } else if (element instanceof IProject && !((IProject) element).isOpen()) {
        OpenProjectAction openProjectAction = fProjectActionGroup.getOpenProjectAction();
        if (openProjectAction.isEnabled()) {
            openProjectAction.run();
        }
    }
}

From source file:fr.esrf.icat.manager.core.part.ServerPart.java

License:Apache License

@PostConstruct
public void postConstruct(final Composite parent, final EMenuService menuService,
        final EPartService partService, final EModelService modelService,
        final ESelectionService selectionService, final MWindow window) {

    // only place I could think of for registering that
    window.getContext().set(IWindowCloseHandler.class, new ExitHandler(partService));

    // listening to server changes
    service = ICATDataService.getInstance();
    service.addPropertyChangeListener(this);

    // our viewer
    viewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    icatContentProvider = new IcatServerContentProvider();
    viewer.setContentProvider(icatContentProvider);
    serverLabelProvider = new IcatServerLabelProvider();
    viewer.setLabelProvider(serverLabelProvider);
    viewer.setInput(service);/*  w  w w. j  ava2s .  c  o  m*/

    // make selection available
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            selectionService.setSelection(selection.getFirstElement());
        }
    });

    // toggle / connect / open entity on dbl click
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            final TreeViewer viewer = (TreeViewer) event.getViewer();
            IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
            final Object selectedNode = thisSelection.getFirstElement();
            if (selectedNode instanceof ICATServer) {
                final ICATServer server = (ICATServer) selectedNode;
                if (!server.isConnected()) {
                    ConnectHandler.connectServer(server, sync, parent.getShell(), new Runnable() {
                        @Override
                        public void run() {
                            if (server.isConnected()) {
                                viewer.setExpandedState(selectedNode, true);
                            }
                        }
                    });
                } else if (server.isConnected()) {
                    viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
                }
            } else if (selectedNode instanceof ICATEntity) {
                OpenEntityHandler.openEntityPart(partService, modelService, window, (ICATEntity) selectedNode);
            } else {
                LOG.warn("Selected element is neither an ICAT server nor an ICAT entity !");
            }
        }
    });

    // context menu
    menuService.registerContextMenu(viewer.getControl(), "icat-manager.core.popupmenu.server");

}

From source file:gov.redhawk.ui.editor.TreeSection.java

License:Open Source License

/**
 * Expands or collapsed selected node according to its current state.
 * /*from   w w  w. ja va 2  s.  c o m*/
 * @param selection the selection
 */
protected void handleDoubleClick(final IStructuredSelection selection) {
    final TreeViewer viewer = (TreeViewer) this.fViewerPart.getViewer();
    final boolean expandedState = viewer.getExpandedState(selection.getFirstElement());
    viewer.setExpandedState(selection.getFirstElement(), !expandedState);
}

From source file:msi.gama.gui.navigator.GamaNavigator.java

License:Open Source License

@Override
protected void handleDoubleClick(final DoubleClickEvent anEvent) {
    IStructuredSelection selection = (IStructuredSelection) anEvent.getSelection();
    Object element = selection.getFirstElement();
    if (element instanceof IFile) {
        TreeViewer viewer = getCommonViewer();
        if (viewer.isExpandable(element)) {
            viewer.setExpandedState(element, !viewer.getExpandedState(element));
        }/*from  ww  w. ja  v  a  2  s.c  o  m*/
    }
    if (element instanceof VirtualContent && ((VirtualContent) element).handleDoubleClick()) {
        return;
    } else {
        super.handleDoubleClick(anEvent);
    }
}

From source file:net.refractions.udig.style.sld.editor.internal.EditorDialog.java

License:Open Source License

/**
 * Add the listeners to the tree viewer.
 * @param viewer//from ww  w  .  j  a  v a  2s .co  m
 * 
 * @since 3.1
 */
protected void addListeners(final TreeViewer viewer) {
    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        private void handleError() {
            try {
                // remove the listener temporarily so that the events caused
                // by the error handling dont further cause error handling
                // to occur.
                viewer.removePostSelectionChangedListener(this);
                showPageFlippingAbortDialog();
                selectCurrentPageAgain();
                clearSelectedNode();
            } finally {
                viewer.addPostSelectionChangedListener(this);
            }
        }

        public void selectionChanged(SelectionChangedEvent event) {
            Object selection = getSingleSelection(event.getSelection());
            if (selection instanceof IEditorNode) {
                if (!isCurrentPageValid()) {
                    handleError();
                } else if (!showPage((IEditorNode) selection)) {
                    // Page flipping wasn't successful
                    handleError();
                } else {
                    // Everything went well
                    lastSuccessfulNode = (IEditorNode) selection;
                }
            }
        }
    });
    ((Tree) viewer.getControl()).addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(final SelectionEvent event) {
            ISelection selection = viewer.getSelection();
            if (selection.isEmpty())
                return;
            IEditorNode singleSelection = getSingleSelection(selection);
            boolean expanded = viewer.getExpandedState(singleSelection);
            viewer.setExpandedState(singleSelection, !expanded);
        }
    });
    //Register help listener on the tree to use context sensitive help
    viewer.getControl().addHelpListener(new HelpListener() {
        public void helpRequested(HelpEvent event) {
            // call perform help on the current page
            if (currentPage != null) {
                currentPage.performHelp();
            }
        }
    });
}

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 www.  java2 s . com*/

    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;
}

From source file:net.sf.eclipsensis.wizard.NSISWizardContentsPage.java

License:Open Source License

private void expandGroup(TreeViewer tv, AbstractNSISInstallGroup group) {
    if (tv.getExpandedState(group) != group.isExpanded()) {
        tv.setExpandedState(group, group.isExpanded());
    }//from   w ww .  ja v a 2  s  .co  m
    INSISInstallElement[] children = group.getChildren();
    if (!Common.isEmptyArray(children)) {
        for (int i = 0; i < children.length; i++) {
            if (children[i] instanceof AbstractNSISInstallGroup) {
                expandGroup(tv, (AbstractNSISInstallGroup) children[i]);
            }
        }
    }
}

From source file:org.absmodels.abs.plugin.debug.views.debugview.DebugView.java

License:Open Source License

@Override
protected Viewer createViewer(Composite parent) {
    final TreeViewer viewer = new TreeViewer(parent);
    viewer.setContentProvider(new DebugTreeContentProvider());
    viewer.setLabelProvider(new DebugTreeStyledLabelProvider());
    viewer.setInput(debugger.getModel());
    viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override//from   w  w w .  ja va  2  s.c om
        public void selectionChanged(SelectionChangedEvent event) {
            refreshButtonEnablement();
            Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (selection instanceof TaskView || selection instanceof ObjectView
                    || selection instanceof TaskStackFrameView) {
                refreshVariableView();
                if (selection instanceof TaskView) {
                    TaskView tv = (TaskView) selection;
                    TaskInfo taskInfo = getDebugger().getModel().getTaskInfo(tv);
                    highlightLine(taskInfo);
                }
            }
            getSchedulerRef().taskSelectionChanged(selection);
        }
    });

    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (selection instanceof ObjectView || selection instanceof TaskStackFrameView) {
                openVariableView();
                refreshVariableView();
            } else {
                viewer.setExpandedState(selection, !viewer.getExpandedState(selection));
            }
        }
    });

    viewer.expandAll();
    return viewer;
}