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

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

Introduction

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

Prototype

@Override
    public Iterator iterator() 

Source Link

Usage

From source file:ext.org.eclipse.jdt.internal.ui.wizards.SuperInterfaceSelectionDialog.java

License:Open Source License

private void addSelectedInterfaces() {
    StructuredSelection selection = getSelectedItems();
    if (selection == null)
        return;/*from   w  ww  . j  a  va  2 s  .  c om*/
    for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
        Object obj = iter.next();
        if (obj instanceof TypeNameMatch) {
            accessedHistoryItem(obj);
            TypeNameMatch type = (TypeNameMatch) obj;
            String qualifiedName = getNameWithTypeParameters(type.getType());
            String message;

            if (fTypeWizardPage.addSuperInterface(qualifiedName)) {
                message = Messages.format(NewWizardMessages.SuperInterfaceSelectionDialog_interfaceadded_info,
                        BasicElementLabels.getJavaElementName(qualifiedName));
            } else {
                message = Messages.format(
                        NewWizardMessages.SuperInterfaceSelectionDialog_interfacealreadyadded_info,
                        BasicElementLabels.getJavaElementName(qualifiedName));
            }
            updateStatus(new StatusInfo(IStatus.INFO, message));
        }
    }
}

From source file:fr.gouv.mindef.safran.database.ui.actions.AbstractScaffoldHandler.java

License:Open Source License

private ScaffoldInfo getExistingScaffoldModel(StructuredSelection selection) {
    Iterator<?> iterator = selection.iterator();
    Object first = iterator.next();
    Object second = iterator.next();

    EObject firstEObject = null;//w  ww .  ja v a  2  s  .  c om
    EObject secondEObject = null;
    if (first instanceof EObject && second instanceof EObject) {
        firstEObject = (EObject) first;
        secondEObject = (EObject) second;

        Session session = SessionManager.INSTANCE.getSession(firstEObject);
        for (Resource semanticResource : session.getSemanticResources()) {
            for (EObject object : semanticResource.getContents()) {
                if (object instanceof ScaffoldInfo) {
                    ScaffoldInfo info = (ScaffoldInfo) object;
                    if ((info.getLeftObject() == firstEObject && info.getRightObject() == secondEObject)
                            || (info.getLeftObject() == secondEObject
                                    && info.getRightObject() == firstEObject)) {
                        return info;
                    }
                }
            }
        }
    }
    return null;
}

From source file:gov.nasa.ensemble.core.plan.resources.ui.profile.editor.ProfileDataPointsEditor.java

License:Open Source License

