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

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

Introduction

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

Prototype

@Override
public void setSelection(ISelection selection, boolean reveal) 

Source Link

Document

Sets a new selection for this viewer and optionally makes it visible.

Usage

From source file:org.jboss.tools.smooks.configuration.editors.SmooksConfigurationFormPage.java

License:Open Source License

public void setSelectionToViewer(final Collection<?> collection) {
    if (masterDetailBlock != null && masterDetailBlock.getSmooksTreeViewer() != null) {
        // I don't know if this should be run this deferred
        // because we might have to give the editor a chance to process the
        // viewer update events
        // and hence to update the views first.
        ////from  www.j  av  a  2 s  .  com
        //
        final TreeViewer viewer = masterDetailBlock.getSmooksTreeViewer();
        Runnable runnable = new Runnable() {
            public void run() {
                // Try to select the items in the current content viewer of
                // the editor.
                //
                if (viewer != null) {
                    viewer.setSelection(new StructuredSelection(collection.toArray()), true);
                }
            }
        };

        runnable.run();
    }
}

From source file:org.jboss.tools.windup.ui.internal.rules.delegate.ElementUiDelegate.java

License:Open Source License

public static Action createAddElementAction(IStructuredModel model, Node parent, CMElementDeclaration ed,
        int index, IElementUiDelegate delegate, TreeViewer treeViewer) {
    Action action = null;/*from  w  w w . jav  a2  s .  com*/
    if (ed != null) {
        action = new AddNodeAction(model, ed, parent, index) {
            @Override
            public void run() {
                super.run();
                if (!result.isEmpty()) {
                    Object element = result.get(0);
                    Object[] children = null;
                    if (delegate != null) {
                        children = delegate.getChildren();
                    } else if (treeViewer != null) {
                        ITreeContentProvider provider = (ITreeContentProvider) treeViewer.getContentProvider();
                        children = provider.getChildren(element);
                    }
                    if (children != null) {
                        java.util.Optional<Object> optional = Arrays.stream(children)
                                .filter(e -> Objects.equal(element, e)).findFirst();
                        if (optional.isPresent()) {
                            treeViewer.expandToLevel(element, TreeViewer.ALL_LEVELS);
                            treeViewer.setSelection(new StructuredSelection(element), true);
                        }
                    }
                }
            }
        };
    }
    return action;
}

From source file:org.kalypso.contribs.eclipse.jface.viewers.ViewerUtilities.java

License:Open Source License

public static void setSelection(final TreeViewer viewer, final ISelection selection, final boolean reveal,
        final boolean async) {
    final Runnable runner = new Runnable() {
        @Override/*from   w  w  w . ja v a  2 s. com*/
        public void run() {
            if (!viewer.getControl().isDisposed())
                viewer.setSelection(selection, reveal);
        }
    };

    execute(viewer, runner, async);
}

From source file:org.modelversioning.emfprofile.application.registry.ui.observer.ViewerState.java

License:Open Source License

public void restoreTreeViewerState(TreeViewer viewer) {
    viewer.setInput(input);/*from  w  w w .ja v  a  2s  .c om*/
    viewer.setExpandedElements(viewerExpandedElements);
    viewer.setSelection(selection, true);
}

From source file:org.rssowl.ui.internal.editors.feed.FeedView.java

License:Open Source License

private void expandNewsTableViewerGroups(boolean delayRedraw, ISelection oldSelection) {
    TreeViewer viewer = fNewsTableControl.getViewer();
    Tree tree = (Tree) viewer.getControl();

    /* Remember TopItem if required */
    TreeItem topItem = oldSelection.isEmpty() ? tree.getTopItem() : null;

    /* Expand All & Restore Selection with redraw false */
    if (delayRedraw)
        tree.getParent().setRedraw(false);
    try {/*from   w  w w  . ja va2  s.  co m*/
        viewer.expandAll();

        /* Restore selection if required */
        if (!oldSelection.isEmpty() && viewer.getSelection().isEmpty())
            viewer.setSelection(oldSelection, true);
        else if (topItem != null)
            tree.setTopItem(topItem);
    } finally {
        if (delayRedraw)
            tree.getParent().setRedraw(true);
    }
}

