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

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

Introduction

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

Prototype

@Override
    public int size() 

Source Link

Usage

From source file:com.android.ide.eclipse.adt.internal.editors.layout.gle1.UiContentOutlinePage.java

License:Apache License

/**
 * Returns the currently selected element, if any, in the viewer.
 * This returns the viewer's elements (i.e. an {@link UiElementTreeEditPart})
 * and not the underlying model node.//ww  w.  ja  v  a 2s .  c o  m
 * <p/>
 * When there is no actual selection, this might still return the root node,
 * which is of type {@link UiDocumentTreeEditPart}.
 */
@SuppressWarnings("unchecked")
private List<UiElementTreeEditPart> getViewerSelections() {
    ISelection selection = getSelection();
    if (selection instanceof StructuredSelection) {
        StructuredSelection structuredSelection = (StructuredSelection) selection;

        if (structuredSelection.size() > 0) {
            ArrayList<UiElementTreeEditPart> selected = new ArrayList<UiElementTreeEditPart>();

            for (Iterator it = structuredSelection.iterator(); it.hasNext();) {
                Object selectedObj = it.next();

                if (selectedObj instanceof UiElementTreeEditPart) {
                    selected.add((UiElementTreeEditPart) selectedObj);
                }
            }

            return selected.size() > 0 ? selected : null;
        }
    }

    return null;
}

From source file:com.android.ide.eclipse.adt.internal.editors.layout.UiContentOutlinePage.java

License:Apache License

public UiContentOutlinePage(AbstractGraphicalLayoutEditor editor, final EditPartViewer viewer) {
    super(viewer);
    mEditor = editor;/*from   www  .j av a2s .  co  m*/
    IconFactory factory = IconFactory.getInstance();

    mAddAction = new Action("Add...") {
        @Override
        public void run() {
            List<UiElementNode> nodes = getModelSelections();
            UiElementNode node = nodes != null && nodes.size() > 0 ? nodes.get(0) : null;

            mUiActions.doAdd(node, viewer.getControl().getShell());
        }
    };
    mAddAction.setToolTipText("Adds a new element.");
    mAddAction.setImageDescriptor(factory.getImageDescriptor("add")); //$NON-NLS-1$

    mDeleteAction = new Action("Remove...") {
        @Override
        public void run() {
            List<UiElementNode> nodes = getModelSelections();

            mUiActions.doRemove(nodes, viewer.getControl().getShell());
        }
    };
    mDeleteAction.setToolTipText("Removes an existing selected element.");
    mDeleteAction.setImageDescriptor(factory.getImageDescriptor("delete")); //$NON-NLS-1$

    mUpAction = new Action("Up") {
        @Override
        public void run() {
            List<UiElementNode> nodes = getModelSelections();

            mUiActions.doUp(nodes);
        }
    };
    mUpAction.setToolTipText("Moves the selected element up");
    mUpAction.setImageDescriptor(factory.getImageDescriptor("up")); //$NON-NLS-1$

    mDownAction = new Action("Down") {
        @Override
        public void run() {
            List<UiElementNode> nodes = getModelSelections();

            mUiActions.doDown(nodes);
        }
    };
    mDownAction.setToolTipText("Moves the selected element down");
    mDownAction.setImageDescriptor(factory.getImageDescriptor("down")); //$NON-NLS-1$

    // all actions disabled by default.
    mAddAction.setEnabled(false);
    mDeleteAction.setEnabled(false);
    mUpAction.setEnabled(false);
    mDownAction.setEnabled(false);

    addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();

            // the selection is never empty. The least it'll contain is the
            // UiDocumentTreeEditPart object.
            if (selection instanceof StructuredSelection) {
                StructuredSelection structSel = (StructuredSelection) selection;

                if (structSel.size() == 1 && structSel.getFirstElement() instanceof UiDocumentTreeEditPart) {
                    mDeleteAction.setEnabled(false);
                    mUpAction.setEnabled(false);
                    mDownAction.setEnabled(false);
                } else {
                    mDeleteAction.setEnabled(true);
                    mUpAction.setEnabled(true);
                    mDownAction.setEnabled(true);
                }

                // the "add" button is always enabled, in order to be able to set the
                // initial root node
                mAddAction.setEnabled(true);
            }
        }
    });
}

