List of usage examples for org.eclipse.jface.viewers TreeViewer setExpandedState
public void setExpandedState(Object elementOrTreePath, boolean expanded)
From source file:org.eclipse.emf.cdo.explorer.ui.ViewerUtil.java
License:Open Source License
public static void expand(final TreeViewer viewer, final Object element, final boolean expanded) { if (viewer != null) { Tree tree = viewer.getTree();/*from w w w.ja v a 2 s . co m*/ if (!tree.isDisposed()) { Display display = tree.getDisplay(); display.asyncExec(new Runnable() { public void run() { if (!viewer.getControl().isDisposed()) { viewer.setExpandedState(element, expanded); } } }); } } }
From source file:org.eclipse.emf.cdo.internal.ui.dialogs.AbstractBranchPointDialog.java
License:Open Source License
protected void createUI(Composite container) { branchPointComposite = new ComposeBranchPointComposite(container, allowTimeStamp, branchPoint) { @Override// w w w. jav a 2 s . c o m protected void timeStampError(String message) { timeStampError = message; validate(); } @Override protected void branchPointChanged(CDOBranchPoint branchPoint) { if (validate()) { AbstractBranchPointDialog.this.branchPointChanged(branchPoint); } } @Override protected void doubleClicked() { AbstractBranchPointDialog.this.doubleClicked(); } }; branchPointComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); CDOBranch branch = branchPoint.getBranch(); TreeViewer branchViewer = branchPointComposite.getBranchViewer(); branchViewer.setSelection(new StructuredSelection(branch)); branchViewer.setExpandedState(branch, true); }
From source file:org.eclipse.imp.ui.explorer.ProjectExplorerActionGroup.java
License:Open Source License
void handleDoubleClick(DoubleClickEvent event) { TreeViewer viewer = fPart.getViewer(); 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 ICompilationUnit || element instanceof IClassFile) return; if (element instanceof IOpenable || element instanceof IContainer || element instanceof IWorkingSet) { fZoomInAction.run();// w w w . j a va 2 s. co 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.jubula.client.ui.rcp.controllers.dnd.AbstractEditorDndSupport.java
License:Open Source License
/** * Executes actions after the drop.// w ww .ja v a 2s.c o m * * @param node * the dropped node. * @param targetEditor * The editor to which the item has been dropped/pasted. */ protected static void postDropAction(INodePO node, AbstractJBEditor targetEditor) { TreeViewer tree = targetEditor.getTreeViewer(); IPersistentObject root = targetEditor.getEditorHelper().getEditSupport().getWorkVersion(); tree.setExpandedState(root, true); IWritableComponentNameCache cache = targetEditor.getCompNameCache(); targetEditor.setFocus(); targetEditor.refresh(); if (node != null) { targetEditor.getEditorHelper().setDirty(true); tree.setExpandedState(node.getParentNode(), true); targetEditor.setSelection(new StructuredSelection(node)); } LocalSelectionTransfer.getInstance().setSelection(null); }
From source file:org.eclipse.launchbar.ui.internal.target.NewLaunchTargetWizardNewPage.java
License:Open Source License
/** * Create a new FilteredTree in the parent. * * @param parent the parent <code>Composite</code>. * @since 3.0//w ww . ja v a 2 s .c o m */ protected FilteredTree createFilteredTree(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.widthHint = SIZING_VIEWER_WIDTH; data.horizontalSpan = 2; data.grabExcessHorizontalSpace = true; data.grabExcessVerticalSpace = true; boolean needsHint = DialogUtil.inRegularFontMode(parent); //Only give a height hint if the dialog is going to be too small if (needsHint) { data.heightHint = SIZING_LISTS_HEIGHT; } composite.setLayoutData(data); filteredTreeFilter = new WizardPatternFilter(); FilteredTree filterTree = new FilteredTree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filteredTreeFilter, true); filterTree.setQuickSelectionMode(true); final TreeViewer treeViewer = filterTree.getViewer(); treeViewer.setContentProvider(new WizardContentProvider()); treeViewer.setLabelProvider(new WorkbenchLabelProvider()); //treeViewer.setComparator(NewWizardCollectionComparator.INSTANCE); treeViewer.addSelectionChangedListener(this); ArrayList inputArray = new ArrayList(); for (int i = 0; i < primaryWizards.length; i++) { inputArray.add(primaryWizards[i]); } boolean expandTop = false; // ensure the category is expanded. If there is a remembered expansion it will be set later. if (expandTop) { treeViewer.setAutoExpandLevel(2); } AdaptableList input = new AdaptableList(inputArray); treeViewer.setInput(input); filterTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); treeViewer.getTree().setFont(parent.getFont()); treeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); selectionChanged(new SelectionChangedEvent(event.getViewer(), s)); Object element = s.getFirstElement(); if (treeViewer.isExpandable(element)) { treeViewer.setExpandedState(element, !treeViewer.getExpandedState(element)); } else if (element instanceof WorkbenchWizardElement) { page.advanceToNextPageOrFinish(); } } }); treeViewer.addFilter(filter); Dialog.applyDialogFont(filterTree); return filterTree; }
From source file:org.eclipse.mylyn.internal.commons.repositories.ui.wizards.NewRepositoryWizardNewPage.java
License:Open Source License
/** * Create a new FilteredTree in the parent. * // w w w.jav a 2 s .co m * @param parent * the parent <code>Composite</code>. * @since 3.0 */ @SuppressWarnings({ "rawtypes", "unchecked" }) protected FilteredTree createFilteredTree(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.widthHint = SIZING_VIEWER_WIDTH; data.horizontalSpan = 2; data.grabExcessHorizontalSpace = true; data.grabExcessVerticalSpace = true; boolean needsHint = DialogUtil.inRegularFontMode(parent); //Only give a height hint if the dialog is going to be too small if (needsHint) { data.heightHint = SIZING_LISTS_HEIGHT; } composite.setLayoutData(data); filteredTreeFilter = new WizardPatternFilter(); FilteredTree filterTree = new FilteredTree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filteredTreeFilter, true); final TreeViewer treeViewer = filterTree.getViewer(); treeViewer.setContentProvider(new WizardContentProvider()); treeViewer.setLabelProvider(new WorkbenchLabelProvider()); treeViewer.setComparator(NewWizardCollectionComparator.INSTANCE); treeViewer.addSelectionChangedListener(this); ArrayList inputArray = new ArrayList(); for (IWizardDescriptor primaryWizard : primaryWizards) { inputArray.add(primaryWizard); } boolean expandTop = false; if (wizardCategories != null) { if (wizardCategories.getParent() == null) { IWizardCategory[] children = wizardCategories.getCategories(); for (IWizardCategory element : children) { inputArray.add(element); } } else { expandTop = true; inputArray.add(wizardCategories); } } // ensure the category is expanded. If there is a remembered expansion it will be set later. if (expandTop) { treeViewer.setAutoExpandLevel(2); } AdaptableList input = new AdaptableList(inputArray); treeViewer.setInput(input); filterTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); treeViewer.getTree().setFont(parent.getFont()); treeViewer.addDoubleClickListener(new IDoubleClickListener() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) */ public void doubleClick(DoubleClickEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); selectionChanged(new SelectionChangedEvent(event.getViewer(), s)); Object element = s.getFirstElement(); if (treeViewer.isExpandable(element)) { treeViewer.setExpandedState(element, !treeViewer.getExpandedState(element)); } else if (element instanceof WorkbenchWizardElement) { page.advanceToNextPageOrFinish(); } } }); treeViewer.addFilter(filter); if (projectsOnly) { treeViewer.addFilter(projectFilter); } Dialog.applyDialogFont(filterTree); return filterTree; }
From source file:org.eclipse.mylyn.internal.commons.ui.team.wizards.NewRepositoryWizardNewPage.java
License:Open Source License
/** * Create a new FilteredTree in the parent. * //from w ww . j a v a2s . c om * @param parent * the parent <code>Composite</code>. * @since 3.0 */ protected FilteredTree createFilteredTree(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.widthHint = SIZING_VIEWER_WIDTH; data.horizontalSpan = 2; data.grabExcessHorizontalSpace = true; data.grabExcessVerticalSpace = true; boolean needsHint = DialogUtil.inRegularFontMode(parent); //Only give a height hint if the dialog is going to be too small if (needsHint) { data.heightHint = SIZING_LISTS_HEIGHT; } composite.setLayoutData(data); filteredTreeFilter = new WizardPatternFilter(); FilteredTree filterTree = new FilteredTree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filteredTreeFilter, true); final TreeViewer treeViewer = filterTree.getViewer(); treeViewer.setContentProvider(new WizardContentProvider()); treeViewer.setLabelProvider(new WorkbenchLabelProvider()); treeViewer.setComparator(NewWizardCollectionComparator.INSTANCE); treeViewer.addSelectionChangedListener(this); ArrayList inputArray = new ArrayList(); for (IWizardDescriptor primaryWizard : primaryWizards) { inputArray.add(primaryWizard); } boolean expandTop = false; if (wizardCategories != null) { if (wizardCategories.getParent() == null) { IWizardCategory[] children = wizardCategories.getCategories(); for (IWizardCategory element : children) { inputArray.add(element); } } else { expandTop = true; inputArray.add(wizardCategories); } } // ensure the category is expanded. If there is a remembered expansion it will be set later. if (expandTop) { treeViewer.setAutoExpandLevel(2); } AdaptableList input = new AdaptableList(inputArray); treeViewer.setInput(input); filterTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); treeViewer.getTree().setFont(parent.getFont()); treeViewer.addDoubleClickListener(new IDoubleClickListener() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) */ public void doubleClick(DoubleClickEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); selectionChanged(new SelectionChangedEvent(event.getViewer(), s)); Object element = s.getFirstElement(); if (treeViewer.isExpandable(element)) { treeViewer.setExpandedState(element, !treeViewer.getExpandedState(element)); } else if (element instanceof WorkbenchWizardElement) { page.advanceToNextPageOrFinish(); } } }); treeViewer.addFilter(filter); if (projectsOnly) { treeViewer.addFilter(projectFilter); } Dialog.applyDialogFont(filterTree); return filterTree; }
From source file:org.eclipse.mylyn.internal.tasks.ui.util.TreeWalker.java
License:Open Source License
private TreePath visitChildren(TreeViewer viewer, TreePath itemPath, TreeItem item, TreeVisitor visitor) { boolean restoreCollapsedState = false; // expand item try {//from w w w. ja v a2s .com if (getExpandNodes()) { boolean expandedState = item.getExpanded(); if (!expandedState) { restoreCollapsedState = true; viewer.setExpandedState(itemPath, true); } } TreeItem[] children = item.getItems(); if (children.length > 0 && children[0].getData() != null) { TreePath childPath = visitItems(viewer, itemPath, children, null, visitor); if (childPath != null) { return childPath; } } } finally { if (restoreCollapsedState) { // restore item state viewer.setExpandedState(itemPath, false); } } return null; }
From source file:org.eclipse.nebula.widgets.nattable.examples.e4.NavigationPart.java
License:Open Source License
@PostConstruct public void postConstruct(Composite parent) { final TreeViewer navTreeViewer = new TreeViewer(parent); final NavContentProvider contentProvider = new NavContentProvider() { @Override//from w ww .ja v a 2s . c om public Object[] getElements(Object inputElement) { Set<String> topLevelElements = new LinkedHashSet<>(); String[] examplePaths = (String[]) inputElement; for (final String examplePath : examplePaths) { String parentPath = ""; String absolutePath = ""; // remove the package name for the tree structure String path = examplePath; if (examplePath.startsWith(INatExample.TUTORIAL_EXAMPLES_PREFIX)) { path = examplePath.replace(INatExample.BASE_PATH, ""); } else if (examplePath.startsWith(INatExample.CLASSIC_EXAMPLES_PREFIX)) { path = examplePath.replace(INatExample.CLASSIC_BASE_PATH, ""); } else if (examplePath.startsWith(E4_EXAMPLES_PREFIX)) { path = examplePath.replace(E4_BASE_PATH, ""); } final StringTokenizer tok = new StringTokenizer(path, "/"); while (tok.hasMoreTokens()) { final String pathElement = tok.nextToken(); if (parentPath.length() == 0) { topLevelElements.add("/" + pathElement); } absolutePath += "/" + pathElement; final Collection<String> children = getChildren(parentPath); children.add(absolutePath); parentPath = absolutePath; } } return topLevelElements.toArray(); } }; navTreeViewer.setContentProvider(contentProvider); navTreeViewer.setLabelProvider(new NavLabelProvider(contentProvider) { @Override public String getText(Object element) { String str = (String) element; if (!contentProvider.hasChildren(element)) { INatExample example = getExample(str); return example.getName(); } int lastSlashIndex = str.lastIndexOf('/'); if (lastSlashIndex < 0) { return format(str); } else { return format(str.substring(lastSlashIndex + 1)); } } }); navTreeViewer.setInput(getExamplePaths()); navTreeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeSelection selection = (TreeSelection) event.getSelection(); for (TreePath path : selection.getPaths()) { // check for item - if node expand/collapse, if child open if (contentProvider.hasChildren(path.getLastSegment().toString())) { boolean expanded = navTreeViewer.getExpandedState(path); navTreeViewer.setExpandedState(path, !expanded); } else { openExampleInTab(path.getLastSegment().toString()); } } } }); GridLayout layout = new GridLayout(); layout.marginWidth = 0; layout.marginHeight = 0; parent.setLayout(layout); GridDataFactory.fillDefaults().grab(true, true).applyTo(navTreeViewer.getControl()); }
From source file:org.eclipse.oomph.setup.ui.actions.AbstractContainerAction.java
License:Open Source License
protected final void expandItem(final EObject object) { if (selectionProvider instanceof IViewerProvider) { IViewerProvider viewerProvider = (IViewerProvider) selectionProvider; final Viewer viewer = viewerProvider.getViewer(); if (viewer instanceof TreeViewer) { UIUtil.getDisplay().asyncExec(new Runnable() { public void run() { TreeViewer treeViewer = (TreeViewer) viewer; expand(treeViewer, object); IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); @SuppressWarnings("unchecked") List<Object> list = selection.toList(); list = new ArrayList<Object>(list); list.add(object);//ww w. jav a2s. c om treeViewer.setSelection(new StructuredSelection(list)); } private void expand(TreeViewer treeViewer, EObject object) { treeViewer.setExpandedState(object, true); EObject eContainer = object.eContainer(); if (eContainer != null) { expand(treeViewer, eContainer); } } }); } } }