From source file:org.rubypeople.rdt.internal.ui.packageview.GotoResourceAction.java

License:Open Source License

public void run() {
    TreeViewer viewer = fPackageExplorer.getViewer();
    GotoResourceDialog dialog = new GotoResourceDialog(fPackageExplorer.getSite().getShell(),
            ResourcesPlugin.getWorkspace().getRoot(), viewer);
    dialog.open();/*from w  w  w  .j ava2 s  . c om*/
    Object[] result = dialog.getResult();
    if (result == null || result.length == 0 || !(result[0] instanceof IResource))
        return;
    StructuredSelection selection = null;
    IRubyElement element = RubyCore.create((IResource) result[0]);
    if (element != null && element.exists())
        selection = new StructuredSelection(element);
    else
        selection = new StructuredSelection(result[0]);
    viewer.setSelection(selection, true);
}

From source file:org.springframework.ide.eclipse.aop.ui.navigator.AopReferenceModelNavigator.java

License:Open Source License

public static void revealSelection(TreeViewer viewer, final Object javaElement, boolean showBeansRefsForFile) {
    TreeItem[] items = viewer.getTree().getItems();
    Object wr = null;//from   w ww  .ja va 2  s.  c o m

    if (javaElement instanceof IJavaElement) {
        if (showBeansRefsForFile && javaElement instanceof IMethod) {
            // we have one root element
            TreeItem[] aspectChildren = items[0].getItems();
            for (TreeItem element : aspectChildren) {
                Object obj = element.getData();
                if (obj instanceof AbstractJavaElementReferenceNode
                        && ((AbstractJavaElementReferenceNode) obj).getElement().equals(javaElement)) {
                    wr = obj;
                    break;
                }
            }
        } else {
            if (items != null && items.length > 0) {
                wr = items[0].getData();
            }
        }
    } else if (javaElement instanceof ElementImpl) {
        if (!showBeansRefsForFile) {
            if (items != null && items.length > 0) {
                wr = items[0].getData();
            }
        } else {
            ElementImpl element = (ElementImpl) javaElement;
            IStructuredDocument document = element.getStructuredDocument();
            int startLine = document.getLineOfOffset(element.getStartOffset()) + 1;
            int endLine = document.getLineOfOffset(element.getEndOffset()) + 1;
            for (TreeItem element0 : items) {
                Object obj = element0.getData();
                if (obj instanceof IRevealableReferenceNode
                        && ((IRevealableReferenceNode) obj).getLineNumber() >= startLine
                        && ((IRevealableReferenceNode) obj).getLineNumber() <= endLine) {
                    wr = obj;
                    break;
                }
            }
        }
    }

    if (wr != null) {
        viewer.setSelection(new StructuredSelection(wr), true);
        viewer.reveal(wr);
    }

}

From source file:org.talend.repository.viewer.filter.PerspectiveFilterHelper.java

License:Open Source License

/**
 * Only activate the view content providers with the extension ID belonging to extensionIdsToActivate array.
 * /* w w w. j a va2 s. com*/
 * 
 * @param extensionIdsToActivate
 * @param restoring, used because setting new selection cause renentrance and may create 2 action types when
 * restoring state
 */
