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

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

Introduction

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

Prototype

@Override
    public Object[] toArray() 

Source Link

Usage

From source file:org.eclipse.php.composer.ui.dialogs.PsrDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    getShell().setText(Messages.PsrDialog_Title);
    getShell().setImage(ComposerUIPluginImages.EVENT.createImage());

    Composite contents = new Composite(parent, SWT.NONE);
    contents.setLayout(new GridLayout(3, false));
    GridData gd_contents = new GridData();
    gd_contents.widthHint = 350;/* w  ww.j  a v a 2 s .  co m*/
    contents.setLayoutData(gd_contents);

    Label lblEvent = new Label(contents, SWT.NONE);
    GridData gd_lblEvent = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
    gd_lblEvent.widthHint = ComposerUIPluginConstants.DIALOG_LABEL_WIDTH;
    lblEvent.setLayoutData(gd_lblEvent);
    lblEvent.setText(Messages.PsrDialog_NamespaceLabel);

    namespaceControl = new Text(contents, SWT.BORDER);
    GridData gd_eventControl = new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1);
    gd_eventControl.widthHint = ComposerUIPluginConstants.DIALOG_CONTROL_WIDTH;
    namespaceControl.setLayoutData(gd_eventControl);

    namespaceControl.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            namespace.setNamespace(namespaceControl.getText());
        }
    });

    if (namespace.getNamespace() != null) {
        namespaceControl.setText(namespace.getNamespace());
    } else {
        // must never be null, so at least be sure to always return an empty
        // string
        namespaceControl.setText(""); //$NON-NLS-1$
    }

    Label lblHandler = new Label(contents, SWT.NONE);
    lblHandler.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    lblHandler.setText(Messages.PsrDialog_PathsLabel);

    PathController controller = new PathController();
    pathViewer = new TableViewer(contents, SWT.BORDER | SWT.FULL_SELECTION);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    gridData.minimumHeight = 100;
    pathViewer.getTable().setLayoutData(gridData);
    pathViewer.setContentProvider(controller);
    pathViewer.setLabelProvider(controller);
    pathViewer.setInput(namespace.getPaths());

    Composite buttons = new Composite(contents, SWT.NONE);
    buttons.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    buttons.setLayout(new GridLayout(1, false));

    WidgetHelper.trimComposite(buttons, 0);
    WidgetHelper.setMargin(buttons, -3, -3);
    WidgetHelper.setSpacing(buttons, -4, 0);

    Button btnEdit = new Button(buttons, SWT.NONE);
    btnEdit.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    btnEdit.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    btnEdit.setText(Messages.PsrDialog_EditButton);
    btnEdit.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            List<IFolder> folders = new ArrayList<IFolder>();
            for (Object path : namespace.getPaths()) {
                IResource resource = project.findMember((String) path);
                if (resource != null && resource instanceof IFolder) {
                    folders.add((IFolder) resource);
                }
            }
            CheckedTreeSelectionDialog dialog = ResourceDialog.createMulti(pathViewer.getTable().getShell(),
                    Messages.PsrDialog_SelectionDialogTitle, Messages.PsrDialog_SelectionDialogMessage,
                    new Class[] { IFolder.class }, project, folders);

            if (dialog.open() == Dialog.OK) {
                namespace.clear();
                for (Object result : dialog.getResult()) {
                    if (result instanceof IFolder) {
                        namespace.add(((IFolder) result).getProjectRelativePath().toString());
                    }
                }
            }
        }
    });

    Button btnRemove = new Button(buttons, SWT.NONE);
    btnRemove.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    btnRemove.setText(Messages.PsrDialog_RemoveButton);

    // XXX: add/remove listener on dialog open/close
    btnRemove.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            ISelection selection = pathViewer.getSelection();
            if (!(selection instanceof StructuredSelection)) {
                return;
            }
            StructuredSelection s = (StructuredSelection) selection;
            for (Object o : s.toArray()) {
                try {
                    String item = (String) o;
                    pathViewer.remove(item);
                    namespace.remove(item);
                } catch (Exception e2) {
                    Logger.logException(e2);
                }
            }
        }
    });

    namespace.addPropertyChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent e) {
            // "namespace" can be modified afterwards by
            // PsrSection#handleEdit()
            if (e.getPropertyName().contains("#")) { //$NON-NLS-1$
                if (pathViewer.getControl().isDisposed()) {
                    return;
                }
                pathViewer.refresh();
            }
        }
    });

    return contents;
}

From source file:org.eclipse.plugin.worldwind.wizard.WeatherWizardPage.java

License:Open Source License

