List of usage examples for org.eclipse.jface.viewers TreeViewer collapseAll
public void collapseAll()
From source file:com.ebmwebsourcing.petals.services.su.wizards.pages.ChoicePage.java
License:Open Source License
@Override public void createControl(Composite parent) { // Create the composite container and define its layout final Composite container = SwtFactory.createComposite(parent); setControl(container);// www . ja v a2 s . c o m SwtFactory.applyNewGridLayout(container, 2, false, 15, 0, 0, 15); SwtFactory.applyHorizontalGridData(container); // Add a tool tip to display in case of problem this.helpTooltip = new FixedShellTooltip(getShell(), true, 90) { @Override public void populateTooltip(Composite parent) { GridLayout layout = new GridLayout(); layout.verticalSpacing = 2; parent.setLayout(layout); parent.setLayoutData(new GridData(GridData.FILL_BOTH)); parent.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); try { ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin( PetalsConstants.PETALS_COMMON_PLUGIN_ID, "icons/petals/thinking_hard.png"); if (desc != null) ChoicePage.this.helpImg = desc.createImage(); parent.setBackgroundMode(SWT.INHERIT_DEFAULT); Label imgLabel = new Label(parent, SWT.NONE); imgLabel.setImage(ChoicePage.this.helpImg); imgLabel.setLayoutData(new GridData(SWT.CENTER, SWT.DEFAULT, true, true)); } catch (Exception e) { PetalsServicesPlugin.log(e, IStatus.WARNING); } FontData[] fd = PlatformUtils.getModifiedFontData(getFont().getFontData(), SWT.BOLD); ChoicePage.this.boldFont = new Font(getShell().getDisplay(), fd); Label titleLabel = new Label(parent, SWT.NONE); titleLabel.setFont(ChoicePage.this.boldFont); GridData layoutData = new GridData(SWT.CENTER, SWT.DEFAULT, true, true); layoutData.verticalIndent = 5; titleLabel.setLayoutData(layoutData); titleLabel.setText("What does this error mean?"); Label l = new Label(parent, SWT.WRAP); l.setText("This wizard will generate, among other things, Maven artifacts."); layoutData = new GridData(); layoutData.verticalIndent = 8; l.setLayoutData(layoutData); RowLayout rowLayout = new RowLayout(SWT.HORIZONTAL); rowLayout.marginLeft = 0; rowLayout.marginTop = 0; rowLayout.marginRight = 0; rowLayout.marginBottom = 0; rowLayout.spacing = 0; Composite rowComposite = new Composite(parent, SWT.NONE); rowComposite.setLayout(rowLayout); rowComposite.setLayoutData(new GridData(SWT.CENTER, SWT.DEFAULT, true, true)); new Label(rowComposite, SWT.WRAP).setText("Unfortunately, there is a problem with the "); Link link = new Link(rowComposite, SWT.WRAP | SWT.NO_FOCUS); link.setText("<A>the Petals Maven preferences</A>"); new Label(rowComposite, SWT.WRAP).setText("."); new Label(parent, SWT.WRAP).setText("Please, make them correct."); link.addSelectionListener(new DefaultSelectionListener() { @Override public void widgetSelected(SelectionEvent e) { try { PreferencesUtil.createPreferenceDialogOn(new Shell(), "com.ebmwebsourcing.petals.services.prefs.maven", null, null).open(); } catch (Exception e1) { PetalsServicesPlugin.log(e1, IStatus.ERROR); } } }); } }; // Prepare the input Comparator<AbstractServiceUnitWizard> comparator = new Comparator<AbstractServiceUnitWizard>() { @Override public int compare(AbstractServiceUnitWizard o1, AbstractServiceUnitWizard o2) { String v1 = o1.getComponentVersionDescription().getComponentVersion(); String v2 = o2.getComponentVersionDescription().getComponentVersion(); return -v1.compareTo(v2); // negative so that the most recent is first } }; final Map<String, Collection<AbstractServiceUnitWizard>> componentNameToHandler = new TreeMap<String, Collection<AbstractServiceUnitWizard>>(); final Map<PetalsKeyWords, Set<String>> keywordToComponentName = new TreeMap<PetalsKeyWords, Set<String>>(); for (AbstractServiceUnitWizard handler : ExtensionManager.INSTANCE.findComponentWizards(this.petalsMode)) { for (PetalsKeyWords keyword : handler.getComponentVersionDescription().getKeyWords()) { Set<String> list = keywordToComponentName.get(keyword); if (list == null) list = new TreeSet<String>(); String componentName = handler.getComponentVersionDescription().getComponentName(); list.add(componentName); keywordToComponentName.put(keyword, list); Collection<AbstractServiceUnitWizard> handlers = componentNameToHandler.get(componentName); if (handlers == null) handlers = new TreeSet<AbstractServiceUnitWizard>(comparator); handlers.add(handler); componentNameToHandler.put(componentName, handlers); } } // Add the selection area final PhantomText searchText = new PhantomText(container, SWT.SINGLE | SWT.BORDER); searchText.setDefaultValue("Search..."); GridDataFactory.swtDefaults().grab(true, false).align(SWT.FILL, SWT.TOP).span(2, 1).applyTo(searchText); final TreeViewer componentsViewer = new TreeViewer(container, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); GridDataFactory.fillDefaults().span(2, 1).hint(380, 300).applyTo(componentsViewer.getTree()); componentsViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { String result; if (element instanceof String) { IComponentDescription desc = componentNameToHandler.get(element).iterator().next() .getComponentVersionDescription(); String componentName = desc.getComponentName(); String componentAlias = desc.getComponentAlias(); String annotation = desc.getComponentAnnotation(); StringBuilder sb = new StringBuilder(); if (StringUtils.isEmpty(componentName)) sb.append(componentAlias); // Generic component else sb.append(componentAlias + " - " + componentName); if (!StringUtils.isEmpty(annotation)) sb.append(" ( " + annotation + " )"); result = sb.toString(); } else { result = super.getText(element); } return result; } @Override public Image getImage(Object element) { Image result = null; if (element instanceof PetalsKeyWords) { result = ChoicePage.this.keywordToImage.get(element); } else { IComponentDescription desc = componentNameToHandler.get(element).iterator().next() .getComponentVersionDescription(); result = desc.isBc() ? ChoicePage.this.bcImg : ChoicePage.this.seImg; } return result; } }); componentsViewer.setContentProvider(new DefaultTreeContentProvider() { @Override public Object[] getElements(Object inputElement) { return keywordToComponentName.keySet().toArray(); } @Override public Object[] getChildren(Object parentElement) { Object[] result; if (parentElement instanceof PetalsKeyWords) { Collection<String> componentNames = keywordToComponentName.get(parentElement); result = componentNames == null ? new Object[0] : componentNames.toArray(); } else { result = new Object[0]; } return result; } @Override public boolean hasChildren(Object element) { return element instanceof PetalsKeyWords; } }); componentsViewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { boolean result = false; String filter = searchText.getTextValue().trim().toLowerCase(); if (filter.length() == 0) result = true; else if (element instanceof PetalsKeyWords) { Set<String> names = keywordToComponentName.get(element); if (names != null) { for (String s : names) { if (select(viewer, null, s)) { result = true; break; } } } } else if (element instanceof String) result = ((String) element).toLowerCase().contains(filter); return result; } }); componentsViewer.setInput(new Object()); if (keywordToComponentName.size() > 0) componentsViewer.expandToLevel(keywordToComponentName.keySet().iterator().next(), 1); // Display the available versions new Label(container, SWT.NONE).setText("Component Version:"); final ComboViewer versionCombo = new ComboViewer(container, SWT.BORDER | SWT.DROP_DOWN | SWT.READ_ONLY); GridData layoutData = new GridData(); layoutData.widthHint = 130; versionCombo.getCombo().setLayoutData(layoutData); versionCombo.setContentProvider(new ArrayContentProvider()); versionCombo.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((AbstractServiceUnitWizard) element).getComponentVersionDescription().getComponentVersion(); } }); final Label descriptionLabel = new Label(container, SWT.NONE); GridDataFactory.swtDefaults().span(2, 1).indent(0, 10).applyTo(descriptionLabel); // Selection listeners searchText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { componentsViewer.refresh(); if (searchText.getTextValue().trim().length() == 0) componentsViewer.collapseAll(); else componentsViewer.expandAll(); } }); componentsViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { // Get the selection Object o = ((IStructuredSelection) event.getSelection()).getFirstElement(); Collection<?> input; if (o == null || o instanceof PetalsKeyWords) input = Collections.emptyList(); else input = componentNameToHandler.get(o); // Default selection - there is always one versionCombo.setInput(input); versionCombo.getCombo().setVisibleItemCount(input.size() > 0 ? input.size() : 1); if (!input.isEmpty()) { versionCombo.setSelection(new StructuredSelection(input.iterator().next())); versionCombo.getCombo().notifyListeners(SWT.Selection, new Event()); } else { setPageComplete(false); setSelectedNode(null); descriptionLabel.setText(""); descriptionLabel.getParent().layout(); } } }); versionCombo.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { AbstractServiceUnitWizard suWizard = (AbstractServiceUnitWizard) ((IStructuredSelection) event .getSelection()).getFirstElement(); if (suWizard == null) return; setPageComplete(true); setSelectedNode(getWizardNode(suWizard)); String desc = ChoicePage.this.petalsMode == PetalsMode.provides ? suWizard.getComponentVersionDescription().getProvideDescription() : suWizard.getComponentVersionDescription().getConsumeDescription(); descriptionLabel.setText(desc); descriptionLabel.getParent().layout(); } }); // Initialize if (PreferencesManager.isMavenTemplateConfigurationValid()) this.helpTooltip.hide(); componentsViewer.getTree().setFocus(); }
From source file:com.twinsoft.convertigo.eclipse.views.schema.SchemaView.java
License:Open Source License
private TreeViewer makeTreeViewer(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); composite.setLayout(SwtUtils.newGridLayout(1, false, 0, 0, 0, 0)); ToolBar toolbar = new ToolBar(composite, SWT.NONE); toolbar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); final TreeViewer treeViewer = new TreeViewer(composite); ToolItem toolItem = new ToolItem(toolbar, SWT.PUSH); setToolItemIcon(toolItem, "icons/studio/collapse_all_nodes.gif", "C", "Collapse all"); toolItem.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { treeViewer.collapseAll(); }/*from w w w.j ava2 s.c om*/ public void widgetDefaultSelected(SelectionEvent e) { } }); toolItem = new ToolItem(toolbar, SWT.PUSH); setToolItemIcon(toolItem, "icons/studio/expand_all_nodes.gif", "E", "Expand all"); toolItem.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { treeViewer.expandToLevel(50); } public void widgetDefaultSelected(SelectionEvent e) { } }); treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); treeViewer.setLabelProvider(SchemaViewContentProvider.decoratingLabelProvider); treeViewer.setComparer(new IElementComparer() { public int hashCode(Object element) { String txt = SchemaViewContentProvider.decoratingLabelProvider.getText(element); int hash = txt.hashCode(); if (element instanceof XmlSchemaObject) { Iterator<DatabaseObject> ref = SchemaMeta .getReferencedDatabaseObjects((XmlSchemaObject) element).iterator(); if (ref.hasNext()) { hash += ref.next().hashCode(); } } return hash; } public boolean equals(Object a, Object b) { boolean ret = false; if (a != null && b != null && a.getClass().equals(b.getClass())) { String aTxt = SchemaViewContentProvider.decoratingLabelProvider.getText(a); String bTxt = SchemaViewContentProvider.decoratingLabelProvider.getText(b); if (aTxt.equals(bTxt)) { if (a instanceof XmlSchemaObject) { Iterator<DatabaseObject> aRef = SchemaMeta .getReferencedDatabaseObjects((XmlSchemaObject) a).iterator(); Iterator<DatabaseObject> bRef = SchemaMeta .getReferencedDatabaseObjects((XmlSchemaObject) b).iterator(); if (aRef.hasNext() && bRef.hasNext()) { ret = aRef.next() == bRef.next(); } } else { ret = true; } } } return ret; } }); return treeViewer; }
From source file:edu.harvard.i2b2.eclipse.plugins.ontology.views.TreeNode.java
License:Open Source License
public Thread expandFindTree(TreeViewer viewer, String[] parts, String parent) { final TreeNode theNode = this; final TreeViewer theViewer = viewer; final String[] theParts = parts; final Display theDisplay = PlatformUI.getWorkbench().getDisplay(); return new Thread() { @Override/* www . j a v a2s . c o m*/ public void run() { try { // String parent = theParent; TreeNode treeNode = theNode; String compare = "\\"; for (int i = 1; i < theParts.length; i++) { compare += theParts[i] + "\\"; List<TreeNode> nodes = treeNode.getChildren(); Iterator<TreeNode> it = nodes.iterator(); while (it.hasNext()) { TreeNode node = (TreeNode) it.next(); if (StringUtil.getPath(node.getData().getFullName()).equals(compare)) { treeNode = node; RefreshNode.getInstance().setRefreshNode(treeNode); RefreshNode.getInstance().setLevel(i); if ((node.getChildren().isEmpty()) || (node.getChildren().get(0).getData().getName().equals("working..."))) { // node.setOpen(true); node.getChildren().clear(); treeNode.updateModifiers(theDisplay, theViewer); treeNode.updateChildren(theDisplay, theViewer); } break; } } } } catch (Exception e) { // TODO Auto-generated catch block // System.setProperty("statusMessage", e.getMessage()); } theDisplay.syncExec(new Runnable() { public void run() { theViewer.collapseAll(); theViewer.expandToLevel(RefreshNode.getInstance().getRefreshNode(), 1); theViewer.setSelection(new StructuredSelection(RefreshNode.getInstance().getRefreshNode()), true); theViewer.getTree().setEnabled(true); } }); } }; }
From source file:es.cv.gvcase.mdt.common.part.ViewerPopUpMenu.java
License:Open Source License
/** * Gets the collapse selection listener. * /*from w w w .ja va 2 s.c om*/ * @param treeViewer * the tree viewer * * @return the collapse selection listener */ private SelectionAdapter getCollapseSelectionListener(final TreeViewer treeViewer) { if (collapseSelectionListener == null) { collapseSelectionListener = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { treeViewer.collapseAll(); } }; } return collapseSelectionListener; }
From source file:fr.opensagres.eclipse.jsbuild.internal.ui.views.actions.CollapseAllHandler.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchPart part = HandlerUtil.getActivePart(event); if (part instanceof JSBuildFileView) { JSBuildFileView view = (JSBuildFileView) part; TreeViewer viewer = view.getViewer(); try {// w w w . ja va2 s . com viewer.getTree().setRedraw(false); viewer.collapseAll(); } finally { viewer.getTree().setRedraw(true); } } return null; }
From source file:gov.nasa.ensemble.core.activityDictionary.view.DefinitionTreeView.java
License:Open Source License
/** * A heuristic for determining how much information to show in this view. If * nodes of the tree have an excessively large number of children then it * may not always be ideal to display all the children by default. This * method attempts to display a reasonable amount of information to the * user.//from w w w . j a v a 2 s . c o m * * @param treeViewer */ protected void applyExpandHeuristic(TreeViewer treeViewer) { ITreeContentProvider cp = (ITreeContentProvider) treeViewer.getContentProvider(); Object[] rootChildren = cp.getElements(null); if (rootChildren.length == 0) return; Object root = cp.getParent(rootChildren[0]); FindFilter filter = new FindFilter(); Object children[] = filter.filter(treeViewer, root, rootChildren); if (children.length == 1) { treeViewer.expandAll(); return; } int totalChildren = 0; for (int i = 0; i < 25 && i < children.length; i++) { totalChildren += filter.filter(treeViewer, children[i], cp.getChildren(children[i])).length; } if (totalChildren > 25) { treeViewer.collapseAll(); treeViewer.expandToLevel(root, 1); } else { treeViewer.expandAll(); } }
From source file:gov.redhawk.ui.views.domainbrowser.actions.CollapseAllHandler.java
License:Open Source License
@Override public Object execute(final ExecutionEvent event) throws ExecutionException { final IWorkbenchPart part = HandlerUtil.getActivePart(event); if (part != null && part instanceof DomainBrowserView) { final TreeViewer viewer = ((DomainBrowserView) part).getTreeViewer(); if (viewer != null && !viewer.getTree().isDisposed()) { viewer.collapseAll(); }//from w w w . j ava 2 s.co m } return null; }
From source file:net.sourceforge.veditor.editor.HdlContentOutlinePage.java
License:Open Source License
public void update() { TreeViewer viewer = getTreeViewer(); if (viewer != null) { if (enableSort) viewer.setSorter(new Sorter()); else//from w w w .ja va 2 s . c o m viewer.setSorter(null); Control control = viewer.getControl(); if (control != null && !control.isDisposed()) { Object expanded[] = viewer.getExpandedElements(); control.setRedraw(false); viewer.setInput(editor.getDocument()); if (expanded.length > 0) { viewer.setExpandedElements(expanded); } else { viewer.collapseAll(); } control.setRedraw(true); } } }
From source file:net.tourbook.ui.action.ActionCollapseAll.java
License:Open Source License
@Override public void run() { if (_tourViewer != null) { final ColumnViewer viewer = _tourViewer.getViewer(); if (viewer instanceof TreeViewer) { final TreeViewer treeViewer = (TreeViewer) viewer; final Tree tree = treeViewer.getTree(); // disable redraw that the UI in not flickering tree.setRedraw(false);/*w ww . j a va2 s. com*/ { try { treeViewer.collapseAll(); } catch (final Exception e) { // this occured } } tree.setRedraw(true); try { final StructuredSelection selection = (StructuredSelection) treeViewer.getSelection(); if (selection != null) { final Object firstElement = selection.getFirstElement(); if (firstElement != null) { treeViewer.reveal(firstElement); } } } catch (final Exception e) { // this occured, ensure something is selected otherwise further NPEs occure final TreeItem[] selection = tree.getSelection(); for (final TreeItem treeItem : selection) { final Object itemData = treeItem.getData(); _tourViewer.getViewer().setSelection(new StructuredSelection(itemData), true); break; } } } } }
From source file:net.tourbook.ui.action.ActionCollapseOthers.java
License:Open Source License
@Override public void run() { if (fTourViewer != null) { final ColumnViewer viewer = fTourViewer.getViewer(); if (viewer instanceof TreeViewer) { final TreeViewer treeViewer = (TreeViewer) viewer; final Object firstElement = ((StructuredSelection) treeViewer.getSelection()).getFirstElement(); if (firstElement != null) { final Tree tree = treeViewer.getTree(); tree.setRedraw(false);/* w w w . ja va 2s . c o m*/ { treeViewer.collapseAll(); treeViewer.setExpandedElements(new Object[] { firstElement }); treeViewer.setSelection(new StructuredSelection(firstElement), true); } tree.setRedraw(true); } } } }