List of usage examples for org.eclipse.jface.viewers ITreeSelection getPathsFor
public TreePath[] getPathsFor(Object element);
From source file:com.android.ide.eclipse.adt.internal.wizards.newproject.WorkingSetHelper.java
License:Open Source License
private static IWorkingSet[] getSelectedWorkingSet(IStructuredSelection selection) { if (!(selection instanceof ITreeSelection)) return EMPTY_WORKING_SET_ARRAY; ITreeSelection treeSelection = (ITreeSelection) selection; if (treeSelection.isEmpty()) return EMPTY_WORKING_SET_ARRAY; List<?> elements = treeSelection.toList(); if (elements.size() == 1) { Object element = elements.get(0); TreePath[] paths = treeSelection.getPathsFor(element); if (paths.length != 1) return EMPTY_WORKING_SET_ARRAY; TreePath path = paths[0]; if (path.getSegmentCount() == 0) return EMPTY_WORKING_SET_ARRAY; Object candidate = path.getSegment(0); if (!(candidate instanceof IWorkingSet)) return EMPTY_WORKING_SET_ARRAY; IWorkingSet workingSetCandidate = (IWorkingSet) candidate; if (isValidWorkingSet(workingSetCandidate)) return new IWorkingSet[] { workingSetCandidate }; return EMPTY_WORKING_SET_ARRAY; }/*from www. j a v a 2 s .co m*/ ArrayList<Object> result = new ArrayList<Object>(); for (Iterator<?> iterator = elements.iterator(); iterator.hasNext();) { Object element = iterator.next(); if (element instanceof IWorkingSet && isValidWorkingSet((IWorkingSet) element)) { result.add(element); } } return result.toArray(new IWorkingSet[result.size()]); }
From source file:com.liferay.ide.project.ui.upgrade.animated.FindBreakingChangesPage.java
License:Open Source License
public FindBreakingChangesPage(Composite parent, int style, LiferayUpgradeDataModel dataModel) { super(parent, style, dataModel, FINDBREACKINGCHANGES_PAGE_ID, true); final Composite findBreakingchangesContainer = SWTUtil.createComposite(this, 2, 1, GridData.FILL_BOTH, 0, 0);// w w w. j a v a2 s . com _sashForm = new SashForm(findBreakingchangesContainer, SWT.HORIZONTAL | SWT.H_SCROLL); _sashForm.setLayoutData(new GridData(GridData.FILL_BOTH)); SashForm nestedSashForm = new SashForm(_sashForm, SWT.VERTICAL | SWT.H_SCROLL); nestedSashForm.setLayoutData(new GridData(GridData.FILL_BOTH)); GridData treeData = new GridData(GridData.FILL_BOTH); treeData.minimumWidth = 200; treeData.heightHint = 200; _treeViewer = new TreeViewer(nestedSashForm); _treeViewer.getTree().setLayoutData(treeData); migrationContentProvider = new MigrationContentProvider(); _treeViewer.setContentProvider(migrationContentProvider); ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(); _treeViewer.setLabelProvider(new DecoratingLabelProvider(new MigrationLabelProvider(), decorator)); _treeViewer.setInput(getInitialInput()); MenuManager menuMgr = new MenuManager(); IAction removeAction = new RemoveAction(_treeViewer); menuMgr.add(removeAction); Menu menu = menuMgr.createContextMenu(_treeViewer.getTree()); _treeViewer.getTree().setMenu(menu); _treeViewer.expandAll(); createTableView(nestedSashForm); _browser = new Browser(_sashForm, SWT.BORDER); _browser.setLayoutData(new GridData(GridData.FILL_BOTH)); _treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { List<Problem> problems = null; if (showAll) { problems = MigrationUtil.getProblemsFromTreeNode(event.getSelection()); } else { problems = MigrationUtil.getCurrentProblemsFromTreeNode(event.getSelection()); } if (problems != null && problems.size() > 0) { _problemsViewer.setInput(problems.toArray()); _problemsViewer.setSelection(new StructuredSelection(problems.get(0))); } else { _problemsViewer.setInput(null); } } }); _problemsViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { UIUtil.async(new Runnable() { public void run() { updateForm(event); } }, 50); } }); _treeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { ISelection selection = event.getSelection(); if (selection instanceof ITreeSelection) { ITreeSelection treeSelection = (ITreeSelection) selection; Object selectedItem = treeSelection.getFirstElement(); if (selectedItem instanceof FileProblems) { MigrationUtil.openEditor((FileProblems) selectedItem); return; } else { TreePath[] paths = treeSelection.getPathsFor(selectedItem); for (int i = 0; i < paths.length; i++) { _treeViewer.setExpandedState(paths[i], !_treeViewer.getExpandedState(paths[i])); } } } } }); Composite buttonContainer = new Composite(findBreakingchangesContainer, SWT.NONE); GridLayout buttonContainerLayout = new GridLayout(1, false); buttonContainerLayout.marginHeight = 0; buttonContainerLayout.marginWidth = 0; buttonContainer.setLayout(buttonContainerLayout); buttonContainer.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1)); Button findbreakingchangesButton = new Button(buttonContainer, SWT.NONE); findbreakingchangesButton.setImage(getImage("migration-tasks.png")); findbreakingchangesButton.setToolTipText("Find Breaking Changes"); findbreakingchangesButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { IViewPart view = UIUtil.findView(UpgradeView.ID); new RunMigrationToolAction("Run Migration Tool", view.getViewSite().getShell()).run(); } }); Button correctAllImportIssuesButton = new Button(buttonContainer, SWT.NONE); correctAllImportIssuesButton.setImage(getImage("bandaid.gif")); correctAllImportIssuesButton.setToolTipText("Automatically Correct Problems"); correctAllImportIssuesButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { new AutoCorrectAllAction(getInitialInput()).run(); } }); Button expendAll = new Button(buttonContainer, SWT.NONE); expendAll.setImage(getImage("expandall.gif")); expendAll.setToolTipText("Expand All"); expendAll.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { _treeViewer.expandAll(); } }); Button collapseAll = new Button(buttonContainer, SWT.NONE); Image collapseAllImage = PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_ELCL_COLLAPSEALL); collapseAll.setImage(collapseAllImage); collapseAll.setToolTipText("Collapse All"); collapseAll.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { _treeViewer.collapseAll(); } }); Button openIgnoredList = new Button(buttonContainer, SWT.NONE); openIgnoredList.setImage(getImage("properties.png")); openIgnoredList.setToolTipText("Open Ignored List"); openIgnoredList.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(parent.getShell(), MigrationProblemPreferencePage.ID, null, null); dialog.open(); } }); Button hideTree = new Button(buttonContainer, SWT.TOGGLE); hideTree.setImage(getImage("hide_tree.png")); hideTree.setToolTipText("Hide Tree"); hideTree.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { isBrowserMaximized = !isBrowserMaximized; _sashForm.setMaximizedControl(isBrowserMaximized ? _browser : null); } }); _sashForm.setWeights(new int[] { 2, 3 }); }
From source file:com.nokia.carbide.cpp.internal.pi.wizards.ui.util.PkgListTreeViewer.java
License:Open Source License
private void toggleSelectionAndUpdateSelectionToViewer(final Object element) { ArrayList<TreePath> myNewTreePath; ISelection iSelection = this.getSelection(); ITreeSelection iTreeSelection; if (iSelection instanceof TreeSelection) { iTreeSelection = (TreeSelection) iSelection; } else {/*from w w w.j ava 2 s. c o m*/ return; } TreePath[] selectedPaths = iTreeSelection.getPaths(); if (PkgListTree.isFileItem(element)) { if (iTreeSelection.getPathsFor(element).length > 0) { // file already selected, clear self myNewTreePath = buildArrayWithoutElement(selectedPaths, element); } else { // file not yet selected, select self myNewTreePath = new ArrayList<TreePath>(); for (TreePath path : selectedPaths) { myNewTreePath.add(path); } TreePath self = getTreePathForElement(element); if (self != null) { myNewTreePath.add(self); } } } else if (PkgListTree.isBuildConfigurationItem(element)) { Object projectSelection = contentProvider.getParent(element); myNewTreePath = buildArrayWithoutElement(selectedPaths, projectSelection); if (iTreeSelection.getPathsFor(element).length > 0) { // configuration already selected, clear self and parent project // do nothing, myNewTreePath already copied without parent project and self } else { // configuration not yet selected, clear siblings, select self TreePath self = getTreePathForElement(element); // myNewTreePath already copied without parent project and self if (self != null) { myNewTreePath.add(self); // add self back } TreePath projectPath = getTreePathForElement(projectSelection); if (projectPath != null) { myNewTreePath.add(projectPath); // add project back } } } else if (PkgListTree.isProjectItem(element)) { myNewTreePath = buildArrayWithoutElement(selectedPaths, element); if (iTreeSelection.getPathsFor(element).length > 0) { // project already selected, clear self and all children configurations // do nothing, myNewTreePath already copied without parent project and self } else { // project not yet selected, select self and a child configuration(default or next valid) TreePath self = getTreePathForElement(element); // so children are associated expandToLevel(self, 1); // I don't know why it didn't repaint proper without this collapseToLevel(self, 1); IProject project = (IProject) element; Object[] children = this.getRawChildren(project); ICarbideProjectInfo cpi = CarbideBuilderPlugin.getBuildManager().getProjectInfo(project); ICarbideBuildConfiguration configDefault = cpi.getDefaultConfiguration(); ICarbideBuildConfiguration configDefaultOrFirstGood = null; // enabled default or first enabled child for (Object child : children) { if (itemMap.get(getItemMapKey(child)) == null) { continue; } if (itemMap.get(getItemMapKey(child)).getEnabled()) { if (configDefaultOrFirstGood == null || ((ICarbideBuildConfiguration) child) .getDisplayString().equals(configDefault.getDisplayString())) { configDefaultOrFirstGood = (ICarbideBuildConfiguration) child; } } } if (configDefaultOrFirstGood != null) { // myNewTreePath already copied without self and children if (self != null) { myNewTreePath.add(self); // add self back } TreePath child = getTreePathForElement(configDefaultOrFirstGood); // myNewTreePath already copied without self and children if (child != null) { myNewTreePath.add(child); // add child back } } } } else { myNewTreePath = new ArrayList<TreePath>(); for (TreePath path : selectedPaths) { myNewTreePath.add(path); } } // fire event //updateSelection(getSelection()); // select from viewer, viewer will fire event and eventually change UI with our // overrode routine ITreeSelection treeSelection = new TreeSelection(myNewTreePath.toArray(new TreePath[myNewTreePath.size()])); setSelection(treeSelection, true); }
From source file:com.redhat.ceylon.eclipse.code.wizard.NewCeylonProjectWizardPageOne.java
License:Open Source License
private IWorkingSet[] getSelectedWorkingSet(IStructuredSelection selection) { if (!(selection instanceof ITreeSelection)) return EMPTY_WORKING_SET_ARRAY; ITreeSelection treeSelection = (ITreeSelection) selection; if (treeSelection.isEmpty()) return EMPTY_WORKING_SET_ARRAY; List<?> elements = treeSelection.toList(); if (elements.size() == 1) { Object element = elements.get(0); TreePath[] paths = treeSelection.getPathsFor(element); if (paths.length != 1) return EMPTY_WORKING_SET_ARRAY; TreePath path = paths[0]; if (path.getSegmentCount() == 0) return EMPTY_WORKING_SET_ARRAY; Object candidate = path.getSegment(0); if (!(candidate instanceof IWorkingSet)) return EMPTY_WORKING_SET_ARRAY; IWorkingSet workingSetCandidate = (IWorkingSet) candidate; if (isValidWorkingSet(workingSetCandidate)) return new IWorkingSet[] { workingSetCandidate }; return EMPTY_WORKING_SET_ARRAY; }/* w w w. j av a 2s . com*/ ArrayList<IWorkingSet> result = new ArrayList<IWorkingSet>(); for (Iterator<?> iterator = elements.iterator(); iterator.hasNext();) { Object element = iterator.next(); if (element instanceof IWorkingSet && isValidWorkingSet((IWorkingSet) element)) { result.add((IWorkingSet) element); } } return result.toArray(new IWorkingSet[result.size()]); }
From source file:ext.org.eclipse.jdt.internal.ui.workingsets.RemoveWorkingSetElementAction.java
License:Open Source License
private IWorkingSet getWorkingSet(IStructuredSelection selection) { if (!(selection instanceof ITreeSelection)) return null; ITreeSelection treeSelection = (ITreeSelection) selection; List<?> elements = treeSelection.toList(); IWorkingSet result = null;//from w w w . j ava 2s. c om for (Iterator<?> iter = elements.iterator(); iter.hasNext();) { Object element = iter.next(); TreePath[] paths = treeSelection.getPathsFor(element); if (paths.length != 1) return null; TreePath path = paths[0]; if (path.getSegmentCount() != 2) return null; Object candidate = path.getSegment(0); if (!(candidate instanceof IWorkingSet)) return null; if (result == null) { result = (IWorkingSet) candidate; } else { if (result != candidate) return null; } } return result; }
From source file:io.sarl.eclipse.wizards.newproject.MainProjectWizardPage.java
License:Apache License
private static IWorkingSet[] getSelectedWorkingSet(ITreeSelection treeSelection) { assert !treeSelection.isEmpty(); final List<?> elements = treeSelection.toList(); if (elements.size() == 1) { final Object element = elements.get(0); final TreePath[] paths = treeSelection.getPathsFor(element); if (paths.length == 1 && paths[0].getSegmentCount() != 0) { final Object candidate = paths[0].getSegment(0); if (candidate instanceof IWorkingSet && isValidWorkingSet((IWorkingSet) candidate)) { return new IWorkingSet[] { (IWorkingSet) candidate }; }//from w w w . j a va 2 s .c om } } else { final List<IWorkingSet> result = new ArrayList<>(); for (Iterator<?> iterator = elements.iterator(); iterator.hasNext();) { final Object element = iterator.next(); if (element instanceof IWorkingSet && isValidWorkingSet((IWorkingSet) element)) { result.add((IWorkingSet) element); } } return result.toArray(new IWorkingSet[result.size()]); } return EMPTY_WORKING_SET_ARRAY; }
From source file:net.rim.ejde.internal.ui.wizards.BlackBerryProjectWizardPageOne.java
License:Open Source License
private IWorkingSet[] getSelectedWorkingSet(IStructuredSelection selection) { if (!(selection instanceof ITreeSelection)) return EMPTY_WORKING_SET_ARRAY; ITreeSelection treeSelection = (ITreeSelection) selection; if (treeSelection.isEmpty()) return EMPTY_WORKING_SET_ARRAY; List elements = treeSelection.toList(); if (elements.size() == 1) { Object element = elements.get(0); TreePath[] paths = treeSelection.getPathsFor(element); if (paths.length != 1) return EMPTY_WORKING_SET_ARRAY; TreePath path = paths[0]; if (path.getSegmentCount() == 0) return EMPTY_WORKING_SET_ARRAY; Object candidate = path.getSegment(0); if (!(candidate instanceof IWorkingSet)) return EMPTY_WORKING_SET_ARRAY; IWorkingSet workingSetCandidate = (IWorkingSet) candidate; if (isValidWorkingSet(workingSetCandidate)) return new IWorkingSet[] { workingSetCandidate }; return EMPTY_WORKING_SET_ARRAY; }/*from www. ja va 2 s . c o m*/ ArrayList result = new ArrayList(); for (Iterator iterator = elements.iterator(); iterator.hasNext();) { Object element = iterator.next(); if (element instanceof IWorkingSet && isValidWorkingSet((IWorkingSet) element)) { result.add(element); } } return (IWorkingSet[]) result.toArray(new IWorkingSet[result.size()]); }
From source file:org.eclipse.dltk.internal.ui.workingsets.RemoveWorkingSetElementAction.java
License:Open Source License
private IWorkingSet getWorkingSet(IStructuredSelection selection) { if (!(selection instanceof ITreeSelection)) return null; ITreeSelection treeSelection = (ITreeSelection) selection; List elements = treeSelection.toList(); IWorkingSet result = null;/* w w w . jav a2 s . c o m*/ for (Iterator iter = elements.iterator(); iter.hasNext();) { Object element = iter.next(); TreePath[] paths = treeSelection.getPathsFor(element); if (paths.length != 1) return null; TreePath path = paths[0]; if (path.getSegmentCount() != 2) return null; Object candidate = path.getSegment(0); if (!(candidate instanceof IWorkingSet)) return null; if (result == null) { result = (IWorkingSet) candidate; } else { if (result != candidate) return null; } } return result; }
From source file:org.eclipse.dltk.mod.ui.wizards.WorkingSetConfigurationBlock.java
License:Open Source License
/** * Retrieves a working set from the given <code>selection</code> or * <b>null</b> if no working set could be retrieved. * /* w ww .j a va 2 s . c o m*/ * @param selection * the selection to retrieve the working set from * @return the selected working set or <b>null</b> */ public static IWorkingSet[] getSelectedWorkingSet(IStructuredSelection selection) { if (!(selection instanceof ITreeSelection)) return null; ITreeSelection treeSelection = (ITreeSelection) selection; if (treeSelection.isEmpty()) return null; List elements = treeSelection.toList(); if (elements.size() == 1) { Object element = elements.get(0); TreePath[] paths = treeSelection.getPathsFor(element); if (paths.length != 1) return null; TreePath path = paths[0]; if (path.getSegmentCount() == 0) return null; Object candidate = path.getSegment(0); if (!(candidate instanceof IWorkingSet)) return null; return new IWorkingSet[] { (IWorkingSet) candidate }; } else { ArrayList result = new ArrayList(); for (Iterator iterator = elements.iterator(); iterator.hasNext();) { Object element = iterator.next(); if (element instanceof IWorkingSet) { result.add(element); } } return (IWorkingSet[]) result.toArray(new IWorkingSet[result.size()]); } }
From source file:org.eclipse.dltk.ui.wizards.WorkingSetDetector.java
License:Open Source License
private IWorkingSet[] getSelectedWorkingSet(IStructuredSelection selection) { if (!(selection instanceof ITreeSelection)) return EMPTY_WORKING_SET_ARRAY; ITreeSelection treeSelection = (ITreeSelection) selection; if (treeSelection.isEmpty()) return EMPTY_WORKING_SET_ARRAY; List<?> elements = treeSelection.toList(); if (elements.size() == 1) { Object element = elements.get(0); TreePath[] paths = treeSelection.getPathsFor(element); if (paths.length != 1) return EMPTY_WORKING_SET_ARRAY; TreePath path = paths[0]; if (path.getSegmentCount() == 0) return EMPTY_WORKING_SET_ARRAY; Object candidate = path.getSegment(0); if (!(candidate instanceof IWorkingSet)) return EMPTY_WORKING_SET_ARRAY; IWorkingSet workingSetCandidate = (IWorkingSet) candidate; if (isValidWorkingSet(workingSetCandidate)) return new IWorkingSet[] { workingSetCandidate }; return EMPTY_WORKING_SET_ARRAY; }/*from w w w . ja v a2 s.c o m*/ List<IWorkingSet> result = new ArrayList<IWorkingSet>(); for (Iterator<?> iterator = elements.iterator(); iterator.hasNext();) { Object element = iterator.next(); if (element instanceof IWorkingSet) { final IWorkingSet ws = (IWorkingSet) element; if (isValidWorkingSet(ws)) { result.add(ws); } } } return result.toArray(new IWorkingSet[result.size()]); }