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:org.eclipse.sirius.tests.swtbot.support.api.condition.CheckEmptySelection.java

License:Open Source License

/**
 * {@inheritDoc}/*w ww . j  a  v  a 2  s  .  com*/
 */
@Override
public boolean test() throws Exception {
    ISelection selection = editor.getSelection();
    if (selection instanceof StructuredSelection) {
        StructuredSelection structuredSelection = (StructuredSelection) selection;
        return structuredSelection.size() == 1
                && structuredSelection.getFirstElement() instanceof DiagramEditPart;

    }
    return selection.isEmpty();
}

From source file:org.eclipse.sirius.ui.debug.properties.GMFDebugPropertySection.java

License:Open Source License

@Override
public void setInput(final IWorkbenchPart part, final ISelection selection) {
    if (selection.isEmpty() || !(selection instanceof StructuredSelection)) {
        super.setInput(part, selection);
        return;//from  www .j  a v  a  2  s .c  o m
    }
    final StructuredSelection structuredSelection = (StructuredSelection) selection;
    final ArrayList<Object> transformedSelection = new ArrayList<Object>(structuredSelection.size());
    final Iterator<?> it = structuredSelection.iterator();
    while (it.hasNext()) {
        final Object r = transformSelection(it.next());
        if (r != null) {
            transformedSelection.add(r);
        }
    }
    super.setInput(part, new StructuredSelection(transformedSelection));
}

From source file:org.eclipse.titan.designer.editors.configeditor.pages.modulepar.ModuleParameterSectionPage.java

License:Open Source License

