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.liferay.ide.sdk.ui.InstalledSDKsCompostite.java

License:Open Source License

protected SDK getFirstSelectedSDK() {
    IStructuredSelection selection = (IStructuredSelection) getSelection();
    Iterator<?> iterator = selection.iterator();

    if (iterator.hasNext()) {
        Object next = iterator.next();

        if (next instanceof SDK) {
            return (SDK) next;
        }/*from  w ww  . jav a2s. c o m*/
    }

    return null;
}

From source file:com.liferay.ide.sdk.ui.InstalledSDKsCompostite.java

License:Open Source License

protected void removeSelectedSDKs() {
    IStructuredSelection selection = (IStructuredSelection) getSelection();

    SDK[] selectedSdks = new SDK[selection.size()];

    Iterator<?> iterator = selection.iterator();

    int i = 0;//from  w w  w.  ja  va 2 s  .  c o m

    while (iterator.hasNext()) {
        SDK sdk = null;

        Object next = iterator.next();

        if (next instanceof SDK) {
            sdk = (SDK) next;
        } else if (next instanceof IStructuredSelection) {
            sdk = (SDK) ((IStructuredSelection) next).getFirstElement();
        }

        selectedSdks[i++] = sdk;
    }

    List<SDK> sdksList = Arrays.asList(selectedSdks);
    // IDE-6 check to make sure that no existing projects use this SDK

    List<SDK> sdksToRemove = new ArrayList<SDK>();
    sdksToRemove.addAll(sdksList);
    List<SDK> checkedSDks = new ArrayList<SDK>();

    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();

    for (IProject project : projects) {
        SDK sdk = SDKUtil.getSDK(project);

        if (sdksList.contains(sdk)) {
            if (checkedSDks.contains(sdk)) {
                continue;
            } else {
                boolean remove = MessageDialog.openQuestion(this.getShell(), Msgs.installedSDKs,
                        MessageFormat.format(Msgs.sdkRemovalConfirmation, sdk.getName()));

                if (!remove) {
                    sdksToRemove.remove(sdk);
                }

                checkedSDks.add(sdk);
            }
        }
    }

    removeSDKs(sdksToRemove.toArray(new SDK[sdksToRemove.size()]));
}

From source file:com.liferay.ide.server.ui.action.EditPropertiesFileAction.java

License:Open Source License

/**
 * Update the enabled state.//w w w. j  a  va2s.  c o  m
 *
 * @param sel
 *            a selection
 */
@SuppressWarnings("rawtypes")
public void selectionChanged(IStructuredSelection sel) {
    if (sel.isEmpty()) {
        setEnabled(false);
        return;
    }

    boolean enabled = false;
    Iterator iterator = sel.iterator();

    while (iterator.hasNext()) {
        Object obj = iterator.next();
        if (obj instanceof PropertiesFile) {
            final PropertiesFile node = (PropertiesFile) obj;

            if (accept(node)) {
                enabled = true;
            }
        } else {
            setEnabled(false);
            return;
        }
    }

    setEnabled(enabled);
}

From source file:com.liferay.ide.server.ui.action.OpenLiferayHomeFolderAction.java

License:Open Source License

/**
 * Update the enabled state.//w  w w.  ja v  a  2s .  c o  m
 *
 * @param sel
 *            a selection
 */
@SuppressWarnings("rawtypes")
public void selectionChanged(IStructuredSelection sel) {
    if (sel.isEmpty()) {
        setEnabled(false);

        return;
    }

    boolean enabled = false;
    Iterator iterator = sel.iterator();

    while (iterator.hasNext()) {
        Object obj = iterator.next();

        if (obj instanceof PropertiesFile) {
            final PropertiesFile node = (PropertiesFile) obj;

            final String path = node.getPath();

            try {
                if (!CoreUtil.isNullOrEmpty(ServerUIUtil.getSystemExplorerCommand(new Path(path).toFile()))
                        && accept(node)) {
                    enabled = true;
                }
            } catch (IOException e) {
            }
        } else {
            setEnabled(false);

            return;
        }
    }

    setEnabled(enabled);
}

