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

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

Introduction

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

Prototype

@Override
public Iterator iterator();

Source Link

Document

Returns an iterator over the elements of this selection.

Usage

From source file:ca.uvic.chisel.javasketch.ui.internal.presentation.commands.JavaRevealActivationHandler.java

License:Open Source License

private IJavaElement getJEForSelection(IStructuredSelection ss) {
    for (Iterator<?> it = ss.iterator(); it.hasNext();) {
        Object o = it.next();/*from  w w  w  . j a va2  s  . co  m*/
        if (o instanceof IAdaptable) {
            return (IJavaElement) ((IAdaptable) o).getAdapter(IJavaElement.class);
        } else if (o != null) {
            Object element = Platform.getAdapterManager().getAdapter(o, IJavaElement.class);
            if (element instanceof IJavaElement) {
                return (IJavaElement) element;
            }
        }
    }
    return null;
}

From source file:ca.uvic.chisel.javasketch.ui.internal.presentation.commands.RevealActivationHandler.java

License:Open Source License

protected ITraceModel getTraceModelForSelection(ISelection selection, ExecutionEvent event) {
    ITraceModel tm = null;//from w  w  w  .j  a  v  a  2s. com
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection ss = (IStructuredSelection) selection;
        for (Iterator<?> it = ss.iterator(); it.hasNext() && tm == null;) {
            Object o = it.next();
            if (o instanceof ITraceModel) {
                tm = (ITraceModel) o;
            } else if (o instanceof IAdaptable) {
                tm = (ITraceModel) ((IAdaptable) o).getAdapter(ITraceModel.class);
            } else {
                tm = (ITraceModel) Platform.getAdapterManager().getAdapter(o, ITraceModel.class);
            }
            if (tm != null) {
                return tm;
            }
        }
    }
    return tm;
}

From source file:ca.uvic.chisel.javasketch.ui.internal.presentation.JavaThreadSequenceView.java

License:Open Source License

/**
 * @param selection// w w w  .  j  a  v  a  2 s  .co  m
 */
protected void updateForSelection(ISelection selection) {
    ArrayList<IJavaElement> javaElements = new ArrayList<IJavaElement>();
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection ss = (IStructuredSelection) selection;
        Iterator<?> iterator = ss.iterator();
        while (iterator.hasNext()) {
            Object o = iterator.next();
            if (o instanceof IAdaptable) {
                IJavaElement element = (IJavaElement) ((IAdaptable) o).getAdapter(IJavaElement.class);
                if (element instanceof IType) {
                    javaElements.add(element);
                } else if (element instanceof IMethod) {
                    javaElements.add(element);
                }
            }
        }
    }
    if (javaElements.size() > 0) {
        this.javaSelection = javaElements;
        rangeJob.cancel();
        rangeJob.schedule(javaElements.toArray(new IJavaElement[javaElements.size()]));
    }
}

From source file:ca.uvic.chisel.javasketch.ui.internal.presentation.MarkRangeForSelectionJob.java

License:Open Source License

private void updateInUI(IProgressMonitor monitor, Collection<InvocationReference> invocations) {
    RangeSlider slider = editor.getTimeRange();
    if (slider.isDisposed()) {
        return;/*from   w w w. ja  va 2s .  com*/
    }
    //first, dispose all of the previous markers
    Item item = slider.getItem(slider.getSelectionIndex());
    Object selectedData = null;
    HashMap<InvocationReference, RangeAnnotation> preservedRanges = new HashMap<InvocationReference, RangeAnnotation>();
    for (RangeAnnotation range : slider.getRanges()) {
        if (item != null && !item.isDisposed() && item == range) {
            selectedData = item.getData();
        }
        if (range.getData() instanceof InvocationReference) {
            preservedRanges.put((InvocationReference) range.getData(), range);
        }
    }

    IStructuredSelection viewSelection = (IStructuredSelection) editor.getSequenceChartViewer().getSelection();
    Iterator<?> i = viewSelection.iterator();
    while (i.hasNext()) {
        if (monitor.isCanceled())
            return;
        Object next = i.next();
        IActivation activation = null;
        if (next instanceof IActivation) {
            activation = (IActivation) next;
        } else if (next instanceof IOriginMessage) {
            try {
                IOriginMessage message = (IOriginMessage) next;
                activation = message.getTarget().getActivation();
            } catch (NullPointerException e) {
            }
        }
        if (activation != null) {
            try {
                IJavaElement je = JavaSearchUtils.findElement(activation, new NullProgressMonitor());
                if (je instanceof IMethod) {
                    InvocationReference ref = new InvocationReference(je, activation, true);
                    if (invocations.contains(ref)) {
                        invocations.remove(ref);
                    }
                    invocations.add(ref);
                }
            } catch (InterruptedException e) {
            } catch (CoreException e) {
            }
        }
    }

    //now, add all the new invocations
    RangeAnnotation newSelection = null;
    for (InvocationReference ref : invocations) {
        if (monitor.isCanceled())
            return;
        if (preservedRanges.containsKey(ref)) {
            if (ref.equals(selectedData)) {
                newSelection = preservedRanges.get(ref);
            }
            preservedRanges.remove(ref);
            continue;
        }
        RangeAnnotation annotation = new RangeAnnotation(slider);
        annotation.setOffset(ref.activation.getTime());
        annotation.setLength(1);
        annotation.setText(
                "Activation of " + ref.javaElement.getElementName() + " at " + ref.activation.getTime());
        if (!ref.highlight) {
            annotation.setForeground(ISketchColorConstants.BLUE);
            annotation.setBackground(ISketchColorConstants.LIGHT_BLUE);
        } else {
            annotation.setForeground(ISketchColorConstants.PURPLE);
            annotation.setForeground(ISketchColorConstants.LIGHT_PURPLE);
        }
        annotation.setData(ref);
        if (ref.equals(selectedData)) {
            newSelection = annotation;
        }
    }
    for (RangeAnnotation annotation : preservedRanges.values()) {
        if (!annotation.isDisposed()) {
            annotation.dispose();
        }
    }
    if (newSelection != null && !newSelection.isDisposed()) {
        slider.setSelectionIndex(slider.getIndex(newSelection));
    }
}