From source file:com.aptana.editor.php.internal.ui.dialog.CustomFilteredItemsSelectionDialog.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 *//*www  . j  a  va 2  s.co m*/
protected Control createDialogArea(Composite parent) {
    Composite dialogArea = (Composite) super.createDialogArea(parent);

    Composite content = new Composite(dialogArea, SWT.NONE);
    GridData gd = new GridData(GridData.FILL_BOTH);
    content.setLayoutData(gd);

    GridLayout layout = new GridLayout();
    layout.numColumns = 1;
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    content.setLayout(layout);

    createHeader(content);

    pattern = new Text(content, SWT.SINGLE | SWT.BORDER);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    pattern.setLayoutData(gd);
    createExtras(content);
    createLabels(content);

    list = new TableViewer(content, (multi ? SWT.MULTI : SWT.SINGLE) | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL);
    list.setContentProvider(contentProvider);
    list.setLabelProvider(getItemsListLabelProvider());
    list.setInput(new Object[0]);
    list.setItemCount(contentProvider.getElements(null).length);
    gd = new GridData(GridData.FILL_BOTH);
    list.getTable().setLayoutData(gd);

    createPopupMenu();

    pattern.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            applyFilter();
        }
    });

    pattern.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.ARROW_DOWN) {
                if (list.getTable().getItemCount() > 0) {
                    list.getTable().setFocus();
                }
            }
        }
    });

    list.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            StructuredSelection selection = (StructuredSelection) event.getSelection();
            handleSelected(selection);
        }
    });

    list.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            handleDoubleClick();
        }
    });

    list.getTable().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {

            if (e.keyCode == SWT.DEL) {

                List<?> selectedElements = ((StructuredSelection) list.getSelection()).toList();

                Object item = null;
                boolean isSelectedHistory = true;

                for (Iterator<?> it = selectedElements.iterator(); it.hasNext();) {
                    item = it.next();
                    if (item instanceof ItemsListSeparator || !isHistoryElement(item)) {
                        isSelectedHistory = false;
                        break;
                    }
                }
                if (isSelectedHistory) {
                    removeSelectedItems(selectedElements);
                }
            }

            if (e.keyCode == SWT.ARROW_UP && (e.stateMask & SWT.SHIFT) != 0 && (e.stateMask & SWT.CTRL) != 0) {
                StructuredSelection selection = (StructuredSelection) list.getSelection();

                if (selection.size() == 1) {
                    Object element = selection.getFirstElement();
                    if (element.equals(list.getElementAt(0))) {
                        pattern.setFocus();
                    }
                    if (list.getElementAt(
                            list.getTable().getSelectionIndex() - 1) instanceof ItemsListSeparator) {
                        list.getTable().setSelection(list.getTable().getSelectionIndex() - 1);
                    }
                    list.getTable().notifyListeners(SWT.Selection, new Event());

                }
            }

            if (e.keyCode == SWT.ARROW_DOWN && (e.stateMask & SWT.SHIFT) != 0
                    && (e.stateMask & SWT.CTRL) != 0) {

                if (list.getElementAt(list.getTable().getSelectionIndex() + 1) instanceof ItemsListSeparator) {
                    list.getTable().setSelection(list.getTable().getSelectionIndex() + 1);
                }
                list.getTable().notifyListeners(SWT.Selection, new Event());
            }

        }
    });

    createExtendedContentArea(content);

    details = new DetailsContentViewer(content, SWT.BORDER | SWT.FLAT);
    details.setVisible(toggleStatusLineAction.isChecked());
    details.setContentProvider(new NullContentProvider());
    details.setLabelProvider(getDetailsLabelProvider());

    applyDialogFont(content);

    restoreDialog(getDialogSettings());

    if (initialPatternText != null) {
        pattern.setText(initialPatternText);
    }

    switch (selectionMode) {
    case CARET_BEGINNING:
        pattern.setSelection(0, 0);
        break;
    case FULL_SELECTION:
        pattern.setSelection(0, initialPatternText.length());
        break;
    }

    // apply filter even if pattern is empty (display history)
    applyFilter();

    return dialogArea;
}

From source file:com.aptana.editor.php.internal.ui.dialog.CustomFilteredItemsSelectionDialog.java

License:Open Source License

/**
 * Refreshes the details field according to the current selection in the items list.
 *//*  ww w  .j a  v  a 2s  .  co  m*/
private void refreshDetails() {
    StructuredSelection selection = getSelectedItems();

    switch (selection.size()) {
    case 0:
        details.setInput(null);
        break;
    case 1:
        details.setInput(selection.getFirstElement());
        break;
    default:
        details.setInput(
                NLS.bind(Messages.FilteredItemsSelectionDialog_SelectedItems, new Integer(selection.size())));
        break;
    }

}

From source file:com.aptana.editor.php.internal.ui.dialog.CustomFilteredItemsSelectionDialog.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 w  w  w.j a va2  s.  co m
 * 
 * @param selection
 *            the new selection
 */
protected void handleSelected(StructuredSelection selection) {
    IStatus status = new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK, StringUtil.EMPTY, null);

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

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

        lastSelection = null;

    } else {
        status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, IStatus.ERROR, StringUtil.EMPTY, 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, StringUtil.EMPTY, 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(items.toArray(), null);
        }

        lastSelection = items.toArray();
    }

    refreshDetails();
    updateStatus(status);
}