@SuppressWarnings("unchecked")
private TreeTableViewer createTreeTableViewer(final Composite parent, FormToolkit toolkit,
        final Profile profile) {
    boolean isProfileEditable = isProfileEditable(profile);
    //create tree viewer
    List<AbstractTreeTableColumn> columns = new ProfileDataPointColumnProvider(profile, isProfileEditable)
            .getColumns();//from w  ww. jav a2 s.  c  om
    TreeTableColumnConfiguration config = new TreeTableColumnConfiguration(columns.get(0), columns,
            columns.get(0));
    TreeTableComposite ttc = new TreeTableComposite(parent, config, false);
    ttc.setLayout(new TreeTableColumnLayout(false));
    final TreeTableViewer viewer = new TreeTableViewer(ttc, config, null);

    //set providers
    viewer.setContentProvider(new ProfileEditorContentProvider());
    viewer.setLabelProvider(new TreeTableLabelProvider() {
        @Override
        public boolean needsUpdate(Object feature) {
            return false;
        }

        @Override
        public Font getFont(Object element) {
            return null;
        }

        @Override
        public Color getBackground(Object element) {
            return null;
        }
    });

    //if there's any changes in the profile data points... refresh viewer!
    final TransactionalEditingDomain domain = gov.nasa.ensemble.emf.transaction.TransactionUtils
            .getDomain(profile);
    final ResourceSetListenerImpl viewerRefreshListener = new ResourceSetListenerImpl() {
        @Override
        public void resourceSetChanged(ResourceSetChangeEvent event) {
            for (Notification notification : event.getNotifications()) {
                if (notification.getNotifier() == profile
                        && notification.getFeature() == JSciencePackage.Literals.PROFILE__DATA_POINTS) {
                    WidgetUtils.runInDisplayThread(viewer.getTree(), new Runnable() {
                        @Override
                        public void run() {
                            viewer.refresh();
                            parent.getParent().getParent().layout();
                        }
                    });
                }
            }
        }
    };
    if (domain != null) {
        domain.addResourceSetListener(viewerRefreshListener);
    }

    if (isProfileEditable) {
        Composite buttonsComposite = toolkit.createComposite(parent);
        buttonsComposite.setLayout(new GridLayout(2, false));
        buttonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 2, 1));

        //insert new DataPoint
        final Button insertButton = toolkit.createButton(buttonsComposite, INSERT_BUTTON_TEXT, SWT.PUSH);
        insertButton.setToolTipText(INSERT_TOOLTIP_MESSAGE);
        final SelectionAdapter insertButtonSelectionListener = new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent event) {
                EList<DataPoint> dataPoints = profile.getDataPoints();
                DataPoint newDataPoint;
                if (dataPoints.isEmpty()) {
                    EPlan ePlan = EPlanUtils.getPlanFromResourceSet(profile);
                    Date date = (ePlan != null ? ePlan.getMember(TemporalMember.class).getStartTime()
                            : new Date());
                    newDataPoint = JScienceFactory.eINSTANCE.createEDataPoint(date, null);
                } else {
                    Date date;
                    ISelection selection = viewer.getSelection();
                    if (selection == null || selection.isEmpty()) {
                        date = dataPoints.get(dataPoints.size() - 1).getDate();
                    } else if (selection instanceof StructuredSelection) {
                        Object[] array = ((StructuredSelection) selection).toArray();
                        date = ((DataPoint) array[array.length - 1]).getDate();
                    } else {
                        date = new Date(); //if everything fails... just set to now
                    }
                    newDataPoint = JScienceFactory.eINSTANCE.createEDataPoint(DateUtils.addSeconds(date, 1),
                            null);
                }
                if (!dataPoints.contains(newDataPoint)) {
                    try {
                        AddProfileDataPointOperation op = new AddProfileDataPointOperation(profile,
                                newDataPoint);
                        op.addContext(viewer.getModel().getUndoContext());
                        IOperationHistory history = OperationHistoryFactory.getOperationHistory();
                        history.execute(op, null, null);
                        viewer.setSelection(new StructuredSelection(newDataPoint));
                    } catch (Exception e) {
                        LogUtil.error(e);
                    }
                } else {
                    showOperationError();
                    viewer.setSelection(new StructuredSelection(newDataPoint));
                }

            }
        };
        insertButton.addSelectionListener(insertButtonSelectionListener);

        //remove Data Point
        final Button removeButton = toolkit.createButton(buttonsComposite, REMOVE_BUTTON_TEXT, SWT.PUSH);
        removeButton.setToolTipText(REMOVE_TOOLTIP_MESSAGE);
        removeButton.setEnabled(!viewer.getSelection().isEmpty());
        final SelectionAdapter removeButtonSelectionListener = new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent event) {
                ISelection selection = viewer.getSelection();
                if (!selection.isEmpty()) {
                    if (selection instanceof StructuredSelection) {
                        StructuredSelection ss = (StructuredSelection) selection;
                        int selectionSize = ss.size();
                        DataPoint[] dps = new DataPoint[selectionSize];
                        Iterator<DataPoint> iterator = ss.iterator();
                        int i = 0;
                        while (iterator.hasNext()) {
                            dps[i++] = iterator.next();
                        }
                        RemoveProfileDataPointsOperation op = new RemoveProfileDataPointsOperation(profile,
                                dps);
                        op.addContext(EMFUtils.getUndoContext(profile));
                        IOperationHistory history = OperationHistoryFactory.getOperationHistory();
                        try {
                            history.execute(op, null, null);
                            viewer.setSelection(StructuredSelection.EMPTY);
                        } catch (Exception e) {
                            LogUtil.error(e);
                        }
                    }
                }
            }
        };
        removeButton.addSelectionListener(removeButtonSelectionListener);
        final ISelectionChangedListener removeButtonEnablementListener = new ISelectionChangedListener() {
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                removeButton.setEnabled(!viewer.getSelection().isEmpty());
            }
        };
        viewer.addSelectionChangedListener(removeButtonEnablementListener);

        //set dispose listener for editable profiles
        viewer.getControl().addDisposeListener(new DisposeListener() {
            @Override
            public void widgetDisposed(DisposeEvent e) {
                if (domain != null) {
                    domain.removeResourceSetListener(viewerRefreshListener);
                }
                insertButton.removeSelectionListener(insertButtonSelectionListener);
                removeButton.removeSelectionListener(removeButtonSelectionListener);
                viewer.removeSelectionChangedListener(removeButtonEnablementListener);
                dispose(viewer);
            }
        });
    } else {
        //set dispose listener for non-editable profiles
        viewer.getControl().addDisposeListener(new DisposeListener() {
            @Override
            public void widgetDisposed(DisposeEvent e) {
                if (domain != null) {
                    domain.removeResourceSetListener(viewerRefreshListener);
                }
                dispose(viewer);
            }
        });
    }
    return viewer;
}