private void handleListSelection(StructuredSelection selection) {
    try {// w  w  w .  j a v a 2 s.  c o  m
        // clear any error messages
        setErrorMessage(null);

        int selectedIdx = combo.getSelectionIndex();
        dataSets = new ParserUtils.HTTPDataSet[selection.size()];

        logger.debug("selectionChanged " + selection + " combo idx=" + selectedIdx);

        int i = 0, j = 0;

        if (selectedIdx == 0) {
            // navy: add selected datasets to instance var dataSets
            for (Object element : selection.toArray()) {
                j = 0;
                for (ParserUtils.HTTPDataSet ds : nrl) {
                    if (ds.name.equals((String) element)) {
                        logger.debug("Adding NRL dataset " + nrl.get(j).name);

                        dataSets[i] = nrl.get(j);
                        break;
                    }
                    j++;
                }
                i++;
            }
        } else {
            // GOES: add goes data to instance
            for (Object element : selection.toArray()) {
                j = 0;
                for (ParserUtils.HTTPDataSet ds : goes) {
                    if (ds.name.equals((String) element)) {
                        logger.debug("Adding GOES dataset " + goes.get(j).name);

                        dataSets[i] = goes.get(j);
                        break;
                    }
                    j++;
                }
                i++;
            }
        }

        loadNextPage();
        setPageComplete(true);

    } catch (Exception e) {
        //e.printStackTrace();
        setErrorMessage(e.getClass().getName() + ": " + e.getMessage());

        setPageComplete(false);
    }
}

From source file:org.eclipse.scout.rt.ui.rap.basic.table.RwtScoutTable.java

License:Open Source License

@Override
public ITableRow[] getUiSelectedRows() {
    StructuredSelection uiSelection = (StructuredSelection) getUiTableViewer().getSelection();
    TreeSet<ITableRow> sortedRows = new TreeSet<ITableRow>(new RowIndexComparator());
    if (uiSelection != null && !uiSelection.isEmpty()) {
        for (Object o : uiSelection.toArray()) {
            ITableRow row = (ITableRow) o;
            sortedRows.add(row);/*from   w ww. ja va2s  .  co m*/
        }
    }
    return sortedRows.toArray(new ITableRow[sortedRows.size()]);
}

From source file:org.eclipse.scout.rt.ui.rap.mobile.form.fields.tablefield.RwtScoutList.java

License:Open Source License

public ITableRow[] getUiSelectedRows() {
    StructuredSelection uiSelection = (StructuredSelection) getUiTableViewer().getSelection();
    TreeSet<ITableRow> sortedRows = new TreeSet<ITableRow>(new RowIndexComparator());
    if (uiSelection != null && !uiSelection.isEmpty()) {
        for (Object o : uiSelection.toArray()) {
            ITableRow row = (ITableRow) o;
            sortedRows.add(row);//  w  w w . jav  a  2s.  co  m
        }
    }
    return sortedRows.toArray(new ITableRow[sortedRows.size()]);
}

From source file:org.eclipse.scout.rt.ui.rap.util.RwtUtility.java

License:Open Source License

@SuppressWarnings("unchecked")
public static <T> T[] getItemsOfSelection(Class<T> t, StructuredSelection selection) {
    T[] result = (T[]) Array.newInstance(t, selection.size());
    int i = 0;//from   w  ww  .  jav a2  s  . c o m
    for (Object o : selection.toArray()) {
        result[i++] = (T) o;
    }
    return result;

}

From source file:org.eclipse.scout.rt.ui.swt.basic.table.SwtScoutTable.java

License:Open Source License

public ITableRow[] getSwtSelectedRows() {
    StructuredSelection uiSelection = (StructuredSelection) getSwtTableViewer().getSelection();
    TreeSet<ITableRow> sortedRows = new TreeSet<ITableRow>(new RowIndexComparator());
    if (uiSelection != null && !uiSelection.isEmpty()) {
        for (Object o : uiSelection.toArray()) {
            ITableRow row = (ITableRow) o;
            sortedRows.add(row);/*from ww w.ja  v  a2 s.c om*/
        }
    }
    return sortedRows.toArray(new ITableRow[sortedRows.size()]);
}

From source file:org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.java

License:Open Source License

/**
 * Handle selection in the items list by updating labels of selected and
 * unselected items and refresh the details field using the selection.
 * //from   ww  w .  j ava  2  s  . co m
 * @param selection
 *            the new selection
 */
