Example usage for org.eclipse.jface.viewers IStructuredSelection toList

List of usage examples for org.eclipse.jface.viewers IStructuredSelection toList

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers IStructuredSelection toList.

Prototype

public List toList();

Source Link

Document

Returns the elements in this selection as a List.

Usage

From source file:fr.inria.linuxtools.tmf.ui.views.filter.FilterEditUtils.java

License:Open Source License

/**
 * Gets the ITmfFilterTreeNode in LocalSelectionTransfer, if any
 * @return a ITmfFilterTreeNode or <code>null</code>
 *//*from   w ww  .j a va 2s.  c o  m*/
public static ITmfFilterTreeNode getTransferredTreeNode() {
    ITmfFilterTreeNode treeNodeToDrop = null;
    ISelection sel = LocalSelectionTransfer.getTransfer().getSelection();
    if (sel instanceof IStructuredSelection) {
        IStructuredSelection selection = (IStructuredSelection) sel;
        for (Object data : selection.toList()) {
            if (!(data instanceof ITmfFilterTreeNode)) {
                return null;
            } else if (treeNodeToDrop != null) {
                // should never occur, since tree has SWT.SINGLE style
                return null;
            } else {
                treeNodeToDrop = (ITmfFilterTreeNode) data;
            }
        }
    }
    return treeNodeToDrop;
}

From source file:fr.inria.soctrace.framesoc.ui.utils.TraceSelection.java

License:Open Source License

/**
 * Given a structured selection containing one or more TraceNode, it returns all the contained
 * traces. If no TraceNode is found, an empty list is returned.
 * /*from  w  w  w . j  a v a  2 s.co  m*/
 * @param selection
 *            structured selection containing one or more TraceNode
 * @return a list of Traces found, or an empty list if no trace is found
 */
public static List<Trace> getTracesFromSelection(ISelection selection) {
    List<Trace> traces = new LinkedList<Trace>();
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection sel = (IStructuredSelection) selection;
        for (Object o : sel.toList()) {
            if (o instanceof TraceNode)
                traces.add(((TraceNode) o).getTrace());
        }
    }
    return traces;
}

From source file:fr.inria.soctrace.framesoc.ui.utils.TraceSelection.java

License:Open Source License

/**
 * Check if the selection is valid. A selection is considered valid if it is a not empty
 * structured selection containing only TraceNode objects.
 * //from   w w w.j  a  v a 2s  .  c o m
 * @param selection
 *            structured selection object
 * @return true if the selection is valid, false otherwise
 */
public static boolean isSelectionValid(ISelection selection) {
    if (!(selection instanceof IStructuredSelection))
        return false;
    IStructuredSelection ss = (IStructuredSelection) selection;
    if (ss.isEmpty())
        return false;
    for (Object o : ss.toList()) {
        if (!(o instanceof TraceNode)) {
            return false;
        }
    }
    return true;
}

From source file:gov.nasa.arc.spife.core.plan.pear.view.ui.DeleteProfileMemberAction.java

License:Open Source License

@Override
public void selectionChanged(IAction action, ISelection selection) {

    boolean isDeletable = false;
    IStructuredSelection select = (IStructuredSelection) selection;
    for (Object item : select.toList()) {
        // Able to delete if it is a Profile and not defined in the Activity Dictionary
        if (item instanceof Profile && !(item instanceof StructuralFeatureProfileImpl)) {
            isDeletable = true;/*from   www. ja  v a  2s  .  co  m*/
        } else {
            isDeletable = false;
            break;
        }
    }
    action.setEnabled(isDeletable);
}

From source file:gov.nasa.arc.spife.rcp.SPIFeTemplatePlanViewDeleteItemAction.java

License:Open Source License

@Override
public void delete(IStructuredSelection structuredSelection) {
    Map<EPlan, List<EPlanElement>> planDeletionsMap = new HashMap<EPlan, List<EPlanElement>>();
    SPIFeTemplatePlanPage templatePlanPage = (SPIFeTemplatePlanPage) templatePlanView.getCurrentPage();
    List list = structuredSelection.toList();
    for (Object object : list) {
        if (object instanceof EPlanElement) {
            EPlanElement element = (EPlanElement) object;
            EPlan plan = EPlanUtils.getPlan(element);
            if (plan == null || element.eResource() == null) {
                continue;
            }/*from   w w  w .j  a  v a 2  s. com*/
            List<EPlanElement> deletions = planDeletionsMap.get(plan);
            if (deletions == null) {
                deletions = new ArrayList<EPlanElement>();
                planDeletionsMap.put(plan, deletions);
            }
            deletions.add(element);
        }
    }
    for (EPlan plan : planDeletionsMap.keySet()) {
        final EPlan templatePlan = plan;
        final List<EPlanElement> deletions = planDeletionsMap.get(plan);
        PlanTransferable transferable = new PlanTransferable();
        transferable.setPlanElements(deletions);
        PlanStructureModifier modifier = PlanStructureModifier.INSTANCE;
        modifier.remove(transferable, modifier.getLocation(transferable));
        TemplatePlanUtils.saveTemplatePlan(templatePlan);
        templatePlanPage.updatedTemplatePlanResource(templatePlan);
    }

}