From source file:info.limpet.ui.core_view.CoreAnalysisView.java

License:Open Source License

protected void newSelection(ISelection selection) {
    List<IStoreItem> res = new ArrayList<IStoreItem>();
    if (selection instanceof StructuredSelection) {
        StructuredSelection str = (StructuredSelection) selection;

        // check if it/they are suitable
        Iterator<?> iter = str.iterator();
        while (iter.hasNext()) {
            Object object = (Object) iter.next();
            if (object instanceof IAdaptable) {
                IAdaptable ad = (IAdaptable) object;
                IStoreItem coll = (IStoreItem) ad.getAdapter(IStoreItem.class);
                if (coll != null) {
                    res.add(coll);/*from   w ww .  jav  a2 s. c o m*/
                }
            } else {
                // can we adapt it?
                ArrayList<IAdapterFactory> adapters = Activator.getDefault().getAdapters();
                if (adapters != null) {
                    Iterator<IAdapterFactory> aIter = adapters.iterator();
                    while (aIter.hasNext()) {
                        IAdapterFactory iAdapterFactory = (IAdapterFactory) aIter.next();
                        Object match = iAdapterFactory.getAdapter(object, IStoreItem.class);
                        if (match != null) {
                            res.add((IStoreItem) match);
                            break;
                        }

                    }
                }
            }
        }
    }

    // ok, stop listening to the old list
    clearChangeListeners();

    // have we found any, and are they suitable for us?
    if ((res.size()) > 0 && appliesToMe(res, getATests())) {
        // store the new list
        curList.addAll(res);

        // now listen to the new list
        Iterator<IStoreItem> iter = curList.iterator();
        while (iter.hasNext()) {
            IStoreItem iC = iter.next();
            iC.addChangeListener(changeListener);
        }

        // ok, display them
        display(res);
    } else {
        // ok, nothing to display - clear the graph
        display(new ArrayList<IStoreItem>());
    }
}

From source file:io.sarl.eclipse.wizards.elements.AbstractSuperTypeSelectionDialog.java

License:Apache License

/** Adds selected interfaces to the list.
 *///from  w  ww.  j a  v a 2  s  .  c o m