private void createModuleParameterTable(final Composite parent, final ScrolledForm form,
        final FormToolkit toolkit) {
    Section section = toolkit.createSection(parent, Section.DESCRIPTION | ExpandableComposite.TITLE_BAR);
    section.setActiveToggleColor(toolkit.getHyperlinkGroup().getActiveForeground());
    section.setToggleColor(toolkit.getColors().getColor(IFormColors.SEPARATOR));

    Composite client = toolkit.createComposite(section, SWT.WRAP);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;// w w  w .j  a  v a 2s  .c o  m
    client.setLayout(layout);

    toolkit.paintBordersFor(client);

    moduleParametersTable = toolkit.createTable(client,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    moduleParametersTable.setEnabled(moduleParametersHandler != null);

    TableColumn column = new TableColumn(moduleParametersTable, SWT.LEFT, 0);
    column.setText("Module name");
    column.setWidth(150);
    column.setMoveable(false);

    column = new TableColumn(moduleParametersTable, SWT.LEFT, 1);
    column.setText("Module parameter name");
    column.setMoveable(false);
    column.setWidth(200);

    moduleParametersTable.setHeaderVisible(true);
    moduleParametersTable.setLinesVisible(true);

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 100;
    gd.heightHint = 200;
    gd.grabExcessHorizontalSpace = true;
    gd.horizontalAlignment = SWT.FILL;
    gd.grabExcessVerticalSpace = true;
    gd.verticalAlignment = SWT.FILL;
    moduleParametersTable.setLayoutData(gd);

    Composite buttons = toolkit.createComposite(client);
    buttons.setLayout(new GridLayout());
    buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.GRAB_VERTICAL));
    add = toolkit.createButton(buttons, "Add...", SWT.PUSH);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
    add.setLayoutData(gd);
    add.setEnabled(moduleParametersHandler != null);
    add.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            //Do nothing
        }

        @Override
        public void widgetSelected(final SelectionEvent e) {
            if (moduleParametersHandler == null) {
                return;
            }

            if (moduleParametersHandler.getLastSectionRoot() == null) {
                createNewModuleParameterSection();
            }

            ModuleParameter newModuleParameter = createNewParameter();
            if (newModuleParameter == null) {
                return;
            }

            ConfigTreeNodeUtilities.addChild(moduleParametersHandler.getLastSectionRoot(),
                    newModuleParameter.getRoot());

            moduleParametersHandler.getModuleParameters().add(newModuleParameter);

            internalRefresh();
            moduleParametersTableViewer.setSelection(new StructuredSelection(newModuleParameter));
            parameterValueText.setText(newModuleParameter.getValue().getText());

            editor.setDirty();
        }

    });

    remove = toolkit.createButton(buttons, "Remove", SWT.PUSH);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
    remove.setLayoutData(gd);
    remove.setEnabled(moduleParametersHandler != null);
    remove.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            //Do nothing
        }

        @Override
        public void widgetSelected(final SelectionEvent e) {
            if (moduleParametersTableViewer == null || moduleParametersHandler == null) {
                return;
            }

            removeSelectedParameters();

            if (moduleParametersHandler.getModuleParameters().isEmpty()) {
                removeModuleParameterSection();
            }

            /*
             * ASTFrame frame = new
             * ASTFrame("Tree structure"
             * ,editor.parseTreeRoot);
             * frame.setVisible(true);
             */
            internalRefresh();
            editor.setDirty();
        }

    });

    totalModuleParametersLabel = toolkit.createLabel(buttons, "Total: 0");
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
    totalModuleParametersLabel.setLayoutData(gd);

    section.setText("Module parameters");
    section.setDescription("Specify the list of module parameters for this configuration.");
    section.setClient(client);
    section.setExpanded(true);
    section.addExpansionListener(new ExpansionAdapter() {
        @Override
        public void expansionStateChanged(final ExpansionEvent e) {
            form.reflow(false);
        }
    });

    gd = new GridData(GridData.FILL_BOTH);
    section.setLayoutData(gd);

    moduleParametersTableViewer = new TableViewer(moduleParametersTable);
    moduleParametersTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            StructuredSelection selection = (StructuredSelection) event.getSelection();
            if (selection.size() != 1) {
                parameterValueText.setEnabled(false);
                return;
            }

            ModuleParameter moduleParameter = (ModuleParameter) selection.getFirstElement();
            if (moduleParameter != null) {
                if (moduleParameter.getValue() != null) {
                    final String moduleParamValueText = CfgParseTreePrinter
                            .toStringWithHidden(moduleParameter.getValue(), editor.getTokens(), false);
                    parameterValueText.setText(moduleParamValueText);
                }

                valueChanged = true;
            }
            parameterValueText.setEnabled(moduleParametersHandler != null && moduleParameter != null);
        }
    });

    moduleParametersTableViewer.setContentProvider(new ModuleParameterDataContentProvider());
    moduleParametersTableViewer.setLabelProvider(new ModuleParameterDataLabelProvider());
    moduleParametersTableViewer.setInput(moduleParametersHandler);
    moduleParametersTableViewer.setColumnProperties(COLUMN_NAMES);
    moduleParametersTableViewer.setCellEditors(new TextCellEditor[] { new TextCellEditor(moduleParametersTable),
            new TextCellEditor(moduleParametersTable) });
    moduleParametersTableViewer.setCellModifier(new ICellModifier() {
        @Override
        public boolean canModify(final Object element, final String property) {
            return true;
        }

        @Override
        public String getValue(final Object element, final String property) {
            int columnIndex = Arrays.asList(COLUMN_NAMES).indexOf(property);
            ModuleParameterDataLabelProvider labelProvider = (ModuleParameterDataLabelProvider) moduleParametersTableViewer
                    .getLabelProvider();
            return labelProvider.getColumnText(element, columnIndex);
        }

        @Override
        public void modify(final Object element, final String property, final Object value) {
            int columnIndex = Arrays.asList(COLUMN_NAMES).indexOf(property);
            if (element != null && element instanceof TableItem && value instanceof String) {
                ModuleParameter moduleParameter = (ModuleParameter) ((TableItem) element).getData();

                switch (columnIndex) {
                case 0:
                    // MODULE_NAME
                    if (moduleParameter.getModuleName() != null) {
                        String newValue = ((String) value).trim();
                        if (newValue != null) {
                            ConfigTreeNodeUtilities.setText(moduleParameter.getModuleName(), newValue);
                            ConfigTreeNodeUtilities.setText(moduleParameter.getSeparator(),
                                    "".equals(newValue) ? "" : ".");
                        }
                    }
                    break;
                case 1:
                    // PARAMETER_NAME
                    ConfigTreeNodeUtilities.setText(moduleParameter.getParameterName(),
                            ((String) value).trim());
                    break;
                default:
                    break;
                }

                moduleParametersTableViewer.refresh(moduleParameter);
                editor.setDirty();
            }
        }
    });

    moduleParametersTableViewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE,
            new Transfer[] { ModuleParameterTransfer.getInstance() },
            new ModuleParameterSectionDragSourceListener(this, moduleParametersTableViewer));
    moduleParametersTableViewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE,
            new Transfer[] { ModuleParameterTransfer.getInstance() },
            new ModuleParameterSectionDropTargetListener(moduleParametersTableViewer, editor));
}