From source file:gov.nasa.arc.spife.ui.timeline.TimelineViewerSelectionListener.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public void selectionChanged(SelectionChangedEvent event) {
    if (timeline.isProcessingSelection()) {
        return;/*from  w ww.j av a2s .  c  om*/
    }

    boolean isHeaderSelection = false;
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    HashSet<Object> models = new HashSet<Object>();
    for (Object o : selection.toList()) {
        EditPart ep = (EditPart) o;
        Object m = ep.getModel();
        if (m != null && (!(m instanceof EObject) || ((EObject) m).eResource() != null)) {
            models.add(m);
        }

        TimelineViewer viewer = (TimelineViewer) ep.getViewer();
        if (viewer == null) {
            continue;
        }
        AbstractTimelineEditPart timelineEditPart = viewer.getTimelineEditPart();
        EditPart parent = ep;
        while (parent != null) {
            if (parent == timelineEditPart.getHeaderEditPart()) {
                isHeaderSelection = true;
                break;
            }
            parent = parent.getParent();
        }
    }

    timeline.setProcessingSelection(true);
    for (Object o : timeline.getTimelineViewers()) {
        final TimelineViewer v = (TimelineViewer) o;
        if (v != event.getSource()) {
            if (isHeaderSelection) {
                timeline.setSelectionMode(SELECTION_MODE.SCROLL_TO_LEFT_JUSTIFY);
            } else {
                timeline.setSelectionMode(SELECTION_MODE.NONE);
            }
            v.selectModels(models);
        }
    }

    Object source = event.getSource();
    if (source instanceof TimelineViewer) {
        final TimelineViewer v = (TimelineViewer) source;
        for (Object e : selection.toList()) {
            final GraphicalEditPart ep = (GraphicalEditPart) e;
            if (EditPart.SELECTED_PRIMARY == ep.getSelected()) {
                WidgetUtils.runInDisplayThread(timeline.getControl(), new Runnable() {
                    @Override
                    public void run() {
                        timeline.doVerticalScroll(v, ep);
                    }
                });
                break;
            }
        }
    }
    timeline.setProcessingSelection(false);
    timeline.getSite().getSelectionProvider().setSelection(new StructuredSelection(new ArrayList(models)));
    timeline.setSelectionMode(SELECTION_MODE.SCROLL_TO_CENTER); // set back to false at TimelineSelectionListener (after all viewers have been notified)
}

From source file:gov.nasa.ensemble.common.ui.detail.view.DetailPage.java

License:Open Source License

public void updateSelection(IStructuredSelection selection, boolean ignoreSame) {
    if (getControl().isDisposed()) {
        return;//  www.  j  a  va2s .c o  m
    }
    List<Object> selectionList = selection.toList();
    IPageSite site = getSite();
    if (selectionList.isEmpty() && (site != null)) {
        IWorkbenchPage page = site.getPage();
        IWorkbenchPart part = page.getActivePart();
        if (part instanceof DetailView) {
            part = lastPart;
        } else {
            lastPart = part;
        }
        if ((part != null) && page.isPartVisible(part)) {
            selectionList = Collections.<Object>singletonList(part);
        }
    }
    if (ignoreSame && currentSelection.size() == selectionList.size()
            && currentSelection.containsAll(selectionList)) {
        return;
    }
    currentSelection.clear();
    currentSelection.addAll(selectionList);

    clearChildren();

    ISelectionProvider selectionProvider = (site != null ? site.getSelectionProvider() : null);
    switch (currentSelection.size()) {
    case 0: {
        IDetailSheet sheet = DetailFactoryRegistry.buildDetailSheet(null, toolkit, form, selectionProvider);
        if (sheet != null) {
            setDetailSheet(sheet);
        } else {
            addTitle("Nothing selected");
        }
        break;
    }
    case 1: {
        Object object = currentSelection.toArray()[0];
        IDetailSheet sheet = DetailFactoryRegistry.buildDetailSheet(object, toolkit, form, selectionProvider);
        if (sheet != null) {
            setDetailSheet(sheet);
        } else {
            addTitle("Nothing selected");
        }
        break;
    }
    default: { // if comparison detail sheet is registered, then make one.
        IDetailSheet sheet = DetailFactoryRegistry.buildDetailSheet(selection.toList(), toolkit, form,
                selectionProvider);
        if (sheet != null) {
            setDetailSheet(sheet);
        } else {
            addTitle("You have selected " + currentSelection.size() + " different items.");
        }
    }
    }
}

