List of usage examples for org.eclipse.jface.viewers TreeViewer setSelection
@Override public void setSelection(ISelection selection, boolean reveal)
From source file:org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal.java
License:Open Source License
public static void preservingSelection(final TreeViewer viewer, Runnable runnable) { final ISelection selection = viewer.getSelection(); runnable.run();// w w w. jav a 2 s .c o m if (selection != null) { ISelection newSelection = viewer.getSelection(); if ((newSelection == null || newSelection.isEmpty()) && !(selection == null || selection.isEmpty())) { // delay execution to ensure that any delayed tree updates such as expand all have been processed and the selection is revealed properly Display.getDefault().asyncExec(new Runnable() { public void run() { viewer.setSelection(selection, true); } }); } else if (newSelection instanceof ITreeSelection && !newSelection.isEmpty()) { viewer.reveal(((ITreeSelection) newSelection).getFirstElement()); } } }
From source file:org.eclipse.oomph.setup.presentation.templates.GenericSetupTemplate.java
License:Open Source License
protected void updateSelection(VariableTask variable) { TreeViewer previewer = getContainer().getPreviewer(); if (previewer != null) { focusUsages.clear();//w ww .ja v a 2 s . c o m Set<Setting> settings = usages == null ? null : usages.get(variable); if (settings != null) { for (Setting setting : settings) { CollectionUtil.add(focusUsages, setting.getEObject(), setting.getEStructuralFeature()); } } previewer.refresh(true); if (focusUsages.isEmpty()) { String name = variable.getName(); if ("setup.location".equals(name) || "setup.filename".equals(name)) { previewer.setSelection(new StructuredSelection(getResource()), true); } } else { previewer.setSelection(new StructuredSelection(focusUsages.keySet().toArray()), true); } } }
From source file:org.eclipse.papyrus.diagram.common.sheet.ReferenceElementChooserDialog.java
License:Open Source License
@Override protected void setSelection(TreeViewer treeViewer) { Object featureValue = mySourceObject.eGet(myFeature); if (featureValue != null) { treeViewer.expandToLevel(3);/*www .jav a2s.c o m*/ treeViewer.setSelection(new StructuredSelection(featureValue), true); } }
From source file:org.eclipse.papyrus.infra.widgets.strategy.WorkspaceRevealStrategy.java
License:Open Source License
@Override public void revealSemanticElement(List<?> elementsToReveal) { if (viewer instanceof TreeViewer) { TreeViewer treeViewer = (TreeViewer) viewer; TreePath[] paths = new TreePath[elementsToReveal.size()]; int i = 0; List<?> roots = Arrays.asList(getElements()); for (Object elementToReveal : elementsToReveal) { LinkedList<IResource> segments = new LinkedList<IResource>(); if (elementToReveal instanceof IResource) { IResource currentElement = (IResource) elementToReveal; segments.add(currentElement); currentElement = currentElement.getParent(); while (currentElement != null) { segments.addFirst(currentElement); if (roots.contains(currentElement)) { break; //If the tree root is not the Workspace Root, stop now }//from w w w . j a va 2 s .c o m currentElement = currentElement.getParent(); } } paths[i++] = new TreePath(segments.toArray()); } TreeSelection selection = new TreeSelection(paths); treeViewer.setSelection(selection, true); } else { super.revealSemanticElement(elementsToReveal); } }
From source file:org.eclipse.stardust.modeling.transformation.debug.views.TransformationMappingDebugView.java
License:Open Source License
public void highlightOutMessageNode(String fieldPath) { // This counter should be incremented on each iter.next() call which succeeds. int usedFieldPathSegmentCounter = 0; Iterator iter = StringUtils.split(fieldPath, "/"); //$NON-NLS-1$ // if no path at all -> return if (!iter.hasNext()) { // TODO: log this situation return;//from w w w. j a v a 2 s .c o m } TreeViewer target = controlsManager.getTargetMessageTreeViewer(); MultipleAccessPathBrowserContentProvider contentProvider = (MultipleAccessPathBrowserContentProvider) target .getContentProvider(); TreeItem[] items = target.getTree().getItems(); String rootItemName = (String) iter.next(); ++usedFieldPathSegmentCounter; TreeItem rootItem = null; for (int idx = 0; idx < items.length; idx++) { rootItem = items[idx]; if (rootItemName.equals(rootItem.getText())) { break; } } // if no root item with this name exists -> return if (null == rootItem) { // TODO: log this situation return; } List itemData = CollectionUtils.newArrayList(); StructAccessPointType sap = (StructAccessPointType) rootItem.getData(); itemData.add(sap); // search for all children selected by field path elements boolean hasChildren = contentProvider.hasChildren(sap); while (hasChildren && iter.hasNext()) { hasChildren = false; String nextItemName = (String) iter.next(); ++usedFieldPathSegmentCounter; Object[] children = contentProvider.getChildren(sap); for (int idx = 0; idx < children.length; idx++) { sap = (StructAccessPointType) children[idx]; if (sap.getId().equals(nextItemName)) { itemData.add(sap); hasChildren = contentProvider.hasChildren(sap); break; } } } if (usedFieldPathSegmentCounter != itemData.size()) { // TODO: log this situation return; } // only set new selection if current selection is the same. TreeSelection selection = (TreeSelection) target.getSelection(); TreePath[] selectedPath = selection.getPathsFor(itemData.get(itemData.size() - 1)); if (selectedPath.length == 0) { target.setSelection(new TreeSelection(new TreePath(itemData.toArray())), true); } }
From source file:org.eclipse.tcf.te.tcf.filesystem.ui.internal.wizards.NewNodeWizard.java
License:Open Source License
/** * Select the specified node in the selection provider. * * @param node The node to be selected./*from w ww. ja va 2 s . c o m*/ */ void selectNewNode(IFSTreeNode node) { TreeViewer viewer = getFocusedViewer(); if (viewer != null) { viewer.refresh(folder); ISelection selection = new StructuredSelection(node); viewer.setSelection(selection, true); } }
From source file:org.eclipse.team.internal.ui.synchronize.AbstractTreeViewerAdvisor.java
License:Open Source License
private static void setSelection(TreeViewer viewer, TreeItem ti, boolean fireOpen, boolean expandOnly) { if (ti != null) { Object data = ti.getData(); if (data != null) { // Fix for http://dev.eclipse.org/bugs/show_bug.cgi?id=20106 ISelection selection = new StructuredSelection(data); if (expandOnly) { viewer.expandToLevel(data, 0); } else { viewer.setSelection(selection, true); ISelection currentSelection = viewer.getSelection(); if (fireOpen && currentSelection != null && selection.equals(currentSelection)) { if (viewer instanceof ITreeViewerAccessor) { ((ITreeViewerAccessor) viewer).openSelection(); }//www . ja v a 2s . co m } } } } }
From source file:org.eclipse.team.svn.ui.history.SVNHistoryPage.java
License:Open Source License
protected void fetchRemoteHistory(final GetLogMessagesOperation msgsOp) { msgsOp.setIncludeMerged(SVNTeamPreferences.getMergeBoolean(SVNTeamUIPlugin.instance().getPreferenceStore(), SVNTeamPreferences.MERGE_INCLUDE_MERGED_NAME)); final IStructuredSelection selected = (IStructuredSelection) this.history.getTreeViewer().getSelection(); IActionOperation showOp = new AbstractActionOperation("Operation_HShowHistory", SVNUIMessages.class) { //$NON-NLS-1$ private long revision = SVNHistoryPage.this.currentRevision; protected void runImpl(IProgressMonitor monitor) throws Exception { IRepositoryResource resource = SVNHistoryPage.this.repositoryResource; if (msgsOp.getExecutionState() != IActionOperation.OK || resource == null) { SVNHistoryPage.this.pending = false; UIMonitorUtility.getDisplay().syncExec(new Runnable() { public void run() { SVNHistoryPage.this.history.refresh(LogMessagesComposite.REFRESH_ALL); }/*w ww.java 2 s.c om*/ }); return; } if (SVNHistoryPage.this.wcResource == null) { this.revision = resource.getRevision(); } if (!resource.equals(msgsOp.getResource())) { return; } SVNHistoryPage.this.currentRevision = this.revision; SVNHistoryPage.this.addPage(msgsOp.getMessages()); UIMonitorUtility.getDisplay().syncExec(new Runnable() { public void run() { SVNHistoryPage.this.history.refresh(LogMessagesComposite.REFRESH_ALL); SVNHistoryPage.this.setButtonsEnablement(); TreeViewer treeTable = SVNHistoryPage.this.history.getTreeViewer(); if (!treeTable.getTree().isDisposed() && treeTable.getTree().getItems().length > 0) { if (selected.size() != 0) { treeTable.setSelection(selected, true); } else { TreeItem firstItem = treeTable.getTree().getItem(0); if (((ILogNode) firstItem.getData()).getType() == ILogNode.TYPE_CATEGORY) { firstItem = firstItem.getItem(0); } treeTable.getTree().setSelection(firstItem); } SVNHistoryPage.this.history.refresh(LogMessagesComposite.REFRESH_UI_AFFECTED); } } }); } }; CompositeOperation op = new CompositeOperation(showOp.getId(), showOp.getMessagesClass(), true); op.add(new CorrectRevisionOperation(msgsOp, this.repositoryResource, this.currentRevision, this.wcResource)); op.add(msgsOp); op.add(showOp); ProgressMonitorUtility.doTaskScheduled(op, false); }
From source file:org.eclipse.ui.internal.keys.NewKeysPreferencePage.java
License:Open Source License
private void createTree(Composite parent) { fPatternFilter = new CategoryPatternFilter(true, fDefaultCategory); fPatternFilter.filterCategories(true); GridData gridData;/*from w ww . jav a2 s . co m*/ fFilteredTree = new CategoryFilterTree(parent, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER, fPatternFilter); final GridLayout layout = new GridLayout(1, false); layout.marginWidth = 0; fFilteredTree.setLayout(layout); gridData = new GridData(); gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; fFilteredTree.setLayoutData(gridData); final TreeViewer viewer = fFilteredTree.getViewer(); // Make sure the filtered tree has a height of ITEMS_TO_SHOW final Tree tree = viewer.getTree(); tree.setHeaderVisible(true); final Object layoutData = tree.getLayoutData(); if (layoutData instanceof GridData) { gridData = (GridData) layoutData; final int itemHeight = tree.getItemHeight(); if (itemHeight > 1) { gridData.heightHint = ITEMS_TO_SHOW * itemHeight; } } BindingModelComparator comparator = new BindingModelComparator(); viewer.setComparator(comparator); final TreeColumn commandNameColumn = new TreeColumn(tree, SWT.LEFT, COMMAND_NAME_COLUMN); commandNameColumn.setText(NewKeysPreferenceMessages.CommandNameColumn_Text); tree.setSortColumn(commandNameColumn); tree.setSortDirection(comparator.isAscending() ? SWT.UP : SWT.DOWN); commandNameColumn .addSelectionListener(new ResortColumn(comparator, commandNameColumn, viewer, COMMAND_NAME_COLUMN)); final TreeColumn triggerSequenceColumn = new TreeColumn(tree, SWT.LEFT, KEY_SEQUENCE_COLUMN); triggerSequenceColumn.setText(NewKeysPreferenceMessages.TriggerSequenceColumn_Text); triggerSequenceColumn.addSelectionListener( new ResortColumn(comparator, triggerSequenceColumn, viewer, KEY_SEQUENCE_COLUMN)); final TreeColumn whenColumn = new TreeColumn(tree, SWT.LEFT, CONTEXT_COLUMN); whenColumn.setText(NewKeysPreferenceMessages.WhenColumn_Text); whenColumn.addSelectionListener(new ResortColumn(comparator, whenColumn, viewer, CONTEXT_COLUMN)); final TreeColumn categoryColumn = new TreeColumn(tree, SWT.LEFT, CATEGORY_COLUMN); categoryColumn.setText(NewKeysPreferenceMessages.CategoryColumn_Text); categoryColumn.addSelectionListener(new ResortColumn(comparator, categoryColumn, viewer, CATEGORY_COLUMN)); final TreeColumn userMarker = new TreeColumn(tree, SWT.LEFT, USER_DELTA_COLUMN); userMarker.setText(NewKeysPreferenceMessages.UserColumn_Text); userMarker.addSelectionListener(new ResortColumn(comparator, userMarker, viewer, USER_DELTA_COLUMN)); viewer.setContentProvider(new ModelContentProvider()); viewer.setLabelProvider(new BindingElementLabelProvider()); fFilteredTree.getPatternFilter().setIncludeLeadingWildcard(true); final TreeColumn[] columns = viewer.getTree().getColumns(); columns[COMMAND_NAME_COLUMN].setWidth(240); columns[KEY_SEQUENCE_COLUMN].setWidth(130); columns[CONTEXT_COLUMN].setWidth(130); columns[CATEGORY_COLUMN].setWidth(130); columns[USER_DELTA_COLUMN].setWidth(50); viewer.addSelectionChangedListener(new ISelectionChangedListener() { // When the viewer changes selection, update the model's current // selection public void selectionChanged(SelectionChangedEvent event) { ModelElement binding = (ModelElement) ((IStructuredSelection) event.getSelection()) .getFirstElement(); keyController.getBindingModel().setSelectedElement(binding); } }); IPropertyChangeListener treeUpdateListener = new IPropertyChangeListener() { // When the model changes a property, update the viewer public void propertyChange(PropertyChangeEvent event) { if (event.getSource() == keyController.getBindingModel() && CommonModel.PROP_SELECTED_ELEMENT.equals(event.getProperty())) { Object newVal = event.getNewValue(); StructuredSelection structuredSelection = newVal == null ? null : new StructuredSelection(newVal); viewer.setSelection(structuredSelection, true); } else if (event.getSource() instanceof BindingElement && ModelElement.PROP_MODEL_OBJECT.equals(event.getProperty())) { viewer.update(event.getSource(), null); } else if (BindingElement.PROP_CONFLICT.equals(event.getProperty())) { viewer.update(event.getSource(), null); } else if (BindingModel.PROP_BINDINGS.equals(event.getProperty())) { viewer.refresh(); } else if (BindingModel.PROP_BINDING_ADD.equals(event.getProperty())) { viewer.add(keyController.getBindingModel(), event.getNewValue()); } else if (BindingModel.PROP_BINDING_REMOVE.equals(event.getProperty())) { viewer.remove(event.getNewValue()); } else if (BindingModel.PROP_BINDING_FILTER.equals(event.getProperty())) { viewer.refresh(); } } }; keyController.addPropertyChangeListener(treeUpdateListener); // as far as I got }
From source file:org.eclipse.ui.internal.themes.ColorsAndFontsPreferencePage.java
License:Open Source License
/** * Selects and reveals the given element. * // w w w . ja va 2 s .c om * @param selection * the object to select and reveal * @since 3.7 */ private void selectAndReveal(Object selection) { TreeViewer viewer = tree.getViewer(); viewer.setSelection(new StructuredSelection(selection), false); viewer.reveal(selection); viewer.getTree().setFocus(); }