Example usage for org.eclipse.jface.viewers ComboViewer getCombo

List of usage examples for org.eclipse.jface.viewers ComboViewer getCombo

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ComboViewer getCombo.

Prototype

public Combo getCombo() 

Source Link

Document

Returns this list viewer's list control.

Usage

From source file:org.eclipse.emf.ecp.internal.ui.composites.AddRepositoryCompositeImpl.java

License:Open Source License

/**
 * @param composite//from   www.  j  a  v a  2  s.c  o m
 */
private void createProviderSelector(Composite composite) {
    final Label label = new Label(composite, SWT.NONE);
    label.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    label.setText(Messages.AddRepositoryComposite_RepositoryProvider);

    final ComboViewer providersViewer = new ComboViewer(composite, SWT.NONE);
    final Combo combo = providersViewer.getCombo();
    final GridData gdCombo = new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1);
    gdCombo.widthHint = 150;
    combo.setLayoutData(gdCombo);
    providersViewer.setContentProvider(new ProvidersContentProvider(true));
    providersViewer.setLabelProvider(new ProvidersLabelProvider());
    providersViewer.setSorter(new ViewerSorter());
    providersViewer.setInput(ECPUtil.getECPProviderRegistry());
    providersViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            provider = (ECPProvider) selection.getFirstElement();
            if (provider != null) {
                showProviderUI(provider);
                if (listener != null) {
                    listener.repositoryProviderChanged(provider);
                }
            }
        }
    });

    for (final ECPProvider provider : ECPUtil.getECPProviderRegistry().getProviders()) {
        if (provider.hasCreateRepositorySupport()) {
            providersViewer.setSelection(new StructuredSelection(provider));
            break;
        }
    }
}

From source file:org.eclipse.emf.ecp.internal.ui.composites.CreateProjectCompositeImpl.java

License:Open Source License

/** {@inheritDoc} **/
@Override//w  ww.  ja  va  2s. c o m
public Composite createUI(Composite parent) {

    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    composite.setLayout(new GridLayout(2, false));
    ComboViewer providersViewer = null;

    if (providers.size() > 1) {
        final Label label = new Label(composite, SWT.NONE);
        label.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
        label.setText(Messages.UICreateProject_ProjectProvider + ":");//$NON-NLS-1$

        providersViewer = new ComboViewer(composite, SWT.NONE | SWT.READ_ONLY);
        final Combo combo = providersViewer.getCombo();
        final GridData gdCombo = new GridData(SWT.FILL, SWT.BEGINNING, true, false, 1, 1);
        gdCombo.minimumWidth = 150;
        combo.setLayoutData(gdCombo);

        providersViewer.setContentProvider(new ArrayContentProvider());
        providersViewer.setLabelProvider(new ProvidersLabelProvider());
        providersViewer.setSorter(new ViewerSorter());
        providersViewer.setInput(providers);

        providersViewer.setSelection(new StructuredSelection(providers.get(0)));

        providersViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                final IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                provider = (ECPProvider) selection.getFirstElement();
                updateUI();
                if (listener != null) {
                    listener.providerChanged(provider);
                }
            }
        });

    }

    provider = providers.get(0);
    final Label labelName = new Label(composite, SWT.NONE);
    labelName.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    labelName.setText(Messages.UICreateProject_ProjectName + ":"); //$//$NON-NLS-1$

    final Text textProjectName = new Text(composite, SWT.BORDER | SWT.SINGLE);
    textProjectName.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 1, 1));
    textProjectName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent e) {
            projectName = textProjectName.getText();
            if (projectName.equals("")) //$NON-NLS-1$
            {
                projectName = null;

            }
            if (projectName == null) {
                topStatus = false;
            } else if (ECPUtil.getECPProjectManager().getProject(projectName) != null) {
                topStatus = false;
            } else {
                topStatus = true;
            }

            if (listener != null) {
                listener.projectNameChanged(projectName);
            }

            checkComplete();
        }
    });

    final Label seperator = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
    seperator.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, false, false, 2, 2));

    providerStackLayout = new StackLayout();
    providerStack = new Composite(composite, SWT.NONE);
    providerStack.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    providerStack.setLayout(providerStackLayout);
    updateUI();
    return composite;
}

From source file:org.eclipse.emf.editor.ui.binding.EmfSwtBindingFactory.java

License:Open Source License

