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:com.nextep.designer.sqlclient.ui.handlers.DeleteRowHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection sel = HandlerUtil.getCurrentSelection(event);
    if (sel instanceof IStructuredSelection && !sel.isEmpty()) {
        final IWorkbenchPart part = HandlerUtil.getActivePart(event);
        final ISQLQuery query = (ISQLQuery) part.getAdapter(ISQLQuery.class);
        if (query != null && !query.isRunning()) {
            final IStructuredSelection s = (IStructuredSelection) sel;
            final ISQLClientService sqlClientService = SQLClientPlugin.getService(ISQLClientService.class);
            Iterator<?> selIt = s.iterator();
            while (selIt.hasNext()) {
                Object obj = selIt.next();
                if (obj instanceof ISQLRowResult) {
                    try {
                        sqlClientService.deleteQueryValue(query, (ISQLRowResult) obj);
                    } catch (SQLException e) {
                        throw new ErrorException("Could not delete the row: " + e.getMessage(), e);
                    }//ww w . jav a2  s  .  c o  m
                }
            }
        }
    }
    return null;
}

From source file:com.nextep.designer.sqlgen.ui.handlers.ShowFullDDLForVendorHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection s = HandlerUtil.getCurrentSelection(event);
    if (s instanceof IStructuredSelection) {
        final IStructuredSelection sel = (IStructuredSelection) s;
        final Iterator<?> selIt = sel.iterator();
        final List<ITypedObject> objects = new ArrayList<ITypedObject>();
        while (selIt.hasNext()) {
            final Object o = selIt.next();
            if (o instanceof ITypedObject) {
                objects.add((ITypedObject) o);
            }//from  w w  w .  jav a  2s  .c o m
        }

        // Prompting for database vendor
        final IWorkspaceService workspaceService = CorePlugin.getService(IWorkspaceService.class);
        final IWorkspace workspace = workspaceService.getCurrentWorkspace();
        final DBVendor currentVendor = workspace.getDBVendor();

        // Building our components and wrapping them to pages
        final List<IUIComponent> components = new ArrayList<IUIComponent>();
        final VendorSelectionDialog vendorDialog = new VendorSelectionDialog(currentVendor);
        components.add(vendorDialog);
        final IUIComponent domainDialog = new DomainEditorComponent();
        components.add(domainDialog);

        // Initializing dialog
        Wizard wiz = new ComponentWizard(SQLMessages.getString("wizard.crossgeneration.title"), components); //$NON-NLS-1$
        WizardDialog dlg = new WizardDialog(UIHelper.getShell(), wiz) {
            @Override
            protected Point getInitialSize() {
                return new Point(600, 540);
            }
        };
        dlg.setBlockOnOpen(true);
        dlg.open();
        // Dialog dlg = new TitleAreaDialogWrapper(UIHelper.getShell(),
        // vendorDialog, SWT.RESIZE
        // | SWT.TITLE | SWT.BORDER);
        // dlg.setBlockOnOpen(true);
        // dlg.open();
        final DBVendor selectedVendor = vendorDialog.getCurrentVendor();
        if (selectedVendor != null) {
            Job j = new Job(SQLGenMessages.getString("sqlgen.action.generate")) {

                @Override
                protected IStatus run(IProgressMonitor monitor) {
                    CorePlugin.getService(IGenerationService.class).generate(selectedVendor,
                            new IGenerationListener() {

                                @Override
                                public void generationSucceeded(final ISQLScript result) {
                                    // Opening editor
                                    PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {

                                        @Override
                                        public void run() {
                                            UIControllerFactory.getController(result).defaultOpen(result);
                                        }
                                    });
                                }

                                @Override
                                public void generationFailed(Throwable t, String message) {

                                }
                            }, monitor, objects.toArray(new ITypedObject[objects.size()]));

                    return Status.OK_STATUS;
                }
            };
            j.setUser(true);
            j.schedule();
        }
    }
    return null;
}