From source file:ca.uvic.chisel.javasketch.ui.internal.views.OpenIThreadCommandHandler.java

License:Open Source License

private IThread getSelectedThread(ExecutionEvent event) {
    ISelection selection = HandlerUtil.getCurrentSelection(event);
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection ss = (IStructuredSelection) selection;
        for (Iterator<?> i = ss.iterator(); i.hasNext();) {
            Object next = i.next();
            Object o = next;//from w  w  w . j a va 2 s. com
            if (next instanceof IAdaptable) {
                o = ((IAdaptable) next).getAdapter(IThread.class);
            }
            if (o instanceof IThread) {
                return (IThread) o;
            }
        }
    }
    return null;
}

From source file:ca.uvic.chisel.javasketch.ui.internal.views.ReanalyzeActionCommandHandler.java

License:Open Source License

private IProgramSketch getSelectedSketch(ExecutionEvent event) {
    ISelection selection = HandlerUtil.getCurrentSelection(event);
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection ss = (IStructuredSelection) selection;
        for (Iterator<?> i = ss.iterator(); i.hasNext();) {
            Object next = i.next();
            Object o = next;/* www.  j a  va2  s  . co  m*/
            if (next instanceof IAdaptable) {
                o = ((IAdaptable) next).getAdapter(IProgramSketch.class);
            }
            if (o instanceof IProgramSketch) {
                return (IProgramSketch) o;
            }
        }
    }
    return null;
}

From source file:ca.uvic.cs.tagsea.core.WaypointProvider.java

License:Open Source License

public void selectionChanged(SelectionChangedEvent event) {
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    selectedTags.clear();//from w ww .  ja  v a2s  . c  o m
    if (!selection.isEmpty()) {
        for (Iterator iter = selection.iterator(); iter.hasNext();) {
            Object obj = iter.next();
            if (obj instanceof Tag) {
                selectedTags.add((Tag) obj);
            }
        }
    }
    tableViewer.refresh();
}

From source file:cg.editor.propertysheet.PropertySheetViewer.java

License:Open Source License

/**
 * Reset the selected properties to their default values.
 *///from  w  ww .j  a  va2  s  .  c o m
public void resetProperties() {
    // Determine the selection
    IStructuredSelection selection = (IStructuredSelection) getSelection();

    // Iterate over entries and reset them
    @SuppressWarnings("rawtypes")
    Iterator itr = selection.iterator();
    while (itr.hasNext()) {
        ((IPropertySheetEntry) itr.next()).resetPropertyValue();
    }
}

From source file:ch.hsr.ifs.cdt.metriculator.views.MetriculatorView.java

License:Open Source License

private AbstractNode getFirstNodeFrom(ISelection selection) {
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection ssel = (IStructuredSelection) selection;
        return (AbstractNode) ssel.iterator().next();
    }//from   w w  w  .  j a v  a2 s .  c o  m
    return null;
}

From source file:ch.netcetera.eclipse.projectconfig.ui.handler.RunProjectConfigurationScriptHandler.java

License:Open Source License

/**
 * Gets the selected projects./*from w w  w .  java2  s.c o  m*/
 *
 * @param selection the current selection
 * @return the selected projects
 */
private List<IProject> getProjectsFromSelection(ISelection selection) {
    List<IProject> projectList = new ArrayList<IProject>();

    if (selection instanceof IStructuredSelection) {
        IStructuredSelection currentSelection = (IStructuredSelection) selection;
        if (!currentSelection.isEmpty()) {
            Iterator<IProject> iterator = currentSelection.iterator();

            while (iterator.hasNext()) {
                IAdaptable selectedObject = iterator.next();
                if (selectedObject instanceof IJavaProject) {
                    IJavaProject javaProject = (IJavaProject) selectedObject;
                    projectList.add(javaProject.getProject());
                } else if (selectedObject instanceof IProject) {
                    projectList.add(((IProject) selectedObject).getProject());
                }
            }
        }
    }
    return projectList;
}