From source file:com.aptana.ide.server.ui.views.actions.OpenConsole.java

License:Open Source License

/**
 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
 *//*from w w w.ja  v  a 2  s. c  o  m*/
public void selectionChanged(SelectionChangedEvent event) {
    ISelection selection = event.getSelection();
    if (selection.isEmpty()) {
        setEnabled(false);
    }
    if (selection instanceof StructuredSelection) {
        StructuredSelection ss = (StructuredSelection) selection;
        if (ss.size() == 1) {
            Object firstElement = ss.getFirstElement();
            if (firstElement instanceof IServer) {
                server = (IServer) firstElement;
                ICanOpenConsole adapter = (ICanOpenConsole) server.getAdapter(ICanOpenConsole.class);
                setEnabled(adapter != null || consoles.get(server) != null);
                return;
            }
        }
    }
    setEnabled(false);
}

From source file:com.axmor.eclipse.typescript.editor.definitions.AddTypeScriptDefinitionDialog.java

License:Open Source License

@Override
protected void handleSelected(StructuredSelection selection) {
    super.handleSelected(selection);
    if (selection != null && selection.size() == 1) {
        TypeScriptDefinition def = (TypeScriptDefinition) selection.getFirstElement();
        defName.setText(def.getName());/*from   ww w. j  a va 2  s .  c  om*/
        defProject.setText(def.getProject());
        defVersion.setText(def.getVersion());
        defAuthors.setText(def.getAuthor());
        defLink.setText(String.format("<a href=\"%1$s\">%1$s</a>", def.getProjectUrl()));
        defDescription.setText(def.getDescription());
    } else {
        defName.setText("");
        defProject.setText("");
        defVersion.setText("");
        defAuthors.setText("");
        defLink.setText("");
        defDescription.setText("");
    }
}

From source file:com.baremetalstudios.mapleide.internal.ResourceNavigator.java

License:Open Source License

@Inject
public ResourceNavigator(Composite parent, final IEclipseContext context, IWorkspace workspace) {
    final Realm realm = SWTObservables.getRealm(parent.getDisplay());
    this.context = context;
    parent.setLayout(new FillLayout());
    TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            StructuredSelection selection = (StructuredSelection) event.getSelection();
            selectionService/*from w  ww. j av a2  s  .  c om*/
                    .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray());
            //            context.modify(IServiceConstants.ACTIVE_SELECTION, selection.size() == 1 ? selection.getFirstElement() : selection.toArray());
        }
    });

    IObservableFactory setFactory = new IObservableFactory() {
        public IObservable createObservable(Object element) {
            if (element instanceof IContainer && ((IContainer) element).exists()) {
                IObservableSet observableSet = observableSets.get(element);
                if (observableSet == null) {
                    observableSet = new WritableSet(realm);
                    try {
                        observableSet.addAll(Arrays.asList(((IContainer) element).members()));
                    } catch (CoreException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    observableSets.put((IContainer) element, observableSet);
                }
                return observableSet;
            }
            return Observables.emptyObservableSet();
        }
    };
    viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() {
        public Boolean hasChildren(Object element) {
            return Boolean.valueOf(element instanceof IContainer);
        }
    }));

    viewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof IResource)
                return ((IResource) element).getName();
            return element == null ? "" : element.toString();
        }
    });
    viewer.setSorter(new ViewerSorter());
    viewer.setInput(workspace.getRoot());
    viewer.addOpenListener(new IOpenListener() {

        public void open(OpenEvent event) {

            MapleIDEApplication app = (MapleIDEApplication) application;
            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            for (Object o : s.toArray()) {
                if (o instanceof IFile) {
                    IFile f = (IFile) o;
                    context.set(IFile.class, f);
                    String fExt = f.getFileExtension();
                    EDITOR: for (EditorPartDescriptor desc : app.getEditorPartDescriptors()) {
                        for (String ext : desc.getFileextensions()) {
                            if (ext.equals(fExt)) {
                                context.set(EditorPartDescriptor.class, desc);
                                System.err.println("Opening with: " + desc);

                                Command cmd = commandService
                                        .getCommand("com.baremetalstudios.mapleide.command.openeditor");
                                //                           Command cmd = commandService.getCommand("simpleide.command.openeditor");
                                ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(cmd, null);
                                handlerService.executeHandler(pCmd);

                                break EDITOR;
                            }
                        }
                    }
                }
            }

        }
    });
    setupContextMenu(viewer, parent.getShell());
    workspace.addResourceChangeListener(listener);
}

From source file:com.centurylink.mdw.plugin.designer.properties.ActivityInstanceSection.java

License:Apache License

