List of usage examples for org.eclipse.jface.viewers TreeViewer expandToLevel
public void expandToLevel(int level, boolean disableRedraw)
From source file:org.eclipse.mylyn.internal.context.ui.BrowseFilteredListener.java
License:Open Source License
/** * @param treeViewer// www .j av a2 s .c o m * cannot be null * @param targetSelection * cannot be null */ public void unfilterSelection(TreeViewer treeViewer, IStructuredSelection targetSelection) { InterestFilter filter = getInterestFilter(treeViewer); Object targetObject = targetSelection.getFirstElement(); if (filter != null && targetObject != null) { filter.addTemporarilyUnfiltered(targetObject); if (targetObject instanceof Tree) { treeViewer.refresh(); } else { treeViewer.refresh(targetObject, true); treeViewer.expandToLevel(targetObject, 1); } } }
From source file:org.eclipse.mylyn.internal.context.ui.BrowseFilteredListener.java
License:Open Source License
private void unfilter(final InterestFilter filter, final TreeViewer treeViewer, Object targetObject) { if (targetObject != null) { filter.addTemporarilyUnfiltered(targetObject); if (targetObject instanceof Tree) { treeViewer.refresh();/*from w w w . j ava 2 s . c o m*/ } else { treeViewer.refresh(targetObject, true); treeViewer.expandToLevel(targetObject, 1); } } }
From source file:org.eclipse.mylyn.internal.context.ui.FocusedViewerManager.java
License:Open Source License
private void updateExpansionState(StructuredViewer viewer, Object objectToRefresh) { if (viewer instanceof TreeViewer && filteredViewers.contains(viewer) && hasInterestFilter(viewer, true) && ContextUiPlugin.getDefault().getPreferenceStore() .getBoolean(IContextUiPreferenceContstants.AUTO_MANAGE_EXPANSION)) { TreeViewer treeViewer = (TreeViewer) viewer; // HACK to fix bug 278569: [context] errors with Markers view and active Mylyn task if ("org.eclipse.ui.internal.views.markers.MarkersTreeViewer".equals(treeViewer.getClass() //$NON-NLS-1$ .getCanonicalName())) {// w w w . ja v a2s. c o m objectToRefresh = null; } if (objectToRefresh == null) { treeViewer.expandAll(); } else { treeViewer.expandToLevel(objectToRefresh, AbstractTreeViewer.ALL_LEVELS); } } }
From source file:org.eclipse.mylyn.internal.gerrit.ui.egit.GerritRepositorySearchPage.java
License:Open Source License
private void doubleClick(TreeViewer tv, ITreeSelection selection) { clearError();// w w w .j av a 2 s . c o m GerritRepositorySearchPage.this.selectionChanged(tv, selection); if (selection.size() == 1 && selection.getFirstElement() instanceof TaskRepository) { Object element = selection.getFirstElement(); if (tv.getExpandedState(element)) { tv.collapseToLevel(element, 1); } else { tv.expandToLevel(element, 1); } } if (isPageComplete()) { getContainer().showPage(getNextPage()); } }
From source file:org.eclipse.mylyn.internal.tasks.ui.commands.GoToUnreadTaskHandler.java
License:Open Source License
@Override protected void execute(ExecutionEvent event, TaskListView taskListView, IRepositoryElement item) { TreeViewer treeViewer = taskListView.getViewer(); Tree tree = treeViewer.getTree();//from w ww . j a v a 2s . co m // need to expand nodes to traverse the tree, disable redraw to avoid flickering TreePath treePath = null; try { tree.setRedraw(false); treePath = getUnreadItem(treeViewer, tree); } finally { tree.setRedraw(true); } if (treePath != null) { treeViewer.expandToLevel(treePath, 0); treeViewer.setSelection(new TreeSelection(treePath), true); } }
From source file:org.eclipse.net4j.util.ui.StructuredContentProvider.java
License:Open Source License
/** * @since 3.3/*w w w. ja va 2 s.co m*/ */ public void expandElement(final Object element, final int level) { if (element != null) { if (getViewer() instanceof TreeViewer) { final TreeViewer viewer = (TreeViewer) getViewer(); try { getDisplay().asyncExec(new Runnable() { public void run() { try { viewer.expandToLevel(element, level); } catch (RuntimeException ignore) { } } }); } catch (RuntimeException ignore) { } } } }
From source file:org.eclipse.sapphire.ui.renderers.swt.EclipseWorkspacePathPropertyEditorRenderer.java
License:Open Source License
@Override protected void createContents(final Composite parent) { final PropertyEditorPart part = getPart(); final Value<?> value = (Value<?>) part.property(); final Text textField = (Text) super.createContents(parent, true); final Composite drillDownParent = createMainComposite(parent, new CreateMainCompositeDelegate(part) { @Override//from www .j a v a2s .co m public boolean getShowLabel() { return false; } }); drillDownParent.setLayout(glayout(1, 9, 0, 0, 0)); final DrillDownComposite drillDown = new DrillDownComposite(drillDownParent, SWT.BORDER); drillDown.setLayoutData(gdfill()); final TreeViewer treeViewer = new TreeViewer(drillDown, SWT.NONE); final Tree tree = treeViewer.getTree(); drillDown.setChildTree(treeViewer); treeViewer.setContentProvider(new WorkbenchContentProvider()); treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); treeViewer.setSorter(new ViewerSorter()); final ValidFileSystemResourceType validFileSystemResourceTypeAnnotation = value.definition() .getAnnotation(ValidFileSystemResourceType.class); if (validFileSystemResourceTypeAnnotation != null) { if (validFileSystemResourceTypeAnnotation.value() == FileSystemResourceType.FOLDER) { treeViewer.addFilter(new ContainersOnlyViewerFilter()); } final FileExtensionsService fileExtensionsService = value.service(FileExtensionsService.class); if (fileExtensionsService != null) { final ExtensionBasedViewerFilter filter = new ExtensionBasedViewerFilter( fileExtensionsService.extensions()); treeViewer.addFilter(filter); final Listener listener = new Listener() { @Override public void handle(final Event event) { filter.change(fileExtensionsService.extensions()); treeViewer.refresh(); } }; fileExtensionsService.attach(listener); tree.addDisposeListener(new DisposeListener() { public void widgetDisposed(final DisposeEvent event) { fileExtensionsService.detach(listener); } }); } } treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(final DoubleClickEvent event) { final IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection != null) { final Object item = selection.getFirstElement(); if (treeViewer.getExpandedState(item)) { treeViewer.collapseToLevel(item, 1); } else { treeViewer.expandToLevel(item, 1); } } } }); treeViewer.setInput(ResourcesPlugin.getWorkspace()); this.decorator.addEditorControl(drillDown); this.decorator.addEditorControl(tree); final String val = value.text(); if (val != null) { final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IPath path = new Path(val); IResource resource = root.findMember(val); while (resource == null) { path = path.removeLastSegments(1); resource = root.findMember(path); } if (resource instanceof IFile && validFileSystemResourceTypeAnnotation.value() == FileSystemResourceType.FOLDER) { resource = resource.getParent(); } treeViewer.setSelection(new StructuredSelection(resource)); } treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { final IStructuredSelection selection = (IStructuredSelection) event.getSelection(); String path = MiscUtil.EMPTY_STRING; if (selection != null && !selection.isEmpty()) { final IResource resource = (IResource) selection.getFirstElement(); path = resource.getFullPath().toPortableString(); if (path.startsWith("/") && path.length() > 1) { path = path.substring(1); } } textField.setText(path); } }); textField.setData(DATA_BINDING, this.binding); addControl(tree); }
From source file:org.eclipse.sapphire.workspace.ui.WorkspaceRelativePathPropertyEditorPresentation.java
License:Open Source License
@Override protected void createContents(final Composite parent) { final PropertyEditorPart part = part(); final Value<?> value = (Value<?>) part.property(); final Element element = value.element(); final Text textField = (Text) super.createContents(parent, true); final Composite drillDownParent = createMainComposite(parent, new CreateMainCompositeDelegate(part) { @Override// ww w .ja v a2 s. c o m public boolean getShowLabel() { return false; } }); drillDownParent.setLayout(glayout(1, 9, 0, 0, 0)); final DrillDownComposite drillDown = new DrillDownComposite(drillDownParent, SWT.BORDER); drillDown.setLayoutData(gdfill()); final TreeViewer treeViewer = new TreeViewer(drillDown, SWT.NONE); final Tree tree = treeViewer.getTree(); drillDown.setChildTree(treeViewer); treeViewer.setContentProvider(new WorkbenchContentProvider()); treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); treeViewer.setSorter(new ViewerSorter()); final ValidFileSystemResourceType validFileSystemResourceTypeAnnotation = value.definition() .getAnnotation(ValidFileSystemResourceType.class); if (validFileSystemResourceTypeAnnotation != null) { if (validFileSystemResourceTypeAnnotation.value() == FileSystemResourceType.FOLDER) { treeViewer.addFilter(new ContainersOnlyViewerFilter()); } final FileExtensionsService fileExtensionsService = value.service(FileExtensionsService.class); if (fileExtensionsService != null) { final ExtensionBasedViewerFilter filter = new ExtensionBasedViewerFilter( fileExtensionsService.extensions()); treeViewer.addFilter(filter); final Listener listener = new Listener() { @Override public void handle(final Event event) { filter.change(fileExtensionsService.extensions()); treeViewer.refresh(); } }; fileExtensionsService.attach(listener); tree.addDisposeListener(new DisposeListener() { public void widgetDisposed(final DisposeEvent event) { fileExtensionsService.detach(listener); } }); } } treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(final DoubleClickEvent event) { final IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection != null) { final Object item = selection.getFirstElement(); if (treeViewer.getExpandedState(item)) { treeViewer.collapseToLevel(item, 1); } else { treeViewer.expandToLevel(item, 1); } } } }); final IContainer root; if (element instanceof CreateWorkspaceFileOp) { root = ((CreateWorkspaceFileOp) element).getRoot().target(); } else { root = ResourcesPlugin.getWorkspace().getRoot(); } treeViewer.setInput(root); this.decorator.addEditorControl(drillDown); this.decorator.addEditorControl(tree); final String val = value.text(); if (val != null) { IPath path = new Path(val); IResource resource = root.findMember(val); while (resource == null) { path = path.removeLastSegments(1); resource = root.findMember(path); } if (resource instanceof IFile && validFileSystemResourceTypeAnnotation.value() == FileSystemResourceType.FOLDER) { resource = resource.getParent(); } treeViewer.setSelection(new StructuredSelection(resource)); } treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { final IResource resource; final IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection == null || selection.isEmpty()) { resource = (IResource) treeViewer.getInput(); } else { resource = (IResource) selection.getFirstElement(); } String path = resource.getFullPath().makeRelativeTo(root.getFullPath()).toString(); if (path.startsWith("/") && path.length() > 1) { path = path.substring(1); } textField.setText(path); } }); textField.setData(DATA_BINDING, this.binding); addControl(tree); }
From source file:org.eclipse.team.internal.ccvs.ui.operations.FetchAllMembersOperation.java
License:Open Source License
protected void execute(IProgressMonitor monitor) throws CVSException, InterruptedException { //expand each folder selected in the tree ICVSRemoteResource[] restest = getRemoteResources(); ICVSRemoteFolder testfolder = (ICVSRemoteFolder) restest[0]; CVSTag tag = testfolder.getTag();//w ww . j av a2s . com if (tag == null) tag = CVSTag.DEFAULT; LogEntryCache cache = new LogEntryCache(); RemoteLogOperation operation = new RemoteLogOperation(getPart(), getRemoteResources(), tag, null, cache); try { operation.run(monitor); ICVSRemoteResource[] remoteRes = getRemoteResources(); final ICVSRemoteFolder project = (ICVSRemoteFolder) remoteRes[0]; //Get the entry paths String[] entry = cache.getCachedFilePaths(); //Strip repo + project info from entries RLogTreeBuilder treeBuilder = new RLogTreeBuilder(project.getRepository(), tag); for (int i = 0; i < entry.length; i++) { ILogEntry[] logEntry = cache.getLogEntries(entry[i]); //might not have state if this a branch entry if (logEntry[0].getState() != null && logEntry[0].getState().equals(DEAD_STATE)) continue; ICVSRemoteFile remoteFile = logEntry[0].getRemoteFile(); //if the current folder tag is a branch tag, we need to take the extra step //of making sure that the file's revision number has been set appropriately if (tag.getType() == CVSTag.BRANCH && remoteFile.getRevision().equals(LogListener.BRANCH_REVISION)) verifyRevision(tag, logEntry[0], remoteFile); IPath logPath = new Path(null, remoteFile.getRepositoryRelativePath()); if (logPath.segmentCount() > 0) logPath = logPath.removeFirstSegments(1); treeBuilder.newFile(logPath, remoteFile); } RemoteFolderTree remoteTree = treeBuilder.getTree(); IWorkbenchPart part = this.getPart(); if (part instanceof RepositoriesView) { final RepositoriesView repView = (RepositoriesView) part; RemoteContentProvider prov = repView.getContentProvider(); prov.addCachedTree(project, remoteTree); final TreeViewer tree = repView.getViewer(); Utils.asyncExec(new Runnable() { public void run() { tree.expandToLevel(project, AbstractTreeViewer.ALL_LEVELS); } }, repView.getViewer()); } } catch (InvocationTargetException e) { throw CVSException.wrapException(e); } catch (InterruptedException e) { // Ignore; } catch (TeamException e) { throw CVSException.wrapException(e); } }
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(); }/*w w w .j a v a 2 s .c o m*/ } } } } }