protected void handleSelected(StructuredSelection selection) {
    IStatus status = new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK, EMPTY_STRING, null);

    Object[] lastSelection = currentSelection;

    currentSelection = selection.toArray();

    if (selection.size() == 0) {
        status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, IStatus.ERROR, EMPTY_STRING, null);

        if (lastSelection != null && getListSelectionLabelDecorator() != null) {
            list.update(lastSelection, null);
        }

        currentSelection = null;

    } else {
        status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, IStatus.ERROR, EMPTY_STRING, null);

        List items = selection.toList();

        Object item = null;
        IStatus tempStatus = null;

        for (Iterator it = items.iterator(); it.hasNext();) {
            Object o = it.next();

            if (o instanceof ItemsListSeparator) {
                continue;
            }

            item = o;
            tempStatus = validateItem(item);

            if (tempStatus.isOK()) {
                status = new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK, EMPTY_STRING, null);
            } else {
                status = tempStatus;
                // if any selected element is not valid status is set to
                // ERROR
                break;
            }
        }

        if (lastSelection != null && getListSelectionLabelDecorator() != null) {
            list.update(lastSelection, null);
        }

        if (getListSelectionLabelDecorator() != null) {
            list.update(currentSelection, null);
        }
    }

    refreshDetails();
    updateStatus(status);
}

From source file:org.eclipse.viatra.integration.zest.viewer.ZestContentViewer.java

License:Open Source License

@Override
public void setSelection(ISelection selection, boolean reveal) {
    if (selection.isEmpty()) {
        getSelectionModel().clearSelection();
    } else if (selection instanceof StructuredSelection) {
        StructuredSelection structuredSelection = (StructuredSelection) selection;
        if (!structuredSelection.isEmpty()) {
            List<IContentPart<? extends javafx.scene.Node>> toBeSelectedParts = new ArrayList<>();
            for (Object toBeSelectedContent : structuredSelection.toArray()) {
                IContentPart<? extends javafx.scene.Node> toBeSelectedPart = viewer.getContentPartMap()
                        .get(toBeSelectedContent);
                if (toBeSelectedPart != null) {
                    toBeSelectedParts.add(toBeSelectedPart);
                    if (reveal) {
                        // TODO: we need to reveal all in a single step
                        viewer.reveal(toBeSelectedPart);
                    }/*  www .  j av a2  s .com*/
                } else {
                    throw new IllegalArgumentException(
                            toBeSelectedContent + " is not visualized by a content part of this viewer.");
                }
            }
            getSelectionModel().prependToSelection(toBeSelectedParts);
        }
    } else {
        throw new IllegalArgumentException(
                "A non-empty selection of unsupported type '" + selection.getClass() + "' was passed in.");
    }
}

From source file:org.eclipse.wazaabi.ui.runtime.parts.PropertySheetPage.java

License:Open Source License

public void selectionChanged(IWorkbenchPart part, ISelection selection) {
    Object input = null;/*  w w  w .j a  v  a2 s. c  om*/

    // TODO : when the selection has IPropertySource, transform property
    // sources into relevant objects
    if (selection instanceof StructuredSelection) {
        StructuredSelection structuredSelection = (StructuredSelection) selection;
        if (structuredSelection.size() == 1)
            if (getSelectionProcessorCodeDescriptor() != null && getGetObjectMethodDescriptor() != null)
                input = getSelectionProcessorCodeDescriptor().invokeMethod(getGetObjectMethodDescriptor(),
                        new Object[] { structuredSelection.getFirstElement() });
            else
                input = structuredSelection.getFirstElement();
        else {
            List<Object> transformedObjects = new ArrayList<Object>();
            for (Object item : structuredSelection.toArray()) {
                if (getSelectionProcessorCodeDescriptor() != null && getGetObjectMethodDescriptor() != null)
                    input = getSelectionProcessorCodeDescriptor().invokeMethod(getGetObjectMethodDescriptor(),
                            new Object[] { item });
                else
                    input = item;
                transformedObjects.add(input);
            }
            input = transformedObjects;
        }
    }
    if (getSelectedComponent() != null)
        unsetInput(getSelectedComponent());
    updateSelectedComponent(input);
    if (getSelectedComponent() != null)
        setInput(getSelectedComponent(), input);
}

From source file:org.fornax.cartridges.sculptor.framework.richclient.table.ColumnChooserDlg.java

License:Apache License