private Control bindValue(EStructuralFeature feature) {
    Control retVal = null;/*from  w  ww. java2s.  c  o m*/
    IObservableValue source = EMFEditObservables.observeValue(domain, owner, feature);
    IObservableValue target = null;
    if (feature.getEType().equals(EcorePackage.Literals.EBOOLEAN)
            || feature.getEType().equals(EcorePackage.Literals.EBOOLEAN_OBJECT)
            || (feature.getEType() instanceof EDataType
                    && (feature.getEType().getInstanceClass() == Boolean.class
                            || feature.getEType().getInstanceClass() == Boolean.TYPE))) {
        Button b = toolkit.createButton(parent, "", SWT.CHECK);
        target = SWTObservables.observeSelection(b);
        retVal = b;
    } else {
        List<?> proposals = proposalcreator.proposals(feature);
        if (feature instanceof EReference || feature.getEType() instanceof EEnumImpl) {
            ComboViewer combo = new ComboViewer(parent, SWT.READ_ONLY);
            toolkit.adapt(combo.getCombo());
            combo.setContentProvider(new ArrayContentProvider());
            combo.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            combo.setInput(proposals);
            target = ViewersObservables.observeSingleSelection(combo);
            retVal = combo.getCombo();
        } else {
            Text t = toolkit.createText(parent, "");
            t.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);
            if (proposals != null && !proposals.isEmpty()) {
                // TODO prevent adding null to a list, for example a Collection
                // Type
                while (proposals.remove(null)) {
                    // clear null entries
                }
                ControlDecoration field = new ControlDecoration(t, SWT.BORDER);
                FieldDecoration requiredFieldIndicator = FieldDecorationRegistry.getDefault()
                        .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
                field.setImage(requiredFieldIndicator.getImage());
                field.setDescriptionText(requiredFieldIndicator.getDescription());
                KeyStroke keyStroke = null;
                String string = "Ctrl+Space";
                try {
                    keyStroke = KeyStroke.getInstance(string);
                } catch (ParseException e) {
                    EEPlugin.getDefault().getLog().log(
                            new Status(IStatus.ERROR, EEPlugin.PLUGIN_ID, "Error while parse: " + string, e));
                }
                new ContentProposalAdapter(t, new TextContentAdapter(),
                        new SimpleContentProposalProvider(proposals.toArray(new String[] {})), keyStroke, null);
            }
            target = SWTObservables.observeText(t, SWT.Modify);
            retVal = t;

        }
    }
    edbc.bindValue(target, source, null, null);
    return retVal;
}

From source file:org.eclipse.emf.examples.library.databinding.stock.dialog.BookDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);

    getShell().setText("Edit Book");
    setTitle("Edit the book");
    setMessage(//from  w ww .jav  a 2 s .c om
            "Edit the data of the book with the form below and press ok when done or cancel to undo all modifications.");

    Composite comp = new Composite(container, SWT.NONE);
    comp.setLayoutData(new GridData(GridData.FILL_BOTH));
    comp.setLayout(new GridLayout(2, false));

    DataBindingContext dbc = new DataBindingContext();

    /*
     * Title
     */
    Label l = new Label(comp, SWT.NONE);
    l.setText("Title");

    Text t = new Text(comp, SWT.BORDER);
    t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    IValueProperty uProp = WidgetProperties.text(SWT.Modify);
    IEMFEditValueProperty mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK__TITLE);
    dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)),
            mProp.observe(book));

    /*
     * Publication Date
     */
    l = new Label(comp, SWT.NONE);
    l.setText("Publication Date");

    t = new Text(comp, SWT.BORDER);
    t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.ITEM__PUBLICATION_DATE);
    dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)),
            mProp.observe(book), new UpdateValueStrategy(),
            new UpdateValueStrategy().setConverter(new DateToStringConverter()));

    /*
     * Copies
     */
    l = new Label(comp, SWT.NONE);
    l.setText("Copies");

    t = new Text(comp, SWT.BORDER);
    t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.LENDABLE__COPIES);
    dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)),
            mProp.observe(book));

    /*
     * Pages
     */
    l = new Label(comp, SWT.NONE);
    l.setText("Pages");

    t = new Text(comp, SWT.BORDER);
    t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK__PAGES);
    dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)),
            mProp.observe(book));

    /*
     * Category
     */
    l = new Label(comp, SWT.NONE);
    l.setText("Category");

    ComboViewer categoryViewer = new ComboViewer(comp, SWT.BORDER);
    categoryViewer.setContentProvider(new ArrayContentProvider());
    categoryViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            switch ((BookCategory) element) {
            case BIOGRAPHY_LITERAL:
                return "Biographie";
            case MYSTERY_LITERAL:
                return "Mystery";
            case SCIENCE_FICTION_LITERAL:
                return "Science Fiction";
            default:
                return "";
            }
        }
    });
    categoryViewer.getCombo().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    categoryViewer.setInput(new BookCategory[] { BookCategory.BIOGRAPHY_LITERAL, BookCategory.MYSTERY_LITERAL,
            BookCategory.SCIENCE_FICTION_LITERAL });
    IValueProperty selectionProp = ViewerProperties.singleSelection();
    mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK__CATEGORY);
    dbc.bindValue(selectionProp.observe(categoryViewer), mProp.observe(book));

    /*
     * Author
     */
    l = new Label(comp, SWT.NONE);
    l.setText("Author");

    TokenViewer authorViewer = new TokenViewer(comp);
    authorViewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    authorViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            Writer w = (Writer) element;
            return w.getLastName() + ", " + w.getFirstName();
        }
    });
    authorViewer.setContentProvider(new ArrayContentProvider());
    authorViewer.setInput(EMFEditObservables.observeList(Realm.getDefault(), domain, library,
            EXTLibraryPackage.Literals.LIBRARY__WRITERS));

    mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK__AUTHOR);
    dbc.bindValue(selectionProp.observe(authorViewer), mProp.observe(book));

    return container;
}