From source file:com.nextep.designer.sqlgen.ui.handlers.ShowFullDDLHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection s = HandlerUtil.getCurrentSelection(event);
    if (s instanceof IStructuredSelection) {
        final IStructuredSelection sel = (IStructuredSelection) s;
        final Iterator<?> selIt = sel.iterator();
        final List<ITypedObject> objects = new ArrayList<ITypedObject>();
        while (selIt.hasNext()) {
            final Object o = selIt.next();
            if (o instanceof ITypedObject) {
                objects.add((ITypedObject) o);
            }/*from   ww w .  j a v a2  s  .co  m*/
        }

        Job j = new Job(SQLGenMessages.getString("sqlgen.action.generate")) {

            @Override
            protected IStatus run(IProgressMonitor monitor) {
                CorePlugin.getService(IGenerationService.class).generate(new IGenerationListener() {

                    @Override
                    public void generationSucceeded(final ISQLScript result) {
                        // Opening editor
                        PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {

                            @Override
                            public void run() {
                                UIControllerFactory.getController(result).defaultOpen(result);
                            }
                        });
                    }

                    @Override
                    public void generationFailed(Throwable t, String message) {

                    }
                }, monitor, objects.toArray(new ITypedObject[objects.size()]));

                return Status.OK_STATUS;
            }
        };
        j.setUser(true);
        j.schedule();
    }
    return null;
}

From source file:com.nextep.designer.synch.ui.dialogs.TableSelectionDialog.java

License:Open Source License

private Collection<IVersionable<?>> transferSelection(TableViewer sourceViewer, TableViewer targetViewer) {
    final ISelection s = sourceViewer.getSelection();
    final Collection<IVersionable<?>> transferredElts = new ArrayList<IVersionable<?>>();
    if (s != null && !s.isEmpty() && s instanceof IStructuredSelection) {
        final IStructuredSelection sel = (IStructuredSelection) s;
        Iterator<?> it = sel.iterator();
        while (it.hasNext()) {
            IVersionable<?> v = (IVersionable<?>) it.next();
            targetViewer.add(v);//from w  w  w .  j  ava 2  s . c  om
            sourceViewer.remove(v);
            transferredElts.add(v);
        }
    }
    return transferredElts;
}

From source file:com.nextep.designer.synch.ui.handlers.ExcludeComparisonItemHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection s = HandlerUtil.getCurrentSelection(event);
    if (s instanceof IStructuredSelection) {
        final IStructuredSelection sel = (IStructuredSelection) s;
        final Iterator<?> it = sel.iterator();
        // Retrieving reverse dependencies
        final MultiValueMap invRefMap = CorePlugin.getService(IReferenceManager.class)
                .getReverseDependenciesMap();
        // Selecting all items from the selection iteratively
        while (it.hasNext()) {
            Object selObject = it.next();
            if (selObject instanceof IComparisonItem) {
                final IComparisonItem item = (IComparisonItem) selObject;
                getSynchronizationService().selectProposal(item, ComparedElement.TARGET, invRefMap);
                getSynchronizationService().adjustParents(item.getParent());
            }/*w  ww. j ava 2 s  . c o  m*/
        }
        IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService()
                .getActivePart();
        if (part instanceof CommonNavigator) {
            ((CommonNavigator) part).getCommonViewer().refresh();
        }
    }
    return null;
}

From source file:com.nextep.designer.synch.ui.handlers.IncludeComparisonItemHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection s = HandlerUtil.getCurrentSelection(event);
    if (s instanceof IStructuredSelection) {
        final IStructuredSelection sel = (IStructuredSelection) s;
        final Iterator<?> it = sel.iterator();
        // Retrieving reverse dependencies
        final MultiValueMap invRefMap = CorePlugin.getService(IReferenceManager.class)
                .getReverseDependenciesMap();
        // Selecting all items from the selection iteratively
        while (it.hasNext()) {
            Object selObject = it.next();
            if (selObject instanceof IComparisonItem) {
                final IComparisonItem item = (IComparisonItem) selObject;
                getSynchronizationService().selectProposal(item, ComparedElement.SOURCE, invRefMap);
                getSynchronizationService().adjustParents(item.getParent());
                if (item.getParent() != null) {
                    item.getParent().getMergeInfo().setMergeProposal(null);
                }/*www.  ja v a  2 s .c o m*/
            }
        }
        IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService()
                .getActivePart();
        if (part instanceof CommonNavigator) {
            ((CommonNavigator) part).getCommonViewer().refresh();
        }
    }
    return null;
}

From source file:com.nextep.designer.ui.handlers.EditTypedItemHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection s = HandlerUtil.getCurrentSelection(event);
    if (s instanceof IStructuredSelection) {
        final IStructuredSelection sel = (IStructuredSelection) s;
        if (!sel.isEmpty()) {
            // Warning before opening too many editors
            if (sel.size() > WARN_DIALOG_ABOVE) {
                final boolean confirmed = MessageDialog.openConfirm(HandlerUtil.getActiveShell(event),
                        MessageFormat.format(UIMessages.getString("editItemWarnCountTitle"), sel.size()), //$NON-NLS-1$
                        MessageFormat.format(UIMessages.getString("editItemWarnCount"), sel.size(), sel //$NON-NLS-1$
                                        .size()));
                if (!confirmed) {
                    return null;
                }/*from w w  w. j av  a 2  s. co m*/
            }
            // If OK, we open everything
            final Iterator<?> selIt = sel.iterator();
            while (selIt.hasNext()) {
                final Object o = selIt.next();
                if ((o instanceof ITypedObject) && !(o instanceof IConnector<?, ?>)) {
                    final ITypedObject t = (ITypedObject) o;
                    UIControllerFactory.getController(t.getType()).defaultOpen(t);
                }
            }
        }
    }
    return null;
}