private void doCreateViewerComposite(Composite composite) {
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout compositeLayout = new GridLayout();
    compositeLayout.numColumns = 3;/* ww  w  .j  a  va2  s .  c  o m*/
    composite.setLayout(compositeLayout);

    Label displayColumnsLabel = new Label(composite, SWT.NONE);
    displayColumnsLabel.setText(Messages.ColumnChooserDlg_displayColumns);
    new Label(composite, SWT.NONE);

    Label availableColumnsLabel = new Label(composite, SWT.NONE);
    availableColumnsLabel.setText(Messages.ColumnChooserDlg_availableColumns);

    displayListViewer = new ListViewer(composite, SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.H_SCROLL);
    displayListViewer.setContentProvider(new ArrayContentProvider());
    displayListViewer.setInput(tableViewer.getDefaultColumns().toArray());
    displayListViewer.setLabelProvider(new ColumnLabelProvider());
    displayList = displayListViewer.getList();
    displayList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Composite buttonComposite = new Composite(composite, SWT.NONE);
    buttonComposite.setLayout(new GridLayout());

    addButton = new Button(buttonComposite, SWT.NONE);
    addButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    addButton.setText(Messages.ColumnChooserDlg_add);
    addButton.setEnabled(false);

    removeButton = new Button(buttonComposite, SWT.NONE);
    GridData removeButtonGd = new GridData(SWT.LEFT, SWT.TOP, false, false);
    removeButton.setLayoutData(removeButtonGd);
    removeButton.setText(Messages.ColumnChooserDlg_remove);
    removeButton.setEnabled(false);

    upButton = new Button(buttonComposite, SWT.NONE);
    GridData upButtonGd = new GridData(SWT.FILL, SWT.CENTER, false, false);
    upButtonGd.verticalIndent = 20;
    upButton.setLayoutData(upButtonGd);
    upButton.setText(Messages.ColumnChooserDlg_up);
    upButton.setEnabled(false);

    downButton = new Button(buttonComposite, SWT.NONE);
    downButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
    downButton.setText(Messages.ColumnChooserDlg_down);
    downButton.setEnabled(false);

    availableListViewer = new ListViewer(composite, SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.H_SCROLL);
    availableListViewer.setContentProvider(new ArrayContentProvider());
    java.util.List<AbstractViewerColumn> availableColumns = new ArrayList<AbstractViewerColumn>();
    availableColumns.addAll(tableViewer.getAllColumns());
    Collections.sort(availableColumns, new Comparator<AbstractViewerColumn>() {
        public int compare(AbstractViewerColumn col1, AbstractViewerColumn col2) {
            return col1.getText().compareTo(col2.getText());
        }
    });
    availableListViewer.setInput(availableColumns.toArray());
    availableListViewer.setLabelProvider(new ColumnLabelProvider());
    availableList = availableListViewer.getList();
    availableList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    displayListViewer.addSelectionChangedListener(new UpdateButtons());
    availableListViewer.addSelectionChangedListener(new UpdateButtons());

    ViewerFilter filter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            Object input = displayListViewer.getInput();
            if (input instanceof Object[]) {
                return !Arrays.asList((Object[]) input).contains(element);
            }

            return true;
        }
    };
    availableListViewer.setFilters(new ViewerFilter[] { filter });

    addButton.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        @Override
        public void widgetSelected(SelectionEvent event) {
            StructuredSelection selection = (StructuredSelection) availableListViewer.getSelection();
            Object[] items = (Object[]) displayListViewer.getInput();
            java.util.List<Object> listItems = new ArrayList<Object>();
            listItems.addAll(Arrays.asList(items));
            listItems.addAll(selection.toList());
            displayListViewer.setInput(listItems.toArray());
            displayListViewer.refresh();
            availableListViewer.refresh();
            updateButtons();
        }
    });

    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent event) {
            StructuredSelection selection = (StructuredSelection) displayListViewer.getSelection();
            Object[] items = (Object[]) displayListViewer.getInput();
            java.util.List<Object> listItems = new ArrayList<Object>();
            listItems.addAll(Arrays.asList(items));
            listItems.removeAll(selection.toList());
            displayListViewer.setInput(listItems.toArray());
            displayListViewer.refresh();
            availableListViewer.refresh();
            updateButtons();
        }
    });

    upButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent event) {
            StructuredSelection selection = (StructuredSelection) displayListViewer.getSelection();
            Object[] items = (Object[]) displayListViewer.getInput();
            java.util.List<Object> listItems = new ArrayList<Object>();
            listItems.addAll(Arrays.asList(items));
            for (Object each : selection.toList()) {
                int index = listItems.indexOf(each);
                listItems.remove(each);
                listItems.add(index - 1, each);
            }
            displayListViewer.setInput(listItems.toArray());
            displayListViewer.refresh();
            displayListViewer.setSelection(selection);
            displayListViewer.reveal(selection.getFirstElement());
            updateButtons();
        }
    });

    downButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent event) {
            StructuredSelection selection = (StructuredSelection) displayListViewer.getSelection();
            Object[] items = (Object[]) displayListViewer.getInput();
            java.util.List<Object> listItems = new ArrayList<Object>();
            listItems.addAll(Arrays.asList(items));
            for (int i = selection.size() - 1; i > -1; i--) {
                Object each = selection.toArray()[i];
                int index = listItems.indexOf(each);
                listItems.remove(each);
                listItems.add(index + 1, each);
            }
            displayListViewer.setInput(listItems.toArray());
            displayListViewer.refresh();
            displayListViewer.setSelection(selection);
            displayListViewer.reveal(selection.getFirstElement());
            updateButtons();
        }
    });

    availableListViewer.refresh();
}