From source file:org.eclipse.emfforms.internal.editor.ecore.controls.DataTypeControl.java

License:Open Source License

@Override
protected Viewer createJFaceViewer(Composite parent) {
    final ComboViewer combo = new ComboViewer(parent, SWT.DROP_DOWN);

    Class<?> type = EClassifier.class;
    boolean includeEcorePackage = false;

    if (getViewModelContext().getDomainModel() instanceof EAttribute) {
        type = EDataType.class;
        includeEcorePackage = true;/* w  w  w.ja  v  a  2  s  . c  om*/
    } else if (getViewModelContext().getDomainModel() instanceof EReference) {
        type = EClass.class;
        includeEcorePackage = false;
    }

    final List<?> classifiers = ResourceSetHelpers
            .findAllOfTypeInResourceSet(getViewModelContext().getDomainModel(), type, includeEcorePackage);

    combo.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof EClassifier) {
                return ((EClassifier) element).getName();
            }
            return super.getText(element);
        }
    });
    combo.setContentProvider(new ArrayContentProvider());
    combo.setInput(classifiers.toArray());

    new AutoCompleteField(combo.getCombo(), new ComboContentAdapter(), combo.getCombo().getItems());

    return combo;
}

From source file:org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRenderer.java

License:Open Source License

/**
 * {@inheritDoc}//from w  ww.j  a  v a  2s .c  o m
 *
 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer#createJFaceViewer(org.eclipse.swt.widgets.Composite)
 */
@Override
protected Viewer createJFaceViewer(Composite parent) throws DatabindingFailedException {
    final ComboViewer combo = new ComboViewer(parent, SWT.DROP_DOWN);
    combo.setContentProvider(ArrayContentProvider.getInstance());
    combo.setInput(getProposals());
    new AutoCompleteField(combo.getCombo(), new ComboContentAdapter(), combo.getCombo().getItems());
    return combo;
}

From source file:org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRenderer_Test.java

License:Open Source License

@Test
public void testCreateJFaceViewer() throws DatabindingFailedException {
    final AutocompleteTextControlSWTRenderer renderer = new AutocompleteTextControlSWTRenderer(control,
            viewModelContext, mock(ReportService.class), emfFormsDatabinding, mock(EMFFormsLabelProvider.class),
            mock(VTViewTemplateProvider.class));
    final Viewer viewer = renderer.createJFaceViewer(composite);
    assertTrue(ComboViewer.class.isInstance(viewer));
    final ComboViewer comboViewer = ComboViewer.class.cast(viewer);
    assertEquals(1, composite.getChildren().length);
    assertSame(comboViewer.getCombo(), composite.getChildren()[0]);
    assertSame(staticProposals, comboViewer.getInput());

    /* check if contentproposal adapters have been set up */
    /* TODO better way to test this? */
    final Listener[] keyDownListeners = comboViewer.getCombo().getListeners(SWT.KeyDown);
    final Listener[] traverseListeners = comboViewer.getCombo().getListeners(SWT.Traverse);
    final Listener[] modifyListeners = comboViewer.getCombo().getListeners(SWT.Modify);

    assertTrue("Content assist not set up?", hasContentProposalAdapter(keyDownListeners)); //$NON-NLS-1$
    assertTrue("Content assist not set up?", hasContentProposalAdapter(traverseListeners)); //$NON-NLS-1$
    assertTrue("Content assist not set up?", hasContentProposalAdapter(modifyListeners)); //$NON-NLS-1$
}

From source file:org.eclipse.epf.library.ui.dialogs.UserInputsDialog.java

License:Open Source License

/**
 * Creates a Comboviewer.//from   ww  w. j av a 2 s  .  co m
 * 
 * @param composite
 * @param userInput
 */
