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:com.mindquarry.desktop.preferences.dialog.FilteredPreferenceDialog.java

License:Open Source License

/**
 * Add the listeners to the tree viewer.
 * /*from  ww w  .  j ava 2  s .  co m*/
 * @param viewer
 * 
 * @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 IPreferenceNode) {
                if (!isCurrentPageValid()) {
                    handleError();
                } else if (!showPage((IPreferenceNode) selection)) {
                    // Page flipping wasn't successful
                    handleError();
                } else {
                    // Everything went well
                    lastSuccessfulNode = (IPreferenceNode) selection;
                }
            }
        }
    });
    ((Tree) viewer.getControl()).addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(final SelectionEvent event) {
            ISelection selection = viewer.getSelection();
            if (selection.isEmpty()) {
                return;
            }
            IPreferenceNode 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:com.nokia.carbide.search.system.ui.text.AbstractTextSearchViewPage.java

License:Open Source License

/**
 * <p>This method is called when the search page gets an open even from it's
 * underlying viewer (for example on double click). The default
 * implementation will open the first match on any element that has matches.
 * If the element to be opened is an inner node in the tree layout, the node
 * will be expanded if it's collapsed and vice versa. Subclasses are allowed
 * to override this method.// w  w w  .  jav a 2 s .c o m
 * </p>
 * @param event
 *            the event sent for the currently shown viewer
 * 
 * @see IOpenListener
 */
protected void handleOpen(OpenEvent event) {
    Viewer viewer = event.getViewer();
    boolean hasCurrentMatch = showCurrentMatch(OpenStrategy.activateOnOpen());
    ISelection sel = event.getSelection();
    if (viewer instanceof TreeViewer && sel instanceof IStructuredSelection) {
        IStructuredSelection selection = (IStructuredSelection) sel;
        TreeViewer tv = (TreeViewer) getViewer();
        Object element = selection.getFirstElement();
        if (element != null) {
            if (!hasCurrentMatch && getDisplayedMatchCount(element) > 0)
                gotoNextMatch(OpenStrategy.activateOnOpen());
            else
                tv.setExpandedState(element, !tv.getExpandedState(element));
        }
        return;
    } else if (!hasCurrentMatch) {
        gotoNextMatch(OpenStrategy.activateOnOpen());
    }
}

From source file:com.puppetlabs.geppetto.puppetdb.ui.views.PuppetResourceEventsView.java

License:Open Source License

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

From source file:com.sap.dirigible.ide.workspace.ui.viewer.WorkspaceViewerUtils.java

License:Open Source License

public static void doubleClickedElement(Object element) {
    if (element instanceof IFolder || element instanceof IProject) {

        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
        IViewPart view = page.findView(WorkspaceExplorerView.VIEW_ID);
        if (view != null && view instanceof WorkspaceExplorerView) {
            TreeViewer treeViewer = ((WorkspaceExplorerView) view).getViewer().getViewer();
            if (element instanceof IFolder || element instanceof IProject) {
                treeViewer.setExpandedState(element, (!treeViewer.getExpandedState(element)));
            }//from ww w . j a  va2  s  .  c  o m
        }
    }
}

From source file:com.siteview.mde.internal.ui.editor.TreeSection.java

License:Open Source License

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

From source file:de.bmw.yamaica.ide.ui.internal.editor.OverviewPage.java

License:Mozilla Public License

private TreeViewer createTreeViewer(Composite parent, int verticalSpan) {
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 1, verticalSpan);
    gridData.minimumWidth = 100;//  w  w w.  j  av a  2 s.co m
    gridData.widthHint = 100;

    Tree tree = toolkit.createTree(parent, SWT.BORDER | SWT.MULTI);
    tree.setHeaderVisible(false);
    tree.setLayoutData(gridData);

    final TreeViewer treeViewer = new TreeViewer(tree);
    treeViewer.setComparator(new ResourceComparator(ResourceComparator.NAME));
    treeViewer.setContentProvider(new WorkbenchContentProvider());
    treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            ITreeSelection selection = (ITreeSelection) event.getSelection();

            Object selectedElement = selection.getFirstElement();

            if (selectedElement instanceof IFile) {
                openEditor(selection);
            } else if (selectedElement instanceof IContainer) {
                // toggle expand state
                treeViewer.setExpandedState(selectedElement, !treeViewer.getExpandedState(selectedElement));
            }
        }
    });

    return treeViewer;
}

From source file:de.walware.ecommons.ui.util.ViewerUtil.java

License:Open Source License