protected void refreshNavigatorContents(String[] extensionIdsToActivate, boolean restoring) {
    boolean updateExtensionActivation = false;
    String[] contentExtensionsToActivate = Arrays.copyOf(extensionIdsToActivate, extensionIdsToActivate.length);
    // we sort the array in order to use Array.binarySearch();
    Arrays.sort(contentExtensionsToActivate);

    IStructuredSelection ssel = null;
    TreeViewer commonViewer = getTreeViewer();
    INavigatorContentService contentService = getNavigatorContentService();
    try {

        commonViewer.getControl().setRedraw(false);
        // store the selection
        ISelection selection = commonViewer.getSelection();
        if (selection instanceof IStructuredSelection) {
            ssel = (IStructuredSelection) selection;
        }

        INavigatorContentDescriptor[] visibleContentDescriptors = contentService.getVisibleExtensions();

        int indexofContentExtensionIdToBeActivated;
        /* is there a delta? */
        for (int i = 0; i < visibleContentDescriptors.length && !updateExtensionActivation; i++) {
            indexofContentExtensionIdToBeActivated = Arrays.binarySearch(contentExtensionsToActivate,
                    visibleContentDescriptors[i].getId());
            /*
             * Either we have a filter that should be active that isn't XOR a filter that shouldn't be active that
             * is currently
             */
            if (indexofContentExtensionIdToBeActivated >= 0
                    ^ contentService.isActive(visibleContentDescriptors[i].getId())) {
                updateExtensionActivation = true;
            }
        }

        /* If so, update */
        if (updateExtensionActivation) {

            contentService.getActivationService().activateExtensions(contentExtensionsToActivate, true);
            contentService.getActivationService().persistExtensionActivations();
            // try to keep expanded elements state
            Object[] expandedElements = commonViewer.getExpandedElements();

            contentService.update();
            commonViewer.refresh();
            if (!restoring) {
                Object[] originalObjects = ssel != null ? ssel.toArray() : new Object[0];

                commonViewer.setExpandedElements(expandedElements);
                // restore the selection.
                IStructuredSelection newSelection = new StructuredSelection(originalObjects);
                commonViewer.setSelection(newSelection, true);
            }
        }

    } finally {
        commonViewer.getControl().setRedraw(true);
    }

}

From source file:org.xmind.ui.internal.wizards.ChooseLocationInFileSystemWizardPage.java

License:Open Source License

private void createFolderViewer(Composite parent) {
    Label label = new Label(parent, SWT.NONE);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label.setText(WizardMessages.NewPage_SelectParent_label);

    final TreeViewer folderViewer = new TreeViewer(parent, SWT.BORDER | SWT.SINGLE);
    folderViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    folderViewer.setContentProvider(new FolderContentProvider());
    folderViewer.setLabelProvider(new FolderLabelProvider());
    folderViewer.setComparator(new ViewerComparator());
    folderViewer.setUseHashlookup(true);
    folderViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            folderSelectionChanged((File) selection.getFirstElement());
        }//from   ww w  .  ja  va  2 s .c  o m
    });
    folderViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection).getFirstElement();
                if (item == null) {
                    return;
                }
                if (folderViewer.getExpandedState(item)) {
                    folderViewer.collapseToLevel(item, 1);
                } else {
                    folderViewer.expandToLevel(item, 1);
                }
            }
        }
    });
    addInputControl(folderViewer.getTree());

    parent.getDisplay().asyncExec(new Runnable() {
        public void run() {
            if (folderViewer.getControl().isDisposed())
                return;

            folderViewer.setInput(File.listRoots());
            File homeDir = new File(System.getProperty("user.home")); //$NON-NLS-1$
            folderViewer.setSelection(new StructuredSelection(homeDir), true);
            folderViewer.setExpandedState(homeDir, true);
            updateButtonStates();
        }
    });

}

From source file:org.xmind.ui.internal.wizards.ChooseLocationInWorkspaceWizardPage.java

License:Open Source License

private void createContainerViewer(Composite parent) {
    Label label = new Label(parent, SWT.NONE);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label.setText(WizardMessages.NewPage_SelectParent_label);

    final TreeViewer containerViewer = new TreeViewer(parent, SWT.BORDER | SWT.SINGLE);
    containerViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    containerViewer.setContentProvider(new ContainerContentProvider());
    containerViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    containerViewer.setComparator(new ViewerComparator());
    containerViewer.setUseHashlookup(true);
    containerViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            containerSelectionChanged((IContainer) selection.getFirstElement()); // allow null
        }/*from w  w  w  .  j av  a 2 s .  co m*/
    });
    containerViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection).getFirstElement();
                if (item == null) {
                    return;
                }
                if (containerViewer.getExpandedState(item)) {
                    containerViewer.collapseToLevel(item, 1);
                } else {
                    containerViewer.expandToLevel(item, 1);
                }
            }
        }
    });

    addInputControl(containerViewer.getTree());

    parent.getDisplay().asyncExec(new Runnable() {
        public void run() {
            containerViewer.setInput(ResourcesPlugin.getWorkspace());
            if (selectedContainer != null) {
                containerViewer.setSelection(new StructuredSelection(selectedContainer), true);
            }
            updateButtonStates();
        }
    });
}