From source file:com.nextep.designer.ui.helpers.UIHelper.java

License:Open Source License

/**
 * Retrieves the currently selected object model or <code>null</code> if no
 * model selected ./* w  w  w .j av  a  2s  . c  o m*/
 * 
 * @param window
 *            active window or event window
 * @return the model object currently being selected
 */
@SuppressWarnings("unchecked")
public static List<?> getSelectedModel(IWorkbenchWindow window) {
    // Retrieving selection service
    if (window == null || window.getSelectionService() == null) {
        return null;
    }
    ISelection sel = window.getSelectionService().getSelection();
    // We only look for a structured non-empty selection
    if (sel instanceof IStructuredSelection) {
        if (sel != null && !sel.isEmpty()) {
            List<Object> selectedModels = new ArrayList<Object>();
            final IStructuredSelection s = (IStructuredSelection) sel;
            final Iterator<?> selIt = s.iterator();
            while (selIt.hasNext()) {
                selectedModels.add(selIt.next());
            }
            return selectedModels;
        }
    } else {
        IWorkbenchPart part = null;
        final IWorkbenchPage page = window.getActivePage();
        if (page != null) {
            part = page.getActivePart();
        }
        if (part instanceof IEditorPart) {
            final IEditorInput input = ((IEditorPart) part).getEditorInput();
            if (input instanceof IModelOriented<?>) {
                return Arrays.asList(((IModelOriented<?>) input).getModel());
            }
        }

    }
    // Any other context returns a null object
    return Collections.EMPTY_LIST;
}

From source file:com.nextep.designer.vcs.ui.handlers.MoveToModuleHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    // We have an unlocked container here, so we perform the move
    final ISelection s = HandlerUtil.getCurrentSelection(event);
    if (s instanceof IStructuredSelection) {
        final IStructuredSelection sel = (IStructuredSelection) s;
        // Checking that every object to move is in a modifiable container
        Iterator<?> selIt = sel.iterator();
        Collection<IVersionable<?>> versionablesToMove = new ArrayList<IVersionable<?>>();
        while (selIt.hasNext()) {
            Object o = selIt.next();
            fillVersionablesFromObject(versionablesToMove, o);
        }/*from w w w .j a  va  2  s  .c om*/
        // We can proceed
        Object elt = Designer.getInstance().invokeSelection("find.element", //$NON-NLS-1$
                new TypedContentProvider(IElementType.getInstance(IVersionContainer.TYPE_ID)),
                VCSPlugin.getViewService().getCurrentWorkspace(),
                VCSUIMessages.getString("moveToContainerSelection")); //$NON-NLS-1$
        if (elt != null) {
            IVersionContainer c = (IVersionContainer) elt;
            getViewUIService().move(versionablesToMove, c);
        }
    }
    return null;
}

From source file:com.nextep.designer.vcs.ui.handlers.OpenTypedObjectAction.java

License:Open Source License

@Override
public void run() {
    final IStructuredSelection sel = (IStructuredSelection) selectionProvider.getSelection();
    if (!sel.isEmpty()) {
        // Warning before opening too many editors
        if (sel.size() > WARN_DIALOG_ABOVE) {
            final boolean confirmed = MessageDialog.openConfirm(page.getWorkbenchWindow().getShell(),
                    MessageFormat.format(UIMessages.getString("editItemWarnCountTitle"), sel.size()), //$NON-NLS-1$
                    MessageFormat.format(UIMessages.getString("editItemWarnCount"), sel.size(), sel.size())); //$NON-NLS-1$
            if (!confirmed) {
                return;
            }/*  ww w. j ava  2s  .  co m*/
        }
        // If OK, we open everything
        final Iterator<?> selIt = sel.iterator();
        while (selIt.hasNext()) {
            final Object o = selIt.next();
            if ((o instanceof ITypedObject) && !(o instanceof IConnector<?, ?>)) {
                final ITypedObject t = (ITypedObject) o;
                UIControllerFactory.getController(t.getType()).defaultOpen(t);
            }
        }
    }
}