List of usage examples for org.eclipse.jface.viewers TreeViewer collapseToLevel
public void collapseToLevel(Object elementOrTreePath, int level)
From source file:org.apache.directory.studio.ldifeditor.editor.LdifOutlinePage.java
License:Apache License
/** * {@inheritDoc}/* w ww .j ava 2 s .co m*/ */ public void createControl(Composite parent) { super.createControl(parent); final TreeViewer treeViewer = getTreeViewer(); treeViewer.setLabelProvider(new LdifLabelProvider(ldifEditor, isLinkedToLdapBrowser)); treeViewer.setContentProvider(new LdifContentProvider()); if (isLinkedToLdapBrowser) { treeViewer.setAutoExpandLevel(2); } treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) { Object element = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (element instanceof LdifRecord) { LdifRecord ldifRecord = (LdifRecord) element; ldifEditor.selectAndReveal(ldifRecord.getDnLine().getOffset(), ldifRecord.getDnLine().getLength()); } else if (element instanceof List) { List<?> list = (List<?>) element; if (!list.isEmpty() && list.get(0) instanceof LdifAttrValLine) { LdifAttrValLine line = (LdifAttrValLine) list.get(0); ldifEditor.selectAndReveal(line.getOffset(), line.getRawAttributeDescription().length()); } } else if (element instanceof LdifAttrValLine) { LdifAttrValLine line = (LdifAttrValLine) element; ldifEditor.selectAndReveal(line.getOffset() + line.getRawAttributeDescription().length() + line.getRawValueType().length(), line.getRawValue().length()); } else if (element instanceof LdifModSpec) { LdifModSpec modSpec = (LdifModSpec) element; ldifEditor.selectAndReveal(modSpec.getOffset(), modSpec.getModSpecType().getLength()); } } } }); treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (event.getSelection() instanceof IStructuredSelection) { Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (treeViewer.getExpandedState(obj)) treeViewer.collapseToLevel(obj, 1); else if (((ITreeContentProvider) treeViewer.getContentProvider()).hasChildren(obj)) treeViewer.expandToLevel(obj, 1); } } }); this.refresh(); }
From source file:org.caesarj.ui.editor.CaesarJContentOutlinePage.java
License:Open Source License
/** * Updates the outline page.//from w w w.j a v a2 s .co m */ public void update(ProjectProperties properties) { IProgramElement input = getInput(properties.getAsmManager().getHierarchy().getRoot()); TreeViewer viewer = getTreeViewer(); if (viewer != null && input != null) { Control control = viewer.getControl(); if (control != null && !control.isDisposed()) { control.setRedraw(false); viewer.setInput(input); viewer.expandAll(); if (input instanceof CaesarProgramElement) { // find and collapses the import node: Iterator it = ((CaesarProgramElement) input).getChildren().iterator(); while (it.hasNext()) { Object next = it.next(); if (next instanceof CaesarProgramElement) { if (((CaesarProgramElement) next) .getCaesarKind() == CaesarProgramElement.Kind.IMPORTS) { viewer.collapseToLevel(next, AbstractTreeViewer.ALL_LEVELS); } } } } control.setRedraw(true); } } }
From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java
License:Open Source License
/** * Contributes double-click support, expanding/collapsing nodes. * * @param treeViewer//from w w w . ja v a2 s . co m * tree viewer */ private void contributeDoubleClick(final TreeViewer treeViewer) { treeViewer.getTree().addMouseListener(new MouseAdapter() { public void mouseDoubleClick(MouseEvent event) { IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); Object element = selection.getFirstElement(); if (treeViewer.isExpandable(element)) { if (treeViewer.getExpandedState(element)) { treeViewer.collapseToLevel(element, 1); } else { treeViewer.expandToLevel(element, 1); } } } }); }
From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java
License:Open Source License
/** * Contributes double-click support, expanding/collapsing nodes. * @param treeViewer tree viewer//from w w w. j a v a 2 s.c om */ private void contributeDoubleClick(final TreeViewer treeViewer) { treeViewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(final MouseEvent event) { final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); final Object element = selection.getFirstElement(); if (treeViewer.isExpandable(element)) { if (treeViewer.getExpandedState(element)) { treeViewer.collapseToLevel(element, 1); } else { treeViewer.expandToLevel(element, 1); } } } }); }
From source file:org.eclipse.birt.report.designer.ui.widget.TreeViewerBackup.java
License:Open Source License
public void updateCollapsedStatus(TreeViewer treeViewer, Object data) { if (!Constants.OS_MACOSX.equalsIgnoreCase(Platform.getOS())) {//collapse all sub nodes if not in MacOS treeViewer.collapseToLevel(data, TreeViewer.ALL_LEVELS); }//from w w w . ja v a2s . c o m updateStatus(treeViewer); }
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 a va 2 s . co 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.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/*w w w .j ava 2s .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); } } } }); 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//from w w w . j av a2 s . c om 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.svn.ui.history.HistoryActionManager.java
License:Open Source License
protected void handleDoubleClick(TreeViewer viewer, ILogNode item, boolean doubleClick) { int type = item.getType(); if (type == ILogNode.TYPE_CATEGORY) { if (viewer.getExpandedState(item)) { viewer.collapseToLevel(item, TreeViewer.ALL_LEVELS); } else {/*from w ww.jav a 2s. c o m*/ viewer.expandToLevel(item, TreeViewer.ALL_LEVELS); } return; } boolean isCompareAllowed = CoreExtensionsManager.instance().getSVNConnectorFactory() .getSVNAPIVersion() >= ISVNConnectorFactory.APICompatibility.SVNAPI_1_5_x || this.view.getRepositoryResource() instanceof IRepositoryFile; if ((this.view.getOptions() & ISVNHistoryView.COMPARE_MODE) != 0 && doubleClick && isCompareAllowed) { if (type == ILogNode.TYPE_SVN && !(item.getParent() instanceof SVNLogNode)) { this.compareWithCurrent((SVNLogEntry) item.getEntity()); } else if (type == ILogNode.TYPE_LOCAL) { this.runCompareForLocal(new Object[] { item }); } } else if (type == ILogNode.TYPE_LOCAL) { try { SVNLocalFileRevision selected = (SVNLocalFileRevision) item.getEntity(); Utils.openEditor(UIMonitorUtility.getActivePage(), selected, new NullProgressMonitor()); } catch (CoreException ex) { UILoggedOperation.reportError("Open Editor", ex); } } else if (!(this.view.getRepositoryResource() instanceof IRepositoryContainer) && type == ILogNode.TYPE_SVN && !(item.getParent() instanceof SVNLogNode)) { UIMonitorUtility.doTaskScheduledActive(new OpenRemoteFileOperation( new IRepositoryFile[] { (IRepositoryFile) this.getResourceForSelectedRevision((SVNLogEntry) item.getEntity()) }, OpenRemoteFileOperation.OPEN_DEFAULT)); } }
From source file:org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase.java
License:Open Source License
protected DatabaseNavigatorTree createNavigatorTree(Composite parent, DBNNode rootNode) { // Create tree DatabaseNavigatorTree navigatorTree = new DatabaseNavigatorTree(parent, rootNode, getTreeStyle()); navigatorTree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() { @Override//from w w w . ja v a 2 s.c o m public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection structSel = (IStructuredSelection) event.getSelection(); if (!structSel.isEmpty()) { lastSelection = structSel.getFirstElement(); if (lastSelection instanceof DBNNode) { String desc = ((DBNNode) lastSelection).getNodeDescription(); if (CommonUtils.isEmpty(desc)) { desc = ((DBNNode) lastSelection).getNodeName(); } getViewSite().getActionBars().getStatusLineManager().setMessage(desc); } } else { lastSelection = null; } } }); navigatorTree.getViewer().addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = tree.getViewer(); IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); if (selection.size() == 1) { DBNNode node = (DBNNode) selection.getFirstElement(); if (node instanceof DBNLocalFolder || (node instanceof DBNResource && ((DBNResource) node).getResource() instanceof IFolder) || (node instanceof DBNDataSource && DoubleClickBehavior.valueOf(DBeaverCore.getGlobalPreferenceStore().getString( DBeaverPreferences.NAVIGATOR_CONNECTION_DOUBLE_CLICK)) == DoubleClickBehavior.EXPAND)) { if (Boolean.TRUE.equals(viewer.getExpandedState(node))) { viewer.collapseToLevel(node, 1); } else { viewer.expandToLevel(node, 1); } } else if (node instanceof DBNResource) { NavigatorHandlerObjectOpen.openResource(((DBNResource) node).getResource(), getSite().getWorkbenchWindow()); } else if (node instanceof DBNDataSource) { DBPDataSourceContainer dataSource = ((DBNDataSource) node).getObject(); NavigatorViewBase.DoubleClickBehavior doubleClickBehavior = NavigatorViewBase.DoubleClickBehavior .valueOf(DBeaverCore.getGlobalPreferenceStore() .getString(DBeaverPreferences.NAVIGATOR_CONNECTION_DOUBLE_CLICK)); switch (doubleClickBehavior) { case EDIT: NavigatorHandlerObjectOpen.openEntityEditor((DBNDataSource) node, null, DBeaverUI.getActiveWorkbenchWindow()); break; case CONNECT: if (dataSource.isConnected()) { DataSourceHandler.disconnectDataSource(dataSource, null); } else { DataSourceHandler.connectToDataSource(null, dataSource, null); } break; case SQL_EDITOR: OpenSQLEditorHandler.openRecentScript(getSite().getWorkbenchWindow(), dataSource, null); break; } } else if (node instanceof DBNDatabaseNode && node.allowsOpen()) { NavigatorHandlerObjectOpen.openEntityEditor((DBNDatabaseNode) node, null, getSite().getWorkbenchWindow()); } } } }); // Hook context menu NavigatorUtils.addContextMenu(this.getSite(), navigatorTree.getViewer(), navigatorTree.getViewer().getControl()); // Add drag and drop support NavigatorUtils.addDragAndDropSupport(navigatorTree.getViewer()); return navigatorTree; }