From source file:org.eclipse.titan.designer.editors.configeditor.pages.modulepar.ModuleParameterSectionPage.java

License:Open Source License

private void internalRefresh() {
    StructuredSelection selection = (StructuredSelection) moduleParametersTableViewer.getSelection();
    Iterator<?> iterator = selection.iterator();
    if (iterator.hasNext()) {
        valueChanged = true;//from   w  ww  . j  ava  2s . c o m
    } else {
        parameterValueText.setText("");
    }

    add.setEnabled(moduleParametersHandler != null);
    remove.setEnabled(moduleParametersHandler != null);
    parameterValueText.setEnabled(moduleParametersHandler != null && selection.size() == 1);
    moduleParametersTableViewer.setInput(moduleParametersHandler);
    moduleParametersTable.setEnabled(moduleParametersHandler != null);
    if (moduleParametersHandler != null) {
        totalModuleParametersLabel.setText("Total: " + moduleParametersHandler.getModuleParameters().size());
    }
}

From source file:org.eclipse.titan.designer.editors.configeditor.pages.testportpar.TestportParametersSectionPage.java

License:Open Source License

private void createTestportParameterTable(final Composite parent, final ScrolledForm form,
        final FormToolkit toolkit) {
    Section section = toolkit.createSection(parent, Section.DESCRIPTION | ExpandableComposite.TITLE_BAR);
    section.setActiveToggleColor(toolkit.getHyperlinkGroup().getActiveForeground());
    section.setToggleColor(toolkit.getColors().getColor(IFormColors.SEPARATOR));

    Composite client = toolkit.createComposite(section, SWT.WRAP);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;/*  w  w  w . j a  v  a  2 s.  co m*/
    client.setLayout(layout);

    toolkit.paintBordersFor(client);

    testportParametersTable = toolkit.createTable(client,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    testportParametersTable.setEnabled(testportParametersHandler != null);

    TableColumn column = new TableColumn(testportParametersTable, SWT.LEFT, 0);
    column.setText("Parameter name");
    column.setWidth(150);
    column.setMoveable(false);

    column = new TableColumn(testportParametersTable, SWT.LEFT, 0);
    column.setText("Testport name");
    column.setMoveable(false);
    column.setWidth(130);

    column = new TableColumn(testportParametersTable, SWT.LEFT, 0);
    column.setText("Component name");
    column.setMoveable(false);
    column.setWidth(130);

    testportParametersTable.setHeaderVisible(true);
    testportParametersTable.setLinesVisible(true);

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 100;
    gd.heightHint = 200;
    gd.grabExcessHorizontalSpace = true;
    gd.horizontalAlignment = SWT.FILL;
    gd.grabExcessVerticalSpace = true;
    gd.verticalAlignment = SWT.FILL;
    testportParametersTable.setLayoutData(gd);

    Composite buttons = toolkit.createComposite(client);
    buttons.setLayout(new GridLayout());
    buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.GRAB_VERTICAL));
    add = toolkit.createButton(buttons, "Add...", SWT.PUSH);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
    add.setLayoutData(gd);
    add.setEnabled(testportParametersHandler != null);
    add.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            //Do nothing
        }

        @Override
        public void widgetSelected(final SelectionEvent e) {
            if (testportParametersHandler == null) {
                return;
            }

            if (testportParametersHandler.getLastSectionRoot() == null) {
                createNewTestportParameterSection();
            }

            TestportParameter newTestportParameter = createNewParameter();
            if (newTestportParameter == null) {
                return;
            }

            ConfigTreeNodeUtilities.addChild(testportParametersHandler.getLastSectionRoot(),
                    newTestportParameter.getRoot());

            testportParametersHandler.getTestportParameters().add(newTestportParameter);

            internalRefresh();
            testportParametersTableViewer.setSelection(new StructuredSelection(newTestportParameter));
            parameterValueText.setText(newTestportParameter.getValue().getText());
            editor.setDirty();
        }

    });

    remove = toolkit.createButton(buttons, "Remove", SWT.PUSH);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
    remove.setLayoutData(gd);
    remove.setEnabled(testportParametersHandler != null);
    remove.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            //Do nothing
        }

        @Override
        public void widgetSelected(final SelectionEvent e) {
            if (testportParametersTableViewer == null || testportParametersHandler == null) {
                return;
            }

            removeSelectedParameters();

            if (testportParametersHandler.getTestportParameters().isEmpty()) {
                removeTestportParameterSection();
            }

            internalRefresh();
            editor.setDirty();
        }

    });

    totalTestportParametersLabel = toolkit.createLabel(buttons, "Total: 0");
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
    totalTestportParametersLabel.setLayoutData(gd);

    section.setText("Testport parameters");
    section.setDescription("Specify the list of testport parameters for this configuration.");
    section.setClient(client);
    section.setExpanded(true);
    section.addExpansionListener(new ExpansionAdapter() {
        @Override
        public void expansionStateChanged(final ExpansionEvent e) {
            form.reflow(false);
        }
    });

    gd = new GridData(GridData.FILL_BOTH);
    section.setLayoutData(gd);

    testportParametersTableViewer = new TableViewer(testportParametersTable);
    testportParametersTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            StructuredSelection selection = (StructuredSelection) event.getSelection();
            if (selection.size() != 1) {
                parameterValueText.setEnabled(false);
                return;
            }

            TestportParameter testportParameter = (TestportParameter) selection.getFirstElement();
            if (testportParameter != null) {
                if (testportParameter.getValue() != null) {
                    if (testportParameter.getValue().getText().length() == 0) {
                        String temp = ConfigTreeNodeUtilities.toString(testportParameter.getValue());
                        ConfigTreeNodeUtilities.setText(testportParameter.getValue(), temp);
                    }

                    parameterValueText.setText(testportParameter.getValue().getText());
                }

                valueChanged = true;
            }

            parameterValueText.setEnabled(testportParametersHandler != null && testportParameter != null);
        }
    });

    testportParametersTableViewer.setContentProvider(new TestportParameterDataContentProvider());
    testportParametersTableViewer.setLabelProvider(new TestportParameterDataLabelProvider());
    testportParametersTableViewer.setInput(testportParametersHandler);
    testportParametersTableViewer.setColumnProperties(columnNames);
    testportParametersTableViewer
            .setCellEditors(new TextCellEditor[] { new TextCellEditor(testportParametersTable),
                    new TextCellEditor(testportParametersTable), new TextCellEditor(testportParametersTable) });
    testportParametersTableViewer.setCellModifier(new ICellModifier() {
        @Override
        public boolean canModify(final Object element, final String property) {
            return true;
        }

        @Override
        public String getValue(final Object element, final String property) {
            int columnIndex = Arrays.asList(columnNames).indexOf(property);
            TestportParameterDataLabelProvider labelProvider = (TestportParameterDataLabelProvider) testportParametersTableViewer
                    .getLabelProvider();
            return labelProvider.getColumnText(element, columnIndex);
        }

        @Override
        public void modify(final Object element, final String property, final Object value) {
            int columnIndex = Arrays.asList(columnNames).indexOf(property);
            if (element != null && element instanceof TableItem && value instanceof String) {
                TestportParameter testportParameter = (TestportParameter) ((TableItem) element).getData();

                switch (columnIndex) {
                case 0:
                    // COMPONENT_NAME
                    ConfigTreeNodeUtilities.setText(testportParameter.getComponentName(),
                            ((String) value).trim());
                    break;
                case 1:
                    // TESTPORT_NAME
                    ConfigTreeNodeUtilities.setText(testportParameter.getTestportName(),
                            ((String) value).trim());
                    break;
                case 2:
                    // PARAMETER_NAME
                    ConfigTreeNodeUtilities.setText(testportParameter.getParameterName(),
                            ((String) value).trim());
                    break;
                default:
                    break;
                }
                testportParametersTableViewer.refresh(testportParameter);
                editor.setDirty();
            }
        }
    });

    testportParametersTableViewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE,
            new Transfer[] { TestportParameterTransfer.getInstance() },
            new TestportParameterSectionDragSourceListener(this, testportParametersTableViewer));
    testportParametersTableViewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE,
            new Transfer[] { TestportParameterTransfer.getInstance() },
            new TestportParameterSectionDropTargetListener(testportParametersTableViewer, editor));
}

