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

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

Introduction

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

Prototype

@Override
public ISelection getSelection() 

Source Link

Document

The AbstractTreeViewer implementation of this method returns the result as an ITreeSelection.

Usage

From source file:org.eclipse.cdt.internal.ui.callhierarchy.CHRemoveFromView.java

License:Open Source License

@Override
public void run() {
    TreeViewer tree = fView.getTreeViewer();
    ITreeSelection selection = (ITreeSelection) tree.getSelection();
    tree.setSelection(null); // should stay before removal
    tree.remove(selection.toArray());//www.j  av a2s  .co m
}

From source file:org.eclipse.cdt.internal.ui.cview.CView.java

License:Open Source License

public void setWorkingSet(IWorkingSet workingSet) {
    TreeViewer treeViewer = getViewer();
    Object[] expanded = treeViewer.getExpandedElements();
    ISelection selection = treeViewer.getSelection();

    workingSetFilter.setWorkingSet(workingSet);
    /*/*from   w w  w. j a v a2 s. com*/
     * if (workingSet != null) { settings.put(STORE_WORKING_SET,
     * workingSet.getName()); } else { settings.put(STORE_WORKING_SET, "");
     * //$NON-NLS-1$ }
     */
    updateTitle();
    treeViewer.refresh();
    treeViewer.setExpandedElements(expanded);
    if (selection.isEmpty() == false && selection instanceof IStructuredSelection) {
        IStructuredSelection structuredSelection = (IStructuredSelection) selection;
        treeViewer.reveal(structuredSelection.getFirstElement());
    }
}

From source file:org.eclipse.e4.demio.views.nav.ResourceNavigator.java

License:Open Source License

/**
 * Adds the listeners to the viewer.//from   w ww  .  j a  v a  2 s . c  o m
 * 
 * @param viewer the viewer
 * @since 2.0
 */
protected void initListeners(final TreeViewer viewer) {
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            handleSelectionChanged(event);
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            handleDoubleClick(event);
        }
    });

    openAndLinkWithEditorHelper = new OpenAndLinkWithEditorHelper(viewer) {
        protected void activate(ISelection selection) {
            Object selectedElement = getSingleElement(selection);
            if (selectedElement instanceof IFile) {
                IEditorInput input = new FileEditorInput((IFile) selectedElement);
                final IWorkbenchPage page = getSite().getPage();
                IEditorPart editor = page.findEditor(input);
                if (editor != null) {
                    page.activate(editor);
                }
            }

        }

        protected void linkToEditor(ISelection selection) {
            if (!linkScheduled) {
                // Ensure that if another selection change arrives while we're waiting for the *syncExec,
                // we only do this work once.
                linkScheduled = true;
                getSite().getShell().getDisplay().asyncExec(new Runnable() {
                    public void run() {
                        // There's no telling what might have changed since the syncExec was scheduled.
                        // Check to make sure that the widgets haven't been disposed.
                        linkScheduled = false;

                        if (viewer == null || viewer.getControl() == null || viewer.getControl().isDisposed()) {
                            return;
                        }

                        if (dragDetected == false) {
                            // only synchronize with editor when the selection is not the result
                            // of a drag. Fixes bug 22274.
                            ResourceNavigator.this.linkToEditor(viewer.getSelection());
                        }
                    }
                });
            }
        }

        protected void open(ISelection selection, boolean activate) {
            handleOpen(selection);
        }

    };

    viewer.getControl().addKeyListener(new KeyListener() {
        public void keyPressed(KeyEvent event) {
            handleKeyPressed(event);
        }

        public void keyReleased(KeyEvent event) {
            handleKeyReleased(event);
        }
    });

    openAndLinkWithEditorHelper.setLinkWithEditor(linkingEnabled);
}

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.
 * //  w w  w. j av a2 s . c o  m
 * @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.demio.views.nav.ResourceNavigator.java

License:Open Source License

/**
 * @see ViewPart#saveState/*  w w w  .  ja  va2s .co  m*/
 */