protected void createComboViewer(Composite composite, UserInput userInput) {
    final UserInput localInput = userInput;
    final IValidator validator = userInput.getValidator();
    final ComboViewer viewer = new ComboViewer(composite);
    viewer.getCombo().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.setContentProvider(new ArrayContentProvider());
    if (userInput.getLabelProvider() != null) {
        viewer.setLabelProvider(new DelegateLabelProvider(userInput.getLabelProvider()));
    }
    List choices = userInput.getChoices();
    viewer.setInput(choices);
    if (choices != null && choices.size() > 0) {
        viewer.setSelection(new StructuredSelection(choices.get(0)));
        localInput.setInput(choices.get(0));
    }
    viewer.getCombo().addFocusListener(new FocusAdapter() {
        public void focusLost(FocusEvent e) {
            String errorTxt = ""; //$NON-NLS-1$
            IStructuredSelection selected = (IStructuredSelection) viewer.getSelection();
            if (validator == null || selected == null) {
                return;
            }
            IStatus status = validator.isValid(selected.getFirstElement());
            if (status.getSeverity() == IStatus.ERROR) {
                errorTxt = status.getMessage();
            }
            if (errorTxt != null && errorTxt.length() > 0) {
                errorArea.setText(errorTxt);
                getButton(OK).setEnabled(false);
            }
            if (globalErrorTxt != null && globalErrorTxt.length() > 0) {
                errorArea.setText(globalErrorTxt);
                getButton(OK).setEnabled(false);
            } else
                errorArea.setText(""); //$NON-NLS-1$
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            getButton(OK).setEnabled(true);
            errorArea.setText(""); //$NON-NLS-1$

            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object obj = selection.getFirstElement();
            String errorTxt = ""; //$NON-NLS-1$
            if (validator != null) {
                IStatus status = validator.isValid(obj);
                if (status.getCode() == IStatus.ERROR) {
                    errorTxt = status.getMessage();
                }
                if (errorTxt != null && errorTxt.length() > 0) {
                    errorArea.setText(errorTxt);
                } else if (globalErrorTxt != null && globalErrorTxt.length() > 0) {
                    errorArea.setText(globalErrorTxt);
                    getButton(OK).setEnabled(false);
                } else
                    errorArea.setText(""); //$NON-NLS-1$
            }
            if (errorTxt == null || errorTxt.length() <= 0) {
                localInput.setInput(obj);
            }
        }
    });
}

From source file:org.eclipse.jpt.common.ui.tests.internal.jface.DelegatingLabelProviderUiTest.java

License:Open Source License

private void buildVehicleCombo(Composite parent) {
    final ComboViewer combo = new ComboViewer(parent, SWT.READ_ONLY);
    combo.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    combo.setContentProvider(new ArrayContentProvider());
    combo.setLabelProvider(new VehicleTypeLabelProvider());
    combo.setInput(/*from   w ww.ja  v a  2  s. com*/
            new VehicleType[] { VehicleType.BICYCLE, VehicleType.CAR, VehicleType.TRUCK, VehicleType.BOAT });
    combo.getCombo().setEnabled(false);
    combo.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            DelegatingLabelProviderUiTest.this.getSelectedVehicle().setVehicleType(
                    (VehicleType) ((StructuredSelection) event.getSelection()).getFirstElement());
        }
    });
    this.selectedVehicleModel.addPropertyChangeListener(PropertyValueModel.VALUE, new PropertyChangeListener() {
        public void propertyChanged(PropertyChangeEvent event) {
            Vehicle vehicle = DelegatingLabelProviderUiTest.this.getSelectedVehicle();
            combo.getCombo().setEnabled(vehicle != null);
            combo.setSelection(new StructuredSelection((vehicle == null) ? null : vehicle.getVehicleType()));
        }
    });
}

From source file:org.eclipse.jpt.common.ui.tests.internal.jface.DelegatingLabelProviderUiTest.java

License:Open Source License

private void buildColorCombo(Composite parent) {
    final ComboViewer combo = new ComboViewer(parent, SWT.READ_ONLY);
    combo.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    combo.setContentProvider(new ArrayContentProvider());
    combo.setLabelProvider(new ColorLabelProvider());
    combo.setInput(new VehicleColor[] { VehicleColor.RED, VehicleColor.BLUE, VehicleColor.YELLOW,
            VehicleColor.GREEN });// w  w w  .  ja v  a 2s.  com
    combo.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            DelegatingLabelProviderUiTest.this.getSelectedVehicle()
                    .setColor((VehicleColor) ((StructuredSelection) event.getSelection()).getFirstElement());
        }
    });
    this.selectedVehicleModel.addPropertyChangeListener(PropertyValueModel.VALUE, new PropertyChangeListener() {
        public void propertyChanged(PropertyChangeEvent event) {
            Vehicle vehicle = DelegatingLabelProviderUiTest.this.getSelectedVehicle();
            combo.getCombo().setEnabled(vehicle != null);
            combo.setSelection(new StructuredSelection((vehicle == null) ? null : vehicle.getColor()));
        }
    });
}