private Menu createContextMenu(Shell shell) {
    Menu menu = new Menu(shell, SWT.POP_UP);

    StructuredSelection selection = (StructuredSelection) tableEditor.getTableViewer().getSelection();
    if (selection.size() == 1 && selection.getFirstElement() instanceof ActivityInstanceVO) {
        final ActivityInstanceVO activityInstanceVO = (ActivityInstanceVO) selection.getFirstElement();

        if (activity.getProcess().isUserAuthorized(UserRoleVO.PROCESS_EXECUTION)) {
            // view details
            MenuItem detailsItem = new MenuItem(menu, SWT.PUSH);
            detailsItem.setText("View");
            ImageDescriptor detailsImageDesc = MdwPlugin.getImageDescriptor("icons/details.gif");
            detailsItem.setImage(detailsImageDesc.createImage());
            detailsItem.addSelectionListener(new SelectionAdapter() {
                public void widgetSelected(SelectionEvent e) {
                    new ActivityInstanceDialog(getShell(), activity, activityInstanceVO, Mode.VIEW).open();
                }/*from w ww. j a  v a2s . co  m*/
            });

            // retry
            MenuItem retryItem = new MenuItem(menu, SWT.PUSH);
            retryItem.setText("Retry");
            ImageDescriptor retryImageDesc = MdwPlugin.getImageDescriptor("icons/retry.gif");
            retryItem.setImage(retryImageDesc.createImage());
            retryItem.addSelectionListener(new SelectionAdapter() {
                public void widgetSelected(SelectionEvent e) {
                    new ActivityInstanceDialog(getShell(), activity, activityInstanceVO, Mode.RETRY).open();
                }
            });

            // skip
            MenuItem skipItem = new MenuItem(menu, SWT.PUSH);
            skipItem.setText("Proceed");
            ImageDescriptor skipImageDesc = MdwPlugin.getImageDescriptor("icons/skip.gif");
            skipItem.setImage(skipImageDesc.createImage());
            skipItem.addSelectionListener(new SelectionAdapter() {
                public void widgetSelected(SelectionEvent e) {
                    new ActivityInstanceDialog(getShell(), activity, activityInstanceVO, Mode.SKIP).open();
                }
            });
        }
    }

    return menu;
}

From source file:com.centurylink.mdw.plugin.designer.properties.ProcessVersionsSection.java

License:Apache License

private Menu createContextMenu(Shell shell) {
    Menu menu = new Menu(shell, SWT.POP_UP);

    final StructuredSelection selection = (StructuredSelection) tableEditor.getTableViewer().getSelection();
    if (selection.size() == 1 && selection.getFirstElement() instanceof WorkflowProcess) {
        final WorkflowProcess processVer = (WorkflowProcess) selection.getFirstElement();

        MenuItem openItem = new MenuItem(menu, SWT.PUSH);
        openItem.setText("Open");
        ImageDescriptor openImageDesc = MdwPlugin.getImageDescriptor("icons/process.gif");
        openItem.setImage(openImageDesc.createImage());
        openItem.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                openProcess(processVer);
            }// w w  w  .j a  v a 2s.c  o m
        });
    }
    // delete
    if (!selection.isEmpty() && !process.getProject().isProduction()
            && process.isUserAuthorized(UserRoleVO.PROCESS_EXECUTION)
            && (selection.size() == 1 && ((WorkflowProcess) selection.getFirstElement()).isLatest())
            || MdwPlugin.getSettings().isAllowDeleteArchivedProcesses()) {
        MenuItem deleteItem = new MenuItem(menu, SWT.PUSH);
        deleteItem.setText("Delete...");
        ImageDescriptor deleteImageDesc = MdwPlugin.getImageDescriptor("icons/delete.gif");
        deleteItem.setImage(deleteImageDesc.createImage());
        deleteItem.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                if (selection.size() >= 1 && selection.getFirstElement() instanceof WorkflowProcess) {
                    WorkflowProcess[] processVers = new WorkflowProcess[selection.size()];
                    int idx = 0;
                    for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
                        processVers[idx] = (WorkflowProcess) iter.next();
                        idx++;
                    }
                    WorkflowElementActionHandler actionHandler = new WorkflowElementActionHandler();
                    actionHandler.delete(processVers);
                    boolean removedSelected = false;
                    for (WorkflowProcess pv : processVers) {
                        if (pv.equals(process))
                            removedSelected = true;
                        else
                            process.remove(pv);
                    }
                    if (removedSelected) {
                        WorkflowProcess sel = null;
                        for (WorkflowProcess toSel : process.getAllProcessVersions()) {
                            if (!toSel.equals(process)) {
                                sel = toSel;
                                break;
                            }
                        }
                        setSelection(sel);
                    } else {
                        setSelection(process); // just force refresh
                    }
                }
            }
        });
    }

    return menu;
}