public void saveState(IMemento memento) {
    TreeViewer viewer = getTreeViewer();
    if (viewer == null) {
        if (this.memento != null) {
            memento.putMemento(this.memento);
        }
        return;
    }

    //save sorter
    if (getComparator() != null) {
        memento.putInteger(TAG_SORTER, getComparator().getCriteria());
    } else if (getSorter() != null) {
        memento.putInteger(TAG_SORTER, getSorter().getCriteria());
    }

    //save filters
    String filters[] = getPatternFilter().getPatterns();
    List selectedFilters = Arrays.asList(filters);
    List allFilters = FiltersContentProvider.getDefinedFilters();
    IMemento filtersMem = memento.createChild(TAG_FILTERS);
    for (Iterator iter = allFilters.iterator(); iter.hasNext();) {
        String element = (String) iter.next();
        IMemento child = filtersMem.createChild(TAG_FILTER);
        child.putString(TAG_ELEMENT, element);
        child.putString(TAG_IS_ENABLED, String.valueOf(selectedFilters.contains(element)));
    }

    if (frameList.getCurrentIndex() > 0) {
        //save frame, it's not the "home"/workspace frame
        TreeFrame currentFrame = (TreeFrame) frameList.getCurrentFrame();
        IMemento frameMemento = memento.createChild(TAG_CURRENT_FRAME);
        currentFrame.saveState(frameMemento);
    } else {
        //save visible expanded elements
        Object expandedElements[] = viewer.getVisibleExpandedElements();
        if (expandedElements.length > 0) {
            IMemento expandedMem = memento.createChild(TAG_EXPANDED);
            for (int i = 0; i < expandedElements.length; i++) {
                if (expandedElements[i] instanceof IResource) {
                    IMemento elementMem = expandedMem.createChild(TAG_ELEMENT);
                    elementMem.putString(TAG_PATH, ((IResource) expandedElements[i]).getFullPath().toString());
                }
            }
        }
        //save selection
        Object elements[] = ((IStructuredSelection) viewer.getSelection()).toArray();
        if (elements.length > 0) {
            IMemento selectionMem = memento.createChild(TAG_SELECTION);
            for (int i = 0; i < elements.length; i++) {
                if (elements[i] instanceof IResource) {
                    IMemento elementMem = selectionMem.createChild(TAG_ELEMENT);
                    elementMem.putString(TAG_PATH, ((IResource) elements[i]).getFullPath().toString());
                }
            }
        }
    }

    saveLinkingEnabled(memento);
}

From source file:org.eclipse.e4.demio.views.nav.ResourceNavigator.java

License:Open Source License