From source file:gov.nasa.ensemble.common.ui.ide.navigator.EnsembleCommonNavigator.java

License:Open Source License

@Override
public void selectReveal(ISelection selection) {
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structuredSelection = (IStructuredSelection) selection;
        List<Object> itemsToSelect = new ArrayList<Object>();
        List<?> list = structuredSelection.toList();
        for (Object object : list) {
            if (object instanceof IResource) {
                IResource resource = (IResource) object;
                while (resource != null) {
                    if (resource.exists()) {
                        itemsToSelect.add(resource);
                        break;
                    }/*from   w w  w  .j  a v  a2 s. c  o m*/
                    resource = resource.getParent();
                }
            } else {
                itemsToSelect.add(object);
            }
        }
        if (!itemsToSelect.isEmpty()) {
            super.selectReveal(new StructuredSelection(itemsToSelect));
        }
    }
}

From source file:gov.nasa.ensemble.core.jscience.ui.ProfileNavigatorDragAdapterAssistant.java

License:Open Source License

private List<Profile> getResourceProfiles(IStructuredSelection selection) {
    List<Profile> profiles = new ArrayList<Profile>();
    for (Object object : selection.toList()) {
        if (object instanceof Profile) {
            profiles.add((Profile) object);
        } else if (object instanceof IFile) {
            IFile file = (IFile) object;
            URI uri = EMFUtils.getURI(file);
            ResourceSet resourceSet = EMFUtils.createResourceSet();
            resourceSet.getLoadOptions().put(ProfileUtil.IGNORE_DATA_POINTS, Boolean.TRUE);
            Resource resource = resourceSet.createResource(uri);
            try {
                resource.load(null);//from w w w  . j a  v a 2s  .  c  om
            } catch (IOException e) {
                continue;
            }
            for (EObject o : resource.getContents()) {
                if (o instanceof Profile) {
                    profiles.add((Profile) o);
                }
            }
        }
    }
    return profiles;
}

From source file:gov.nasa.ensemble.core.plan.advisor.view.PlanAdvisorPage.java

License:Open Source License

private void fillContextMenu(IMenuManager menu) {
    ISelection selection = viewer.getSelection();
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structuredSelection = (IStructuredSelection) selection;
        boolean someFixed = false;
        for (Object object : structuredSelection.toList()) {
            if (object instanceof ViolationTracker) {
                Violation violation = ((ViolationTracker) object).getViolation();
                if (!violation.isCurrentlyViolated()) {
                    someFixed = true;/* w w w . j a  v a  2 s  .c  o  m*/
                } else {
                    Set<Suggestion> suggestions = violation.getSuggestions();
                    for (Suggestion suggestion : suggestions) {
                        menu.add(new SuggestionAction(suggestion, TransactionUtils.getUndoContext(plan)));
                    }
                }
            } else if (object instanceof PlanAdvisorGroup) {
                PlanAdvisorGroup group = (PlanAdvisorGroup) object;
                if (group.getKey() == ViolationKey.ELEMENTS) {
                    PlanAdvisor advisor = null;
                    Set<ViolationTracker> trackers = group.getViolationTrackers();
                    for (ViolationTracker tracker : trackers) {
                        PlanAdvisor violationAdviser = tracker.getViolation().getAdvisor();
                        if (advisor == null) {
                            advisor = violationAdviser;
                        } else if (violationAdviser != advisor) {
                            // the violations are not all from the same advisor
                            advisor = null;
                            break;
                        }
                    }
                    if (advisor != null) {
                        Set<Suggestion> suggestions = advisor.getSuggestions(trackers);
                        for (Suggestion suggestion : suggestions) {
                            menu.add(new SuggestionAction(suggestion, TransactionUtils.getUndoContext(plan)));
                        }
                    }
                }
            }
        }
        if (someFixed) {
            menu.add(removeSelectedFixedViolationsAction);
            menu.add(removeAllFixedViolationsAction);
        }
    }
    menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
}