From source file:org.eclipse.titan.designer.editors.configeditor.pages.testportpar.TestportParametersSectionPage.java

License:Open Source License

private void internalRefresh() {
    StructuredSelection selection = (StructuredSelection) testportParametersTableViewer.getSelection();
    Iterator<?> iterator = selection.iterator();
    if (iterator.hasNext()) {
        valueChanged = true;//from w ww .j a  v a 2  s .  c  o m
    } else {
        parameterValueText.setText("");
    }

    add.setEnabled(testportParametersHandler != null);
    remove.setEnabled(testportParametersHandler != null);
    testportParametersTableViewer.setInput(testportParametersHandler);
    testportParametersTable.setEnabled(testportParametersHandler != null);
    parameterValueText.setEnabled(testportParametersHandler != null && selection.size() == 1);
    if (testportParametersHandler != null) {
        totalTestportParametersLabel
                .setText("Total: " + testportParametersHandler.getTestportParameters().size());
    }
}

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

License:Open Source License

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);/*from  w  ww .j a va2  s.co m*/

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

    final Label headerLabel = createHeader(content);

    pattern = new Text(content, SWT.SINGLE | SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL);
    pattern.getAccessible().addAccessibleListener(new AccessibleAdapter() {
        public void getName(AccessibleEvent e) {
            e.result = LegacyActionTools.removeMnemonics(headerLabel.getText());
        }
    });
    gd = new GridData(GridData.FILL_HORIZONTAL);
    pattern.setLayoutData(gd);

    final Label listLabel = createLabels(content);

    list = new TableViewer(content, (multi ? SWT.MULTI : SWT.SINGLE) | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL);
    list.getTable().getAccessible().addAccessibleListener(new AccessibleAdapter() {
        public void getName(AccessibleEvent e) {
            if (e.childID == ACC.CHILDID_SELF) {
                e.result = LegacyActionTools.removeMnemonics(listLabel.getText());
            }
        }
    });
    list.setContentProvider(contentProvider);
    list.setLabelProvider(getItemsListLabelProvider());
    list.setInput(new Object[0]);
    list.setItemCount(contentProvider.getNumberOfElements());
    gd = new GridData(GridData.FILL_BOTH);
    applyDialogFont(list.getTable());
    gd.heightHint = list.getTable().getItemHeight() * 15;
    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:org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.java

License:Open Source License

/**
 * Refreshes the details field according to the current selection in the
 * items list./*from  w ww .  j  a  v  a 2s.  c  om*/
 */
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(WorkbenchMessages.FilteredItemsSelectionDialog_nItemsSelected,
                new Integer(selection.size())));
        break;
    }

}

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.ja  v a 2 s. c  o 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.ui.ide.markers.compatibility.internal.ExtendedMarkersView.java

License:Open Source License

/**
 * Set the selection of the receiver. reveal the item if reveal is true.
 * //w w  w . ja  va  2  s  .  c o  m
 * @param structuredSelection
 * @param reveal
 */
void setSelection(StructuredSelection structuredSelection, boolean reveal) {

    List newSelection = new ArrayList(structuredSelection.size());

    for (Iterator i = structuredSelection.iterator(); i.hasNext();) {
        Object next = i.next();
        if (next instanceof IMarker) {
            MarkerItem marker = builder.getMarkerItem((IMarker) next);
            if (marker != null) {
                newSelection.add(marker);
            }
        }
    }

    viewer.setSelection(new StructuredSelection(newSelection), reveal);

}