List of usage examples for org.eclipse.jface.viewers TreeViewer getExpandedState
public boolean getExpandedState(Object elementOrTreePath)
From source file:org.eclipse.dd.dsf.ui.viewmodel.update.MultiLevelUpdateHandler.java
License:Open Source License
protected void processNext() { while (true) { if (fIndex > fHighIndex) { fStack.clear();/* w ww . ja v a 2s. c o m*/ } if (fStack.isEmpty()) { fRequestMonitor.setDoneCount(fPendingUpdates); super.done(); return; } UpdateLevel current = fStack.peek(); assert !current.isDone(); TreePath path = current.fPath; Object data = current.nextChild(); if (current.isDone()) { fStack.pop(); } if (data == null) { // consider null children - http://bugs.eclipse.org/250309 ++fIndex; continue; } path = path.createChildPath(data); if (fIndex >= fLowIndex && fIndex <= fHighIndex) { if (data instanceof IAdaptable) { IElementLabelProvider labelProvider = (IElementLabelProvider) ((IAdaptable) data) .getAdapter(IElementLabelProvider.class); if (labelProvider != null) { ++fPendingUpdates; if (DEBUG) System.out.println("[MultiLevelUpdateHandler] labelUpdate " + data); //$NON-NLS-1$ labelProvider .update(new ILabelUpdate[] { new DummyLabelUpdate(data, path, fRequestMonitor) }); } } } fIndex++; if (fViewer instanceof TreeViewer) { TreeViewer treeViewer = (TreeViewer) fViewer; if (treeViewer.getExpandedState(data)) { fCurrentPath = path; if (DEBUG) System.out.println("[MultiLevelUpdateHandler] childrenUpdate " + data); //$NON-NLS-1$ fContentProvider.update(new IChildrenUpdate[] { new VMChildrenUpdate(path, fViewerInput, fPresentationContext, -1, -1, this) }); return; } else if (fIndex >= fLowIndex) { // update also the hasChildren flag ++fPendingUpdates; if (DEBUG) System.out.println("[MultiLevelUpdateHandler] hasChildUpdate " + data); //$NON-NLS-1$ fContentProvider.update(new IHasChildrenUpdate[] { new VMHasChildrenUpdate(path, fViewerInput, fPresentationContext, new DataRequestMonitor<Boolean>(fExecutor, fRequestMonitor)) }); } } } }
From source file:org.eclipse.dltk.internal.ui.scriptview.ScriptExplorerActionGroup.java
License:Open Source License
protected void handleDoubleClick(DoubleClickEvent event) { TreeViewer viewer = fPart.getTreeViewer(); IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = selection.getFirstElement(); if (viewer.isExpandable(element)) { if (doubleClickGoesInto()) { // don't zoom into compilation units and class files if (element instanceof ISourceModule) return; if (element instanceof IOpenable || element instanceof IContainer || element instanceof IWorkingSet) { fZoomInAction.run();//from w w w.j ava2 s .c om } } else { IAction openAction = fNavigateActionGroup.getOpenAction(); if (openAction != null && openAction.isEnabled() && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK) return; if (selection instanceof ITreeSelection) { TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element); for (int i = 0; i < paths.length; i++) { viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i])); } } else { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } } else if (element instanceof IProject && !((IProject) element).isOpen()) { OpenProjectAction openProjectAction = fProjectActionGroup.getOpenProjectAction(); if (openProjectAction.isEnabled()) { openProjectAction.run(); } } }
From source file:org.eclipse.dltk.mod.internal.ui.scriptview.ScriptExplorerActionGroup.java
License:Open Source License
void handleDoubleClick(DoubleClickEvent event) { TreeViewer viewer = fPart.getTreeViewer(); IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = selection.getFirstElement(); if (viewer.isExpandable(element)) { if (doubleClickGoesInto()) { // don't zoom into compilation units and class files if (element instanceof ISourceModule) return; if (element instanceof IOpenable || element instanceof IContainer || element instanceof IWorkingSet) { fZoomInAction.run();//from www .j a va2 s . c o m } } else { IAction openAction = fNavigateActionGroup.getOpenAction(); if (openAction != null && openAction.isEnabled() && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK) return; if (selection instanceof ITreeSelection) { TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element); for (int i = 0; i < paths.length; i++) { viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i])); } } else { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } } }
From source file:org.eclipse.dltk.mod.ui.browsing.MembersView.java
License:Open Source License
protected void hookViewerListeners() { super.hookViewerListeners(); getViewer().addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = (TreeViewer) getViewer(); Object element = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (viewer.isExpandable(element)) viewer.setExpandedState(element, !viewer.getExpandedState(element)); }// www . java 2 s. com }); }
From source file:org.eclipse.dltk.mod.ui.browsing.ProjectsView.java
License:Open Source License
/** * Adds additional listeners to this view. *//*from w ww .j a va 2 s .c o m*/ protected void hookViewerListeners() { super.hookViewerListeners(); getViewer().addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = (TreeViewer) getViewer(); Object element = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (viewer.isExpandable(element)) viewer.setExpandedState(element, !viewer.getExpandedState(element)); } }); }
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. * //www . ja v a2s . 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.tools.emf.ui.internal.common.ModelEditor.java
License:Open Source License
private TreeViewer createTreeViewerArea(Composite parent) { final Composite treeArea = new Composite(parent, SWT.BORDER); treeArea.setLayout(new FillLayout()); treeArea.setData(CSS_CLASS_KEY, "formContainer"); //$NON-NLS-1$ treeArea.setBackgroundMode(SWT.INHERIT_DEFAULT); TreeViewer tempViewer = null;//from w w w . ja va 2 s .co m String property = System.getProperty(ORG_ECLIPSE_E4_TOOLS_MODELEDITOR_FILTEREDTREE_ENABLED_XMITAB_DISABLED); if (property != null || preferences.getBoolean("tab-form-search-show", false)) { //$NON-NLS-1$ FilteredTree viewParent = new FilteredTree(treeArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL, new PatternFilter(), true); tempViewer = viewParent.getViewer(); } else { tempViewer = new TreeViewerEx(treeArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL, emfDocumentProvider, modelProvider); } final TreeViewer viewer = tempViewer; viewer.setLabelProvider(new ComponentLabelProvider(this, messages)); ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider( new ObservableFactoryImpl(), new TreeStructureAdvisor() { }); viewer.setContentProvider(contentProvider); final WritableSet clearedSet = new WritableSet(); contentProvider.getKnownElements().addSetChangeListener(new ISetChangeListener() { @Override public void handleSetChange(SetChangeEvent event) { for (Object o : event.diff.getAdditions()) { if (o instanceof EObject) { clearedSet.add(o); } } for (Object o : event.diff.getRemovals()) { if (o instanceof EObject) { clearedSet.remove(o); } } } }); for (FeaturePath p : labelFeaturePaths) { IObservableMap map = EMFProperties.value(p).observeDetail(clearedSet); map.addMapChangeListener(new IMapChangeListener() { @Override public void handleMapChange(MapChangeEvent event) { viewer.update(event.diff.getChangedKeys().toArray(), null); } }); } viewer.setInput(modelProvider.getRoot()); viewer.setAutoExpandLevel(2); viewer.expandToLevel(viewer.getAutoExpandLevel()); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = (TreeViewer) event.getViewer(); IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection(); Object selectedNode = thisSelection.getFirstElement(); if (mod1Down) { if (viewer.getExpandedState(selectedNode)) viewer.setExpandedState(selectedNode, false); else viewer.expandToLevel(selectedNode, AbstractTreeViewer.ALL_LEVELS); } else { viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode)); } } }); // Effect of filtered tree implementation (bug 391086) viewer.getTree().addTreeListener(new TreeAdapter() { @Override public void treeCollapsed(TreeEvent e) { viewer.expandToLevel(viewer.getAutoExpandLevel()); } }); int ops = DND.DROP_MOVE; viewer.addDragSupport(ops, new Transfer[] { MemoryTransfer.getInstance() }, new DragListener(viewer)); viewer.addDropSupport(ops, new Transfer[] { MemoryTransfer.getInstance() }, new DropListener(viewer, modelProvider.getEditingDomain())); return viewer; }
From source file:org.eclipse.eatop.examples.graphicaleditor.depd.features.views.SafetyGoalTitleAreaDialogview.java
License:Open Source License
protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); // YOUR LINE HERE! Label line = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL); line.setLayoutData(new GridData(SWT.FILL, SWT.END, true, true)); final TreeViewer viewer; viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); List<SafetyGoal> sgs = new ArrayList<SafetyGoal>(); sgs.add(saftyob);//from ww w. j ava2 s.c o m // Provide the input to the ContentProvider viewer.setContentProvider(new RequirementsContentProvider(saftyob)); viewer.setLabelProvider(new RequirementsLabelProvider(saftyob)); viewer.setSorter(new RequirementSorter()); // Expand the tree viewer.setAutoExpandLevel(3); viewer.setInput(sgs.toArray()); viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));// // viewer.getTree().setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,1,1)); // Add a doubleclicklistenerObject[] elements;Object[] viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = (TreeViewer) event.getViewer(); IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection(); Object selectedNode = thisSelection.getFirstElement(); viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode)); } }); viewer.getTree().addKeyListener(new KeyAdapter() { @Override public void keyReleased(final KeyEvent e) { if (e.keyCode == SWT.DEL) { final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); if (selection.getFirstElement() instanceof Requirement) { Requirement o = (Requirement) selection.getFirstElement(); // TODO Delete the selected element from the model } } } }); return composite; }
From source file:org.eclipse.ecf.ui.wizards.ConfigurationWizardSelectionPage.java
License:Open Source License
protected void treeDoubleClicked(DoubleClickEvent event) { ISelection selection = event.getViewer().getSelection(); IStructuredSelection ss = (IStructuredSelection) selection; listSelectionChanged(ss);//from www . j a va2 s. co m Object element = ss.getFirstElement(); TreeViewer v = (TreeViewer) event.getViewer(); if (v.isExpandable(element)) { v.setExpandedState(element, !v.getExpandedState(element)); } else if (element instanceof WorkbenchWizardElement) { if (canFlipToNextPage()) { getContainer().showPage(getNextPage()); } } getContainer().showPage(getNextPage()); }
From source file:org.eclipse.egit.ui.internal.dialogs.CompareTreeView.java
License:Open Source License
private void reactOnOpen(OpenEvent event) { Object selected = ((IStructuredSelection) event.getSelection()).getFirstElement(); ITypedElement left;// w w w .j a va 2s .co m ITypedElement right; if (selected instanceof IContainer) { // open/close folder TreeViewer tv = (TreeViewer) event.getViewer(); tv.setExpandedState(selected, !tv.getExpandedState(selected)); return; } else if (selected instanceof IFile) { final IFile res = (IFile) selected; LocalFileRevision revision = new LocalFileRevision(res); left = new FileEditableRevision(revision, res, PlatformUI.getWorkbench().getProgressService()); GitFileRevision rightRevision = compareVersionMap .get(new Path(repositoryMapping.getRepoRelativePath(res))); if (rightRevision == null) { right = new GitCompareFileRevisionEditorInput.EmptyTypedElement(NLS.bind( UIText.CompareTreeView_ItemNotFoundInVersionMessage, res.getName(), getCompareVersion())); } else { String encoding = CompareCoreUtils.getResourceEncoding(res); right = new FileRevisionTypedElement(rightRevision, encoding); } } else if (selected instanceof GitFileRevision) { GitFileRevision rightRevision = (GitFileRevision) selected; left = new GitCompareFileRevisionEditorInput.EmptyTypedElement( NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, rightRevision.getName(), getBaseVersion())); right = new FileRevisionTypedElement(rightRevision, null); } else if (selected instanceof PathNode) { PathNode node = (PathNode) selected; String encoding = CompareCoreUtils.getResourceEncoding(getRepository(), node.getRepoRelativePath()); switch (node.type) { case FILE_BOTH_SIDES_DIFFER: // fall through case FILE_BOTH_SIDES_SAME: { // open a compare editor with both sides filled GitFileRevision rightRevision = compareVersionMap.get(node.path); right = new FileRevisionTypedElement(rightRevision, encoding); GitFileRevision leftRevision = baseVersionMap.get(node.path); left = new FileRevisionTypedElement(leftRevision, encoding); break; } case FILE_DELETED: { // open compare editor with left side empty GitFileRevision rightRevision = compareVersionMap.get(node.path); right = new FileRevisionTypedElement(rightRevision, encoding); left = new GitCompareFileRevisionEditorInput.EmptyTypedElement( NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, rightRevision.getName(), getBaseVersion())); break; } case FILE_ADDED: { // open compare editor with right side empty GitFileRevision leftRevision = baseVersionMap.get(node.path); left = new FileRevisionTypedElement(leftRevision, encoding); right = new GitCompareFileRevisionEditorInput.EmptyTypedElement( NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, leftRevision.getName(), getCompareVersion())); break; } case FOLDER: // open/close folder TreeViewer tv = (TreeViewer) event.getViewer(); tv.setExpandedState(selected, !tv.getExpandedState(selected)); return; default: return; } } else if (selected instanceof PathNodeAdapter) { // deleted in workspace PathNodeAdapter node = (PathNodeAdapter) selected; GitFileRevision rightRevision = compareVersionMap.get(node.pathNode.path); String encoding = CompareCoreUtils.getResourceEncoding(getRepository(), node.pathNode.getRepoRelativePath()); right = new FileRevisionTypedElement(rightRevision, encoding); left = new GitCompareFileRevisionEditorInput.EmptyTypedElement( NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, node.pathNode.path.lastSegment(), getBaseVersion())); } else return; GitCompareFileRevisionEditorInput compareInput = new GitCompareFileRevisionEditorInput(left, right, PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()); CompareUtils.openInCompare(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), compareInput); }