From source file:com.liferay.ide.server.ui.action.RedeployAction.java

License:Open Source License

@Override
public void selectionChanged(IAction action, ISelection selection) {
    boolean validServerState = true;

    if (!selection.isEmpty()) {
        final List<ModuleServer> newModules = new ArrayList<ModuleServer>();

        if (selection instanceof IStructuredSelection) {
            final IStructuredSelection obj = (IStructuredSelection) selection;
            final Iterator selectionIterator = obj.iterator();

            while (selectionIterator.hasNext()) {
                ModuleServer moduleServer = (ModuleServer) selectionIterator.next();
                newModules.add(moduleServer);
                validServerState = validServerState
                        && ((moduleServer.getServer().getServerState() & getRequiredServerState()) > 0);
            }//from w  w  w.j  a  va  2  s  .co  m

            this.selectedModules = newModules.toArray(new ModuleServer[0]);

            action.setEnabled(validServerState);
        }
    }
}

From source file:com.liferay.ide.server.ui.navigator.PropertiesActionProvider.java

License:Open Source License

public void fillContextMenu(IMenuManager menu) {
    // This is a temp workaround to clean up the default group that are provided by CNF
    menu.removeAll();/*w  w w  . j  a v a  2s. c  o  m*/

    ICommonViewerSite site = actionSite.getViewSite();
    IStructuredSelection selection = null;

    if (site instanceof ICommonViewerWorkbenchSite) {
        ICommonViewerWorkbenchSite wsSite = (ICommonViewerWorkbenchSite) site;
        selection = (IStructuredSelection) wsSite.getSelectionProvider().getSelection();
    }

    PropertiesFile file = null;

    if (selection != null && !selection.isEmpty()) {
        Iterator<?> iterator = selection.iterator();
        Object obj = iterator.next();

        if (obj instanceof PropertiesFile) {
            file = (PropertiesFile) obj;
        }

        if (iterator.hasNext()) {
            file = null;
        }
    }

    menu.add(invisibleSeparator(TOP_SECTION_START_SEPARATOR));
    addTopSection(menu, file);
    menu.add(invisibleSeparator(TOP_SECTION_END_SEPARATOR));
    menu.add(new Separator());

    menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS + "-end"));
}

From source file:com.meikas.eclipse.recentfiles.views.RecentFilesView.java

License:Open Source License

private void createRemoveAction() {
    removeAction = new Action() {
        public void run() {
            int selectionStart = viewer.getTable().getSelectionIndex();

            removeSelectedLinks((IStructuredSelection) viewer.getSelection());
            setNewSelection(selectionStart);

            viewer.refresh();//  w  ww.  ja  v  a  2  s  .  com
        }

        private void setNewSelection(int selectionIndex) {
            int lastItemIndex = viewer.getTable().getItemCount() - 1;
            selectionIndex = Math.min(selectionIndex, lastItemIndex);
            viewer.getTable().setSelection(selectionIndex);
        }

        private void removeSelectedLinks(IStructuredSelection sel) {
            for (Iterator iterator = sel.iterator(); iterator.hasNext();) {
                Object obj = iterator.next();
                if (obj instanceof FileLink) {
                    FileLink f = (FileLink) obj;
                    fileLinkStore.remove(f);
                }
            }
        }
    };

    removeAction.setText("Remove file");
    removeAction.setToolTipText("Remove file from the list");
    ImageDescriptor deleteImage = AbstractUIPlugin.imageDescriptorFromPlugin(Activator.PLUGIN_ID,
            "/icons/delete.png");
    removeAction.setImageDescriptor(deleteImage);
}

From source file:com.meikas.eclipse.recentfiles.views.RecentFilesView.java

License:Open Source License

