List of usage examples for org.eclipse.jface.viewers TreeViewer getSelection
@Override
public ISelection getSelection()
AbstractTreeViewer
implementation of this method returns the result as an ITreeSelection
. 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(); }