private void fillWizardPageWithSelectedTypes() {
    final StructuredSelection selection = getSelectedItems();
    if (selection == null) {
        return;
    }
    for (final Iterator<?> iter = selection.iterator(); iter.hasNext();) {
        final Object obj = iter.next();
        if (obj instanceof TypeNameMatch) {
            accessedHistoryItem(obj);
            final TypeNameMatch type = (TypeNameMatch) obj;
            final String qualifiedName = Utilities.getNameWithTypeParameters(type.getType());
            final String message;

            if (addTypeToWizardPage(this.typeWizardPage, qualifiedName)) {
                message = MessageFormat.format(Messages.AbstractSuperTypeSelectionDialog_2,
                        BasicElementLabels.getJavaElementName(qualifiedName));
            } else {
                message = MessageFormat.format(Messages.AbstractSuperTypeSelectionDialog_3,
                        BasicElementLabels.getJavaElementName(qualifiedName));
            }
            updateStatus(new StatusInfo(IStatus.INFO, message));
        }
    }
}

From source file:net.refractions.udig.project.ui.internal.ProjectExplorer.java

License:Open Source License

/**
 * returns the list of all the selected objects of the given class.
 * /*from   w  w  w. j  a  v a 2s .  c o m*/
 * @param clazz The object types to add to the list.
 * @return the list of all the selected objects of the given class
 */
@SuppressWarnings("unchecked")
public <T> List<T> getSelected(Class<T> clazz) {
    StructuredSelection selection = (StructuredSelection) treeViewer.getSelection();
    List<T> selected = new ArrayList<T>();
    for (Iterator<T> iter = selection.iterator(); iter.hasNext();) {
        T obj = iter.next();
        if (clazz != null && clazz.isAssignableFrom(obj.getClass()))
            selected.add(obj);
    }
    return selected;
}

From source file:net.refractions.udig.project.ui.internal.ProjectExplorer.java

License:Open Source License

private LayerApplicabilityMenuCreator getApplicabilityMenu() {
    if (applicabilityCreator == null) {
        applicabilityCreator = new LayerApplicabilityMenuCreator();
    }/*from  ww  w  .  j  a v  a2s.c  o  m*/

    StructuredSelection selection = (StructuredSelection) treeViewer.getSelection();
    for (Iterator iter = selection.iterator(); iter.hasNext();) {
        Object element = iter.next();
        if (!(element instanceof Layer))
            return null;
    }

    return applicabilityCreator;
}

From source file:net.rim.ejde.internal.propertytester.ProjectPropertyTester.java

License:Open Source License

@Override
public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
    IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    if (page != null) {
        IViewPart viewPart = page.findView("org.eclipse.jdt.ui.PackageExplorer");
        if (viewPart != null) {
            IPackagesViewPart packageView = (IPackagesViewPart) viewPart;
            ISelection selection = packageView.getSite().getSelectionProvider().getSelection();
            if (selection instanceof StructuredSelection) {
                StructuredSelection ssel = (StructuredSelection) selection;
                if (ssel.isEmpty()) {
                    return false;
                } else {
                    Iterator<Object> iter = ssel.iterator();
                    while (iter.hasNext()) {
                        Object item = iter.next();
                        if (!(item instanceof IJavaProject)) {
                            return false;
                        }// w  w  w .j av a2s  .  co m
                        if (!NatureUtils.hasBBNature(((IJavaProject) item).getProject())) {
                            return false;
                        }
                    }
                    return true;
                }
            }
        }
    }
    return false;
}

From source file:net.rim.ejde.internal.ui.editors.model.BlackBerryProjectPropertiesPage.java

License:Open Source License

/**
 * Removes the currently selected table item from the viewer and updates controls accordingly
 *
 * @param viewer//w w  w  . ja  v  a2  s.co  m
 * @param actionButtons
 * @param updateUIOnly
 *            <code>true</code> only update UI but not remove items from the table; <code>false</code> update UI and remove
 *            items from the table;
 */