private void createToggleAction() {
    toggleAction = new Action() {

        public void run() {

            ISelection selection = viewer.getSelection();
            IStructuredSelection sel = (IStructuredSelection) selection;

            for (Iterator iterator = sel.iterator(); iterator.hasNext();) {
                Object obj = iterator.next();
                if (obj instanceof FileLink) {
                    FileLink f = (FileLink) obj;
                    toggleBookmark(f);/* w w w .j ava 2  s.  com*/
                }
            }
        }

        private void toggleBookmark(FileLink f) {
            if (f.isBookmark()) {
                fileLinkStore.remove(f);
                f.setBookmark(false);
                fileLinkStore.add(f);
            } else {
                fileLinkStore.addBookmark(f);
            }
            viewer.refresh();
        }
    };
    toggleAction.setText("Toggle bookmark");
    toggleAction.setToolTipText("Toggle selection bookmark status");
    ImageDescriptor bookmarkImage = PlatformUI.getWorkbench().getSharedImages()
            .getImageDescriptor(SharedImages.IMG_OBJS_BKMRK_TSK);
    toggleAction.setImageDescriptor(bookmarkImage);
}

From source file:com.mentor.nucleus.bp.core.ui.actions.PublishSynchronizationChanges.java

License:Open Source License

@Override
public void run(IAction action) {
    IStructuredSelection ss = (IStructuredSelection) selection;
    boolean canceled = false;
    List<NonRootModelElement> references = new ArrayList<NonRootModelElement>();
    for (Iterator<?> iterator = ss.iterator(); iterator.hasNext();) {
        SystemModel_c system = (SystemModel_c) iterator.next();
        system.Collectreferencesforsynchronization(references, Synchronizationtype_c.Push);
    }//from   w ww .  j  av a 2  s.  co m
    List<ElementChange> changes = PullSynchronizationChanges.collectChanges(references);
    if (changes.size() == 0) {
        UIUtil.openInformation(PlatformUI.getWorkbench().getDisplay().getActiveShell(), "Synchronization",
                "No references were found to be unsynchronized.");
        return;
    }
    boolean result = PullSynchronizationChanges.displayRemovalChanges(changes);
    if (!result) {
        return;
    }
    TransactionManager manager = TransactionManager.getSingleton();
    Transaction transaction = null;
    try {
        transaction = manager.startTransaction("Synchronize references", Ooaofooa.getDefaultInstance());
        for (ElementChange change : changes) {
            change.getElementChanged().Synchronize();
        }
        canceled = manager.endTransaction(transaction);
    } catch (Exception e) {
        if (transaction != null) {
            manager.cancelTransaction(transaction, e);
        }
        return;
    }
    if (!canceled) {
        PullSynchronizationChanges.displayChanges(changes);
        UIUtil.refresh(null);
    }
}

From source file:com.mentor.nucleus.bp.core.ui.actions.PullSynchronizationChanges.java

License:Open Source License

@Override
public void run(IAction action) {
    IStructuredSelection ss = (IStructuredSelection) selection;
    boolean canceled = false;
    List<NonRootModelElement> references = new ArrayList<NonRootModelElement>();
    for (Iterator<?> iterator = ss.iterator(); iterator.hasNext();) {
        SystemModel_c system = (SystemModel_c) iterator.next();
        system.Collectreferencesforsynchronization(references, Synchronizationtype_c.Pull);
    }//w w  w.j a va2 s.co  m
    List<ElementChange> changes = collectChanges(references);
    if (changes.size() == 0) {
        MessageDialog.openInformation(PlatformUI.getWorkbench().getDisplay().getActiveShell(),
                "Synchronization", "No references were found to be unsynchronized.");
        return;
    }
    boolean result = displayRemovalChanges(changes);
    if (!result) {
        return;
    }
    // ui will guarantee that all elements are systems
    // perform in a transaction
    TransactionManager manager = TransactionManager.getSingleton();
    Transaction transaction = null;
    try {
        transaction = manager.startTransaction("Synchronize with library", Ooaofooa.getDefaultInstance());
        for (ElementChange change : changes) {
            change.getElementChanged().Synchronize();
        }
        canceled = manager.endTransaction(transaction);
    } catch (Exception e) {
        if (transaction != null) {
            manager.cancelTransaction(transaction, e);
        }
        return;
    }
    if (!canceled) {
        displayChanges(changes);
        UIUtil.refresh(null);
    }
}