public static void addDoubleClickExpansion(final TreeViewer viewer) {
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override/* w  ww.ja  va  2s  . c  o  m*/
        public void doubleClick(final DoubleClickEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection != null && selection.size() == 1) {
                final Object item = selection.getFirstElement();
                if (viewer.getExpandedState(item)) {
                    viewer.collapseToLevel(item, TreeViewer.ALL_LEVELS);
                } else {
                    viewer.expandToLevel(item, 1);
                }
            }
        }
    });
}

From source file:edu.harvard.i2b2.eclipse.plugins.querytool.ui.GroupPanel.java

License:Open Source License

protected void addDoubleClickListenerToViewer() {
    myTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override// www . j a va 2 s  .  co  m
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = (TreeViewer) event.getViewer();
            IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
            QueryConceptTreeNodeData parentNode = (QueryConceptTreeNodeData) thisSelection.getFirstElement();

            // if selected node is a working node
            if (parentNode instanceof WorkingTreeNodeData) {
                WorkingTreeNodeData workingNode = (WorkingTreeNodeData) parentNode;
                // if failed or canceled, restart it!
                if (workingNode.getState() == WorkingTreeNodeData.WorkingTreeNodeState.CANCELED
                        || workingNode.getState() == WorkingTreeNodeData.WorkingTreeNodeState.FAILED) {
                    parentNode = workingNode.getParent();
                    workingNode.name(WorkingTreeNodeData.DEFAULT_WORKING_LABEL);
                    workingNode.visualAttribute(ProcessorConst.ICON_WORKING);
                    ((WorkingTreeNodeData) workingNode)
                            .setState(WorkingTreeNodeData.WorkingTreeNodeState.RUNNING);
                    TermFetchRunnable runner = new TermFetchRunnable(GroupPanel.this, viewer, parentNode,
                            workingNode);
                    workingNode.setTerMFetchRunnable(runner);
                    myTermFetchRunnables.add(runner);
                    // try fetching again
                    myTermFetchScheduler.schedule(runner, 10, TimeUnit.MILLISECONDS);
                    return;
                } else if (workingNode.getState() == WorkingTreeNodeData.WorkingTreeNodeState.RUNNING) // if it's RUNNING, cancel it!
                {
                    workingNode.cancelRunner(); // send cancel signal to the task via workingNode
                }
            }
            if (!parentNode.isConcept()) // nothing to expand if concept is not a node
                return;
            // if already has a child, don't fetch children, just expand/contract
            if (parentNode.getChildren().size() > 0) {
                viewer.setExpandedState(parentNode, !viewer.getExpandedState(parentNode)); // expand the selected node
                viewer.update(parentNode, null); // make sure the tree redraws
                autoSetMaxAllowablePanelHeight(parentNode, viewer.getExpandedState(parentNode));
                return;
            }

            WorkingTreeNodeData child = null;
            if (!viewer.getExpandedState(parentNode)) {
                child = new WorkingTreeNodeData(parentNode);
                parentNode.addChild(child);
            }
            if (child != null) {
                viewer.setExpandedState(parentNode, !viewer.getExpandedState(parentNode)); // expand the selected node
                viewer.update(parentNode, null); // make sure the tree redraws
                autoSetMaxAllowablePanelHeight(parentNode, true); // expand tree immediate to accommodate the Working Node
                TermFetchRunnable runner = new TermFetchRunnable(GroupPanel.this, viewer, parentNode, child);
                child.setTerMFetchRunnable(runner);
                myTermFetchRunnables.add(runner);
                myTermFetchScheduler.schedule(runner, 10, TimeUnit.MILLISECONDS);
            }
        }
    });
}

From source file:eu.esdihumboldt.hale.ui.util.wizard.ViewerWizardSelectionPage.java

License:Open Source License

/**
 * Called when a double click in the viewer occurs.
 * //  ww  w .  j ava  2  s.co m
 * @param event the double click event
 */
protected void doubleClicked(DoubleClickEvent event) {
    ISelection selection = event.getViewer().getSelection();
    IStructuredSelection ss = (IStructuredSelection) selection;
    viewerSelectionChanged(ss);

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

From source file:eu.geclipse.ui.views.GridModelViewPart.java

License:Open Source License

/**
 * Handle a double click event that occurred in the viewer of this
 * view.// w  w w.ja v  a 2  s.  c  o  m
 * 
 * @param event The associated {@link DoubleClickEvent}.
 */
protected void handleDoubleClick(final DoubleClickEvent event) {
    if (this.viewer instanceof TreeViewer) {
        TreeViewer treeViewer = (TreeViewer) this.viewer;
        ISelection selection = event.getSelection();
        if (selection instanceof IStructuredSelection) {
            Object element = ((IStructuredSelection) selection).getFirstElement();
            if (treeViewer.isExpandable(element)) {
                boolean state = treeViewer.getExpandedState(element);
                treeViewer.setExpandedState(element, !state);
            }
        }
    }
}