public void removeSelectedTableItem(TableViewer viewer, Map<Action, Button> actionButtons,
        boolean updateUIOnly) {
    StructuredSelection selection = (StructuredSelection) viewer.getSelection();
    Table table = viewer.getTable();
    int selectionIndex = table.getSelectionIndex();
    Boolean entryRemoved = false;

    if (!updateUIOnly) {
        for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
            Object selectedElement = iter.next();

            if (selectedElement != null) {

                viewer.remove(selectedElement);

                if (!entryRemoved) {
                    entryRemoved = true;
                }
            }
        }
    }

    if (updateUIOnly || entryRemoved) {
        int itemCount = table.getItemCount();
        if (itemCount != 0) {
            table.select(itemCount - 1 > selectionIndex ? selectionIndex : itemCount - 1);

            if (actionButtons.containsKey(Action.MOVE_DOWN)) {
                if (selectionIndex == itemCount - 1) {
                    actionButtons.get(Action.MOVE_DOWN).setEnabled(false);
                }

                actionButtons.get(Action.MOVE_UP).setEnabled(itemCount > 1 ? true : false);
            }

            // Used to fire any selection events
            viewer.setSelection(viewer.getSelection());
        } else {
            if (actionButtons.containsKey(Action.EDIT)) {
                actionButtons.get(Action.EDIT).setEnabled(false);
            }
            if (actionButtons.containsKey(Action.REMOVE)) {
                actionButtons.get(Action.REMOVE).setEnabled(false);
            }
            if (actionButtons.containsKey(Action.MOVE_UP)) {
                actionButtons.get(Action.MOVE_UP).setEnabled(false);
            }
            if (actionButtons.containsKey(Action.MOVE_DOWN)) {
                actionButtons.get(Action.MOVE_DOWN).setEnabled(false);
            }
            if (actionButtons.containsKey(Action.SELECT_ALL)) {
                actionButtons.get(Action.SELECT_ALL).setEnabled(false);
            }
            if (actionButtons.containsKey(Action.SELECT_NONE)) {
                actionButtons.get(Action.SELECT_NONE).setEnabled(false);
            }
        }

        // Enable any disabled add buttons - icon scenarios where only 2 icons can be added.
        if (actionButtons.containsKey(Action.ADD)) {
            actionButtons.get(Action.ADD).setEnabled(true);
        }
        if (actionButtons.containsKey(Action.ADD_FROM_PROJECT)) {
            actionButtons.get(Action.ADD_FROM_PROJECT).setEnabled(true);
        }
        if (actionButtons.containsKey(Action.ADD_FROM_EXTERNAL)) {
            actionButtons.get(Action.ADD_FROM_EXTERNAL).setEnabled(true);
        }

        if (table.getColumnCount() > 1) {
            table.getColumn(1).pack();
        }
    }
}

From source file:net.rim.ejde.internal.util.ProjectUtils.java

License:Open Source License

/**
 * Gets selected IJavaProjects from the selection.
 *
 * @param selection//from ww  w .j a va2s .c  o m
 *            The <code>StructuredSelection</code>
 * @return <code>IJavaProject</code>
 */
public static IJavaProject[] getSelectProjects(StructuredSelection selection) {
    StructuredSelection ss = selection;
    List<IJavaProject> projects = new ArrayList<IJavaProject>();
    Object p = null;
    Iterator<Object> i = ss.iterator();
    while (i.hasNext()) {
        p = i.next();
        if (p instanceof IJavaProject) {
            try {
                // we only package BB projects
                if (((IJavaProject) p).getProject().hasNature(BlackBerryProjectCoreNature.NATURE_ID)) {
                    projects.add((IJavaProject) p);
                }
            } catch (CoreException e) {
                logger.error(e.getMessage());
            }
        } else if (p instanceof IProject) {
            try {
                // we only package BB projects
                if (((IProject) p).hasNature(BlackBerryProjectCoreNature.NATURE_ID)) {
                    projects.add(JavaCore.create((IProject) p));
                }
            } catch (CoreException e) {
                logger.error(e.getMessage());
            }
        }
    }
    return projects.toArray(new IJavaProject[projects.size()]);
}