List of usage examples for org.eclipse.jface.viewers IStructuredSelection iterator
@Override
public Iterator iterator();
From source file:de.quamoco.qm.editor.CustomQmEditor.java
License:Apache License
/** Get the identifiers of the selected elements. */ public List<String> getSelectedURIs() { List<String> elements = new ArrayList<String>(); IStructuredSelection structuredSelection = (IStructuredSelection) getSelection(); for (Iterator<?> i = structuredSelection.iterator(); i.hasNext();) { Object object = i.next(); if (object instanceof Resource) { Resource resource = (Resource) object; elements.add(resource.getURI().toString()); } else if (object instanceof EObject) { EObject element = (EObject) object; elements.add(EcoreUtil.getURI(element).toString()); }/*from w w w . j a va 2 s . c o m*/ } return elements; }
From source file:de.tobject.findbugs.builder.ResourceUtils.java
License:Open Source License
/** * Collects and combines the selection which may contain sources from * different projects and / or multiple sources from same project. * <p>/* ww w .ja v a 2 s .co m*/ * If selection contains hierarchical data (like file and it's parent * directory), the only topmost element is returned (same for directories * from projects). * <p> * The children from selected parents are not resolved, so that the return * value contains the 'highest' possible hierarchical elements without * children. * * @param structuredSelection * @return a map with the project as a key and selected resources as value. * If project itself was selected, then key is the same as value. */ public static Map<IProject, List<WorkItem>> getResourcesPerProject(IStructuredSelection structuredSelection) { Map<IProject, List<WorkItem>> projectsMap = new HashMap<IProject, List<WorkItem>>(); for (Iterator<?> iter = structuredSelection.iterator(); iter.hasNext();) { Object element = iter.next(); WorkItem workItem = getWorkItem(element); if (workItem == null) { IWorkingSet wset = Util.getAdapter(IWorkingSet.class, element); if (wset != null) { mapResources(wset, projectsMap); continue; } // Support for active changesets ChangeSet set = Util.getAdapter(ChangeSet.class, element); for (WorkItem change : getResources(set)) { mapResource(change, projectsMap, true); } continue; } mapResource(workItem, projectsMap, false); } return projectsMap; }
From source file:de.tobject.findbugs.reporter.MarkerUtil.java
License:Open Source License
/** * Fish an IMarker out of given selection. * * @param selection/*from ww w. ja va2 s . c om*/ * the selection * @return the selected IMarker, or null if we can't find an IMarker in the * selection */ public static Set<IMarker> getMarkerFromSelection(ISelection selection) { Set<IMarker> markers = new HashSet<IMarker>(); if (!(selection instanceof IStructuredSelection)) { return markers; } IStructuredSelection sSelection = (IStructuredSelection) selection; for (Iterator<?> iter = sSelection.iterator(); iter.hasNext();) { Object next = iter.next(); markers.addAll(getMarkers(next)); } return markers; }
From source file:de.tobject.findbugs.view.BugExplorerView.java
License:Open Source License
private ISelection adaptSelection(IStructuredSelection selection) { BugContentProvider provider = BugContentProvider.getProvider(getNavigatorContentService()); Set<Object> accepted = new HashSet<Object>(); Iterator<?> iter = selection.iterator(); while (iter.hasNext()) { Object object = iter.next(); Set<Object> supported = provider.getShowInTargets(object); accepted.addAll(supported);// w ww. j av a2 s. co m } return new StructuredSelection(accepted.toArray()); }
From source file:de.tobject.findbugs.view.explorer.BugContentProvider.java
License:Open Source License
public Set<Object> getShowInTargets(Object obj) { Set<Object> supported = new HashSet<Object>(); if (obj instanceof BugGroup) { supported.add(obj);//from w w w. j a va2 s .c o m } else if (obj instanceof IMarker) { supported.add(obj); } else if (obj instanceof IJavaProject) { return getShowInTargets(((IJavaProject) obj).getProject()); } else if (obj instanceof IClassFile) { return getShowInTargets(((IClassFile) obj).getType()); } else if (obj instanceof IFile) { IJavaElement javaElement = JavaCore.create((IFile) obj); return getShowInTargets(javaElement); } else if (obj instanceof IFolder) { IJavaElement javaElement = JavaCore.create((IFolder) obj); return getShowInTargets(javaElement); } else if (obj instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) obj; Iterator<?> iter = selection.iterator(); while (iter.hasNext()) { Object object = iter.next(); supported.add(getShowInTargets(object)); } } else { // TODO think how improve performance for project/package objects? Set<IMarker> markers = MarkerUtil.getMarkers(obj); boolean found = false; main: for (IMarker marker : markers) { BugGroup group = findParent(marker); if (group == null) { continue; } List<BugGroup> selfAndParents = getSelfAndParents(group); for (BugGroup bugGroup : selfAndParents) { if (obj.equals(bugGroup.getData())) { supported.add(bugGroup); found = true; break main; } } } if (!found) { supported.addAll(markers); } } return supported; }
From source file:de.tobject.findbugs.view.properties.BugGroupSection.java
License:Open Source License
private String getSummary(IStructuredSelection selection) { Iterator<?> iter = selection.iterator(); Set<BugGroup> groups = new HashSet<BugGroup>(); Set<IMarker> markers = new HashSet<IMarker>(); while (iter.hasNext()) { Object object = iter.next(); if (!(object instanceof BugGroup)) { continue; }/*from w w w . j a v a2 s.com*/ BugGroup group = (BugGroup) object; if (!groups.contains(group)) { markers.addAll(group.getAllMarkers()); groups.add(group); } } Set<String> names = new TreeSet<String>(); for (BugGroup bugGroup : groups) { String description = bugGroup.getShortDescription() + " (" + bugGroup.getMarkersCount() + ")"; names.add(description); } StringBuilder sb = new StringBuilder(); int maxLength = 0; for (String name : names) { sb.append(name).append("\n"); if (name.length() > maxLength) { maxLength = name.length(); } } char[] separator = new char[maxLength]; Arrays.fill(separator, '='); sb.append(separator); String description = sb.toString() + "\nOverall bugs count: " + markers.size(); return description; }
From source file:de.topicmapslab.kuria.swtgenerator.edit.widgets.TableSelectionWidget.java
License:Apache License
private void hookButtonListener() { if (addButton != null) { addButton.addSelectionListener(new SelectionAdapter() { @Override//from w ww.jav a2 s . co m public void widgetSelected(SelectionEvent e) { SelectionDialog dlg = new SelectionDialog(((Control) e.widget).getShell(), getBindingContainer(), getContentProvider(), getPropertyBinding().getFieldName(), getModel()); if (dlg.open() == Dialog.OK) { Object[] oldList = getSelection(); Set<Object> set = new HashSet<Object>(); for (Object o : dlg.getSelection()) { set.add(o); } if (oldList != null) { for (Object o : oldList) { set.add(o); } } setSelection(set.toArray()); updateView(); } } }); } if (newButton != null) { newButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent arg0) { createNewObject(); } }); } if (removeButton != null) { removeButton.addSelectionListener(new SelectionAdapter() { @SuppressWarnings("unchecked") @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = (IStructuredSelection) viewer.getSelection(); if (sel.isEmpty()) setSelection(new Object[0]); else { List<Object> list = new ArrayList<Object>(Arrays.asList(getSelection())); Iterator<Object> it = sel.iterator(); while (it.hasNext()) { Object o = it.next(); list.remove(o); } setSelection(list.toArray()); } updateView(); } }); } }
From source file:de.topicmapslab.kuria.swtgenerator.widgets.MasterDetailWidget.java
License:Apache License
private void hookButtonListeners() { addButton.addSelectionListener(new SelectionAdapter() { /**/* w w w . j a v a 2 s . c o m*/ * {@inheritDoc} */ @Override public void widgetSelected(SelectionEvent e) { currSelection = null; try { inputMask.setModel(getClazz().getConstructor().newInstance()); updateButtons(); } catch (Exception e1) { // TODO logme } } }); removeButton.addSelectionListener(new SelectionAdapter() { /** * {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public void widgetSelected(SelectionEvent e) { if (tableViewer.getSelection().isEmpty()) return; IStructuredSelection sel = (IStructuredSelection) tableViewer.getSelection(); List<T> list = new ArrayList<T>(); Iterator<T> it = sel.iterator(); while (it.hasNext()) { list.add((T) it.next()); } DeleteEvent<T> event = new DeleteEvent<T>(list); notifyDelete(event); if (event.commit) { if (tableViewer.getInput() instanceof List<?>) { input.removeAll(list); tableViewer.refresh(); } } updateButtons(); } }); saveButton.addSelectionListener(new SelectionAdapter() { /** * {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public void widgetSelected(SelectionEvent e) { inputMask.persist(); T modifiedModel = (T) inputMask.getModel(); PersistEvent<T> event = new PersistEvent<T>(currSelection, modifiedModel); notifyPersist(event); if (event.commit) { if (currSelection == null) { if (tableViewer.getInput() instanceof List<?>) { input.add(modifiedModel); tableViewer.refresh(); } } else { try { copyFieldValues(modifiedModel, currSelection); tableViewer.refresh(currSelection); } catch (Exception e1) { e1.printStackTrace(); } } inputMask.setModel(null); updateButtons(); } } }); cancelButton.addSelectionListener(new SelectionAdapter() { /** * {@inheritDoc} */ @Override public void widgetSelected(SelectionEvent e) { currSelection = null; inputMask.setModel(null); updateButtons(); } }); }
From source file:de.topicmapslab.onotoa.search.dialogs.AbstractTopicTypeSearchAdvancedPart.java
License:Open Source License
/** * Add actual selected TopicType(s) from the list of available TopicTypes * (left table) to the list of selected TopicTypes (right table) */// w w w. ja v a 2s. c om private void addSelection() { IStructuredSelection sel = (IStructuredSelection) availableTopicList.getSelection(); // iterate over all selected types (multi selection is allowed!) for (Iterator it = sel.iterator(); it.hasNext();) { selectedTopics.add((TopicType) it.next()); } Collections.sort(selectedTopics, comparator); availableTopicList.refresh(); selectedTopicList.refresh(); }
From source file:de.topicmapslab.onotoa.search.dialogs.AbstractTopicTypeSearchAdvancedPart.java
License:Open Source License
/** * Remove actual selected TopicType(s) from the list selected TopicTypes * (right table)//from w w w. ja va 2 s. c o m */ private void removeSelection() { IStructuredSelection sel = (IStructuredSelection) selectedTopicList.getSelection(); // iterate over all selected types (multi selection is allowed!) for (Iterator it = sel.iterator(); it.hasNext();) { selectedTopics.remove((TopicType) it.next()); } availableTopicList.refresh(); selectedTopicList.refresh(); }