/**
 * Sets the resource sorter./*from   w ww  .j  av a 2 s.com*/
 * 
 * @param sorter the resource sorter
 * @since 2.0
 * @deprecated as of 3.3, use {@link ResourceNavigator#setComparator(ResourceComparator)}
 */
public void setSorter(ResourceSorter sorter) {
    TreeViewer viewer = getTreeViewer();
    ViewerSorter viewerSorter = viewer.getSorter();

    viewer.getControl().setRedraw(false);
    if (viewerSorter == sorter) {
        viewer.refresh();
    } else {
        viewer.setSorter(sorter);
    }
    viewer.getControl().setRedraw(true);
    settings.put(STORE_SORT_TYPE, sorter.getCriteria());

    // update the sort actions' checked state
    updateActionBars((IStructuredSelection) viewer.getSelection());
}

From source file:org.eclipse.e4.demio.views.nav.ResourceNavigator.java

License:Open Source License

/**
 * Sets the resource comparator//from   w  ww .  j a v a 2s .c  om
 * 
 * @param comparator the resource comparator
 * @since 3.3
 */
public void setComparator(ResourceComparator comparator) {
    TreeViewer viewer = getTreeViewer();
    ViewerComparator viewerComparator = viewer.getComparator();

    viewer.getControl().setRedraw(false);
    if (viewerComparator == comparator) {
        viewer.refresh();
    } else {
        viewer.setComparator(comparator);
    }
    viewer.getControl().setRedraw(true);
    settings.put(STORE_SORT_TYPE, comparator.getCriteria());

    // update the sort actions' checked state
    updateActionBars((IStructuredSelection) viewer.getSelection());
}

From source file:org.eclipse.e4.demio.views.nav.ResourceNavigator.java

License:Open Source License

public void setWorkingSet(IWorkingSet workingSet) {
    TreeViewer treeViewer = getTreeViewer();
    Object[] expanded = treeViewer.getExpandedElements();
    ISelection selection = treeViewer.getSelection();

    boolean refreshNeeded = internalSetWorkingSet(workingSet);

    workingSetFilter.setWorkingSet(emptyWorkingSet ? null : workingSet);
    if (workingSet != null) {
        settings.put(STORE_WORKING_SET, workingSet.getName());
    } else {//from w w  w. j  a  va  2  s.c om
        settings.put(STORE_WORKING_SET, ""); //$NON-NLS-1$
    }
    updateTitle();
    if (refreshNeeded) {
        treeViewer.refresh();
    }
    treeViewer.setExpandedElements(expanded);
    if (selection.isEmpty() == false && selection instanceof IStructuredSelection) {
        IStructuredSelection structuredSelection = (IStructuredSelection) selection;
        treeViewer.reveal(structuredSelection.getFirstElement());
    }
}

From source file:org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer.java

License:Open Source License

public TreeViewer createViewer(Composite parent, EStructuralFeature feature, final IObservableValue master,
        IResourcePool resourcePool, final Messages messages) {
    final TreeViewer viewer = new TreeViewer(parent);
    viewer.setContentProvider(new WidgetContentProvider());
    viewer.setLabelProvider(new WidgetLabelProvider(resourcePool));
    IEMFValueProperty property = EMFProperties.value(feature);
    IObservableValue value = property.observeDetail(master);
    value.addValueChangeListener(new IValueChangeListener() {

        @Override//  www .  j  av a 2s  .  c  om
        public void handleValueChange(ValueChangeEvent event) {
            if (event.diff.getNewValue() != null) {
                viewer.setInput(Collections.singleton(event.diff.getNewValue()));
                viewer.expandToLevel(2);
            } else {
                viewer.setInput(Collections.emptyList());
            }
        }
    });

    final MenuManager mgr = new MenuManager();
    mgr.setRemoveAllWhenShown(true);
    mgr.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            final Object o = ((IStructuredSelection) viewer.getSelection()).getFirstElement();
            if (o instanceof Control) {
                manager.add(new Action(messages.ModelEditor_ShowControl) {
                    @Override
                    public void run() {
                        ControlHighlighter.show((Control) o);
                    }
                });
            }

            IExtensionRegistry registry = RegistryFactory.getRegistry();
            IExtensionPoint extPoint = registry.getExtensionPoint("org.eclipse.e4.tools.emf.ui.scripting"); //$NON-NLS-1$
            final IConfigurationElement[] elements = extPoint.getConfigurationElements();

            final IStructuredSelection s = (IStructuredSelection) viewer.getSelection();

            if (elements.length > 0 && !s.isEmpty()) {
                MenuManager scriptExecute = new MenuManager(messages.ModelEditor_Script);
                manager.add(scriptExecute);
                for (IConfigurationElement e : elements) {
                    final IConfigurationElement le = e;
                    scriptExecute.add(new Action(e.getAttribute("label")) { //$NON-NLS-1$
                        @Override
                        public void run() {
                            try {
                                MApplicationElement o = (MApplicationElement) master.getValue();
                                IScriptingSupport support = (IScriptingSupport) le
                                        .createExecutableExtension("class"); //$NON-NLS-1$
                                support.openEditor(viewer.getControl().getShell(), s.getFirstElement(),
                                        ModelUtils.getContainingContext(o));
                            } catch (CoreException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                        }
                    });
                }
            }
        }
    });

    viewer.getControl().setMenu(mgr.createContextMenu(viewer.getControl()));

    return viewer;
}

From source file:org.eclipse.e4.xwt.tests.snippet019.array.TreeViewerWithArrayFactory.java

License:Open Source License

public void addChild(Object sender, Event e) {
    TreeViewer beanViewer = (TreeViewer) XWT.findElementByName(e.widget, "TreeViewer");
    IStructuredSelection structuredSelection = (IStructuredSelection) beanViewer.getSelection();
    Bean bean = (Bean) structuredSelection.getFirstElement();
    IObservableList observableList = XWT.findObservableList(e.widget, bean, "list");
    Bean root = createBean("root");
    observableList.add(root);//from   www.j a v  a  2s  . c  o m

    beanViewer.setSelection(new StructuredSelection(root));

    Text beanText = (Text) XWT.findElementByName(e.widget, "nameText");
    beanText.selectAll();
    beanText.setFocus();
}