List of usage examples for org.eclipse.jface.viewers TreeViewer getExpandedState
public boolean getExpandedState(Object elementOrTreePath)
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();//from w w w . ja v a 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.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 w w.j a v a 2s. 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. * /*from w w w. ja v a 2 s. c om*/ * @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 ww w . j ava2s . co m*/ * @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.gerrit.ui.egit.GerritRepositorySearchPage.java
License:Open Source License
private void doubleClick(TreeViewer tv, ITreeSelection selection) { clearError();/*from ww w . j a va 2s . 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.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 w w . java 2 s.co m 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.papyrus.diagram.common.service.palette.StereotypePostAction.java
License:Open Source License
/** * Action done when a DoubleClick is received by the tree * //w ww.ja va 2 s .com * @param viewer * the viewer on which the DoubleClick action is applied */ protected void performDoubleClickAction(TreeViewer viewer) { TreeSelection selection = (TreeSelection) viewer.getSelection(); if (selection != null && selection.size() == 1) { Object selectedObject = selection.getFirstElement(); if (selectedObject instanceof StereotypeRepresentation) { //we expand or collapse the node viewer.setExpandedState(selectedObject, !viewer.getExpandedState(selectedObject)); } else if (selectedObject instanceof PropertyRepresentation) { Property prop = ((PropertyRepresentation) selectedObject).getUMLProperty(); if (prop.isMultivalued()) { //we expand or collapse the node viewer.setExpandedState(selectedObject, !viewer.getExpandedState(selectedObject)); } else { //we edit a value if (((PropertyRepresentation) selectedObject).getValues().isEmpty()) { editMe((PropertyRepresentation) selectedObject, null); } else { editMe((PropertyRepresentation) selectedObject, ((PropertyRepresentation) selectedObject).getValues().get(0)); } viewer.update(selectedObject, null); } } else if (selectedObject instanceof Value) { editMe(((Value) selectedObject).getPropertyRepresentation(), (Value) selectedObject); viewer.refresh(selectedObject); } } }
From source file:org.eclipse.papyrus.uml.diagram.common.service.palette.StereotypePostAction.java
License:Open Source License
/** * Action done when a DoubleClick is received by the tree * /*w ww . ja va 2 s . c om*/ * @param viewer * the viewer on which the DoubleClick action is applied */ protected void performDoubleClickAction(TreeViewer viewer) { TreeSelection selection = (TreeSelection) viewer.getSelection(); if (selection != null && selection.size() == 1) { Object selectedObject = selection.getFirstElement(); if (selectedObject instanceof StereotypeRepresentation) { // we expand or collapse the node viewer.setExpandedState(selectedObject, !viewer.getExpandedState(selectedObject)); } else if (selectedObject instanceof PropertyRepresentation) { Property prop = ((PropertyRepresentation) selectedObject).getUMLProperty(); if (prop.isMultivalued()) { // we expand or collapse the node viewer.setExpandedState(selectedObject, !viewer.getExpandedState(selectedObject)); } else { // we edit a value if (((PropertyRepresentation) selectedObject).getValues().isEmpty()) { editMe((PropertyRepresentation) selectedObject, null); } else { editMe((PropertyRepresentation) selectedObject, ((PropertyRepresentation) selectedObject).getValues().get(0)); } viewer.update(selectedObject, null); } } else if (selectedObject instanceof Value) { editMe(((Value) selectedObject).getPropertyRepresentation(), (Value) selectedObject); viewer.refresh(selectedObject); } } }
From source file:org.eclipse.php.internal.ui.actions.newprojectwizard.NewWizardNewPage.java
License:Open Source License
/** * Create a new FilteredTree in the parent. * //w ww. j av a2 s . 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.addSelectionChangedListener(this); ArrayList inputArray = new ArrayList(); for (int i = 0; i < primaryWizards.length; i++) { inputArray.add(primaryWizards[i]); } if (!projectsOnly) { IWizardCategory phpCategory = wizardCategories.findCategory(new Path("org.eclipse.php.project.ui")); //$NON-NLS-1$ // IWizardCategory[] children = wizardCategories.getCategories(); // for (int i = 0; i < children.length; i++) { // if ("org.eclipse.php.project.ui".equals(children[i].getId())) { // phpCategory = children[i]; // } // } if (phpCategory != null) { IWizardDescriptor[] wizards = phpCategory.getWizards(); for (int i = 0; i < wizards.length; i++) { inputArray.add(wizards[i]); } inputArray = sortWizard(inputArray); IWizardCategory[] categories = phpCategory.getCategories(); for (int i = 0; i < categories.length; i++) { inputArray.add(categories[i]); } IWizardDescriptor folder = wizardCategories.findWizard("org.eclipse.ui.wizards.new.folder"); //$NON-NLS-1$ if (folder != null) { inputArray.add(folder); } } NewWizardCollectionComparator comparator = NewWizardCollectionComparator.INSTANCE; Set set = new HashSet(); set.addAll(inputArray); comparator.setPrimaryWizards(set); treeViewer.setComparator(comparator); } else { NewWizardCollectionComparator comparator = NewWizardCollectionComparator.INSTANCE; comparator.setPrimaryWizards(null); treeViewer.setComparator(comparator); } boolean expandTop = false; if (wizardCategories != null) { if (wizardCategories.getParent() == null) { IWizardCategory[] children = wizardCategories.getCategories(); for (int i = 0; i < children.length; i++) { if (!"org.eclipse.php.project.ui".equals(children[i] //$NON-NLS-1$ .getId())) { inputArray.add(children[i]); } } } 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.php.internal.ui.actions.PHPExplorerActionGroup.java
License:Open Source License
/** * this method call ScriptExplorerActionGroup.handleDoubleClick(event) at * most cases, except fNavigateActionGroup relative operation *//*from ww w. j a v a2 s .c om*/ protected void handleDoubleClick(DoubleClickEvent event) { TreeViewer viewer = getPart().getTreeViewer(); IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = selection.getFirstElement(); if (viewer.isExpandable(element)) { if (doubleClickGoesInto()) { super.handleDoubleClick(event); } 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 { super.handleDoubleClick(event); } }