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

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

Introduction

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

Prototype

public Object[] toArray();

Source Link

Document

Returns the elements in this selection as an array.

Usage

From source file:ext.org.eclipse.jdt.internal.corext.refactoring.RefactoringAvailabilityTester.java

License:Open Source License

public static boolean isPushDownAvailable(final IStructuredSelection selection) throws JavaModelException {
    if (!selection.isEmpty()) {
        if (selection.size() == 1) {
            if (selection.getFirstElement() instanceof ICompilationUnit)
                return true; // Do not force opening
            final IType type = getSingleSelectedType(selection);
            if (type != null)
                return isPushDownAvailable(new IType[] { type });
        }/*from w  w w  .j  a v a  2 s  .co m*/
        for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) {
            if (!(iterator.next() instanceof IMember))
                return false;
        }
        final Set<IMember> members = new HashSet<IMember>();
        @SuppressWarnings("unchecked")
        List<IMember> selectionList = (List<IMember>) (List<?>) Arrays.asList(selection.toArray());
        members.addAll(selectionList);
        return isPushDownAvailable(members.toArray(new IMember[members.size()]));
    }
    return false;
}

From source file:ext.org.eclipse.jdt.internal.ui.actions.CleanUpAction.java

License:Open Source License

private boolean isEnabled(IStructuredSelection selection) {
    Object[] selected = selection.toArray();
    for (int i = 0; i < selected.length; i++) {
        try {//from w ww .  j  a  v  a 2  s.  c o  m
            if (selected[i] instanceof IJavaElement) {
                IJavaElement elem = (IJavaElement) selected[i];
                if (elem.exists()) {
                    switch (elem.getElementType()) {
                    case IJavaElement.TYPE:
                        return elem.getParent().getElementType() == IJavaElement.COMPILATION_UNIT; // for browsing perspective
                    case IJavaElement.COMPILATION_UNIT:
                        return true;
                    case IJavaElement.IMPORT_CONTAINER:
                        return true;
                    case IJavaElement.PACKAGE_FRAGMENT:
                    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
                        IPackageFragmentRoot root = (IPackageFragmentRoot) elem
                                .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
                        return (root.getKind() == IPackageFragmentRoot.K_SOURCE);
                    case IJavaElement.JAVA_PROJECT:
                        // https://bugs.eclipse.org/bugs/show_bug.cgi?id=65638
                        return true;
                    }
                }
            } else if (selected[i] instanceof LogicalPackage) {
                return true;
            } else if (selected[i] instanceof IWorkingSet) {
                IWorkingSet workingSet = (IWorkingSet) selected[i];
                return IWorkingSetIDs.JAVA.equals(workingSet.getId());
            }
        } catch (JavaModelException e) {
            if (!e.isDoesNotExist()) {
                JavaPlugin.log(e);
            }
        }
    }
    return false;
}

From source file:ext.org.eclipse.jdt.internal.ui.actions.CleanUpAction.java

License:Open Source License

public ICompilationUnit[] getCompilationUnits(IStructuredSelection selection) {
    HashSet<IJavaElement> result = new HashSet<IJavaElement>();
    Object[] selected = selection.toArray();
    for (int i = 0; i < selected.length; i++) {
        Object element = selected[i];
        collectCompilationUnits(element, result);
    }//from  w w  w . j ava2 s .c o  m
    return result.toArray(new ICompilationUnit[result.size()]);
}

From source file:ext.org.eclipse.jdt.internal.ui.actions.CopyQualifiedNameAction.java

License:Open Source License

/**
 * {@inheritDoc}//from   ww w  . j a  v  a  2 s.c  o  m
 */
@Override
public void selectionChanged(IStructuredSelection selection) {
    setEnabled(canEnable(selection.toArray()));
}

From source file:ext.org.eclipse.jdt.internal.ui.actions.ExtractSuperClassAction.java

License:Open Source License

private static IMember[] getSelectedMembers(final IStructuredSelection selection) {
    if (selection.isEmpty())
        return null;
    if (selection.size() == 1) {
        try {/*w  ww  .j av a 2  s.co m*/
            final IType type = RefactoringAvailabilityTester.getSingleSelectedType(selection);
            if (type != null)
                return new IType[] { type };
        } catch (JavaModelException exception) {
            JavaPlugin.log(exception);
        }
    }
    for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) {
        if (!(iterator.next() instanceof IMember))
            return null;
    }
    final Set<IMember> set = new HashSet<IMember>();
    @SuppressWarnings("unchecked")
    List<IMember> selectionList = (List<IMember>) (List<?>) Arrays.asList(selection.toArray());
    set.addAll(selectionList);
    return set.toArray(new IMember[set.size()]);
}

From source file:ext.org.eclipse.jdt.internal.ui.actions.FindBrokenNLSKeysAction.java

License:Open Source License

private SearchPatternData[] getNLSFiles(IStructuredSelection selection) {
    Object[] selectedElements = selection.toArray();
    HashMap<IType, SearchPatternData> result = new HashMap<IType, SearchPatternData>();

    collectNLSFilesFromResources(selectedElements, result);
    collectNLSFilesFromJavaElements(selectedElements, result);

    Collection<SearchPatternData> values = result.values();
    return values.toArray(new SearchPatternData[values.size()]);
}

From source file:ext.org.eclipse.jdt.internal.ui.actions.FindBrokenNLSKeysAction.java

License:Open Source License

private boolean canEnable(IStructuredSelection selection) {
    Object[] selected = selection.toArray();
    for (int i = 0; i < selected.length; i++) {
        try {//from   w  w  w. j  av  a2  s .co  m
            if (selected[i] instanceof IJavaElement) {
                IJavaElement elem = (IJavaElement) selected[i];
                if (elem.exists()) {
                    switch (elem.getElementType()) {
                    case IJavaElement.TYPE:
                        if (elem.getParent().getElementType() == IJavaElement.COMPILATION_UNIT) {
                            return true;
                        }
                        return false;
                    case IJavaElement.COMPILATION_UNIT:
                        return true;
                    case IJavaElement.IMPORT_CONTAINER:
                        return false;
                    case IJavaElement.PACKAGE_FRAGMENT:
                    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
                        IPackageFragmentRoot root = (IPackageFragmentRoot) elem
                                .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
                        return (root.getKind() == IPackageFragmentRoot.K_SOURCE);
                    case IJavaElement.JAVA_PROJECT:
                        return true;
                    }
                }
            } else if (selected[i] instanceof LogicalPackage) {
                return true;
            } else if (selected[i] instanceof IFile) {
                IFile file = (IFile) selected[i];
                if ("properties".equalsIgnoreCase(file.getFileExtension())) //$NON-NLS-1$
                    return true;
            } else if (selected[i] instanceof IWorkingSet) {
                IWorkingSet workingSet = (IWorkingSet) selected[i];
                return IWorkingSetIDs.JAVA.equals(workingSet.getId());
            }
        } catch (JavaModelException e) {
            if (!e.isDoesNotExist()) {
                JavaPlugin.log(e);
            }
        }
    }
    return false;
}

From source file:ext.org.eclipse.jdt.internal.ui.jarimport.JarImportWizardPage.java

License:Open Source License

/**
 * Handles the package fragment root changed event.
 *///from  w ww.  ja  v a 2  s.  c  o  m
protected void handlePackageFragmentRootChanged() {
    if (fTreeViewer != null) {
        final IStructuredSelection selection = (IStructuredSelection) fTreeViewer.getSelection();
        final Object[] elements = selection.toArray();
        if (elements.length != 1) {
            setErrorMessage(JarImportMessages.JarImportWizardPage_select_single_jar);
            setPageComplete(false);
            return;
        } else {
            final JarImportData data = fWizard.getImportData();
            final Object element = elements[0];
            if (element instanceof IPackageFragmentRoot)
                data.setPackageFragmentRoot((IPackageFragmentRoot) element);
            else if (element instanceof IPackageFragment) {
                data.setPackageFragmentRoot((IPackageFragmentRoot) ((IJavaElement) element).getParent());
            } else {
                setErrorMessage(JarImportMessages.JarImportWizardPage_select_single_jar);
                setPageComplete(false);
            }
        }
    }
}

From source file:ext.org.eclipse.jdt.internal.ui.refactoring.actions.MoveStaticMembersAction.java

License:Open Source License

private static IMember[] getSelectedMembers(IStructuredSelection selection) {
    if (selection.isEmpty())
        return null;

    for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) {
        if (!(iterator.next() instanceof IMember))
            return null;
    }/*from w  w w . j a  v a  2 s  .c  o m*/
    Set<IMember> memberSet = new HashSet<IMember>();
    @SuppressWarnings("unchecked")
    List<IMember> selectionList = (List<IMember>) (List<?>) Arrays.asList(selection.toArray());
    memberSet.addAll(selectionList);
    return memberSet.toArray(new IMember[memberSet.size()]);
}

From source file:ext.org.eclipse.jdt.internal.ui.refactoring.ExtractSupertypeMemberPage.java

License:Open Source License

/**
 * Creates the button composite.//from www . jav  a 2 s .  c  o  m
 *
 * @param parent
 *            the parent control
 */
protected void createButtonComposite(final Composite parent) {
    final Composite buttons = new Composite(parent, SWT.NONE);
    final GridLayout layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    buttons.setLayout(layout);
    buttons.setLayoutData(new GridData(GridData.FILL_VERTICAL));

    final Button addButton = new Button(buttons, SWT.PUSH);
    addButton.setText(RefactoringMessages.ExtractSupertypeMemberPage_add_button_label);
    addButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    SWTUtil.setButtonDimensionHint(addButton);
    addButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent event) {
            try {
                computeCandidateTypes();
            } catch (InterruptedException exception) {
                return;
            }
            final LinkedList<IType> list = new LinkedList<IType>(Arrays.asList(fCandidateTypes));
            for (final Iterator<IType> outer = list.iterator(); outer.hasNext();) {
                final IType first = outer.next();
                for (final Iterator<IType> inner = fTypesToExtract.iterator(); inner.hasNext();) {
                    final IType second = inner.next();
                    if (second.getFullyQualifiedName().equals(first.getFullyQualifiedName()))
                        outer.remove();
                }
            }
            final SupertypeSelectionDialog dialog = new SupertypeSelectionDialog(getShell());
            dialog.create();
            dialog.setInput(list.toArray());
            final int result = dialog.open();
            if (result == Window.OK) {
                final Object[] objects = dialog.getResult();
                if (objects != null && objects.length > 0) {
                    for (int index = 0; index < objects.length; index++) {
                        fTypesToExtract.add((IType) objects[index]);
                    }
                    fTableViewer.setInput(fTypesToExtract.toArray());
                    handleTypesChanged();
                }
            }
        }
    });

    final Button removeButton = new Button(buttons, SWT.PUSH);
    removeButton.setText(RefactoringMessages.ExtractSupertypeMemberPage_remove_button_label);
    removeButton.setEnabled(fCandidateTypes.length > 0 && !fTableViewer.getSelection().isEmpty());
    removeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    SWTUtil.setButtonDimensionHint(removeButton);
    removeButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) fTableViewer.getSelection();
            if (!selection.isEmpty()) {
                final IType declaring = getDeclaringType();
                for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) {
                    final Object element = iterator.next();
                    if (!declaring.equals(element))
                        fTypesToExtract.remove(element);
                }
                fTableViewer.setInput(fTypesToExtract.toArray());
                handleTypesChanged();
            }
        }
    });
    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(final SelectionChangedEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) fTableViewer.getSelection();
            if (selection.isEmpty()) {
                removeButton.setEnabled(false);
                return;
            } else {
                final Object[] elements = selection.toArray();
                if (elements.length == 1 && elements[0].equals(getDeclaringType())) {
                    removeButton.setEnabled(false);
                    return;
                }
            }
            removeButton.setEnabled(true);
        }
    });
}