Example usage for org.eclipse.jface.fieldassist AutoCompleteField setProposals

List of usage examples for org.eclipse.jface.fieldassist AutoCompleteField setProposals

Introduction

In this page you can find the example usage for org.eclipse.jface.fieldassist AutoCompleteField setProposals.

Prototype

public void setProposals(String... proposals) 

Source Link

Document

Set the Strings to be used as content proposals.

Usage

From source file:org.jboss.tools.openshift.express.internal.ui.wizard.application.ApplicationConfigurationWizardPage.java

License:Open Source License

private void createExistingAppNameContentAssist() {
    ControlDecoration dec = new ControlDecoration(existingAppNameText, SWT.TOP | SWT.LEFT);
    FieldDecoration contentProposalFieldIndicator = FieldDecorationRegistry.getDefault()
            .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
    dec.setImage(contentProposalFieldIndicator.getImage());
    dec.setDescriptionText("Auto-completion is enabled when you start typing an application name.");
    dec.setShowOnlyOnFocus(true);/*  w  ww  .  j  ava 2s.c  om*/

    AutoCompleteField adapter = new AutoCompleteField(existingAppNameText, new TextContentAdapter(),
            new String[] {});
    adapter.setProposals(pageModel.getApplicationNames());
}

From source file:org.jboss.tools.openshift.express.internal.ui.wizard.application.ApplicationTemplateWizardPage.java

License:Open Source License

protected PropertyChangeListener onExistingApplicationsChanged(final AutoCompleteField autoCompleteField) {
    return new PropertyChangeListener() {

        @Override/*from w  ww.java2 s .  c  o m*/
        public void propertyChange(PropertyChangeEvent evt) {
            autoCompleteField.setProposals(pageModel.getExistingApplicationNames());
        }
    };
}

From source file:org.jboss.tools.openshift.express.internal.ui.wizard.application.ProjectAndServerAdapterSettingsWizardPage.java

License:Open Source License

private Composite createProjectGroup(Composite parent, DataBindingContext dbc) {
    Composite projectGroup = new Composite(parent, SWT.NONE);
    // projectGroup.setText("Project");
    GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).align(SWT.FILL, SWT.CENTER).grab(true, false)
            .applyTo(projectGroup);/*  w  w  w  .  j  a va2s  .co m*/
    GridLayoutFactory.fillDefaults().numColumns(3).margins(6, 6).applyTo(projectGroup);

    // new project checkbox
    Button newProjectRadioBtn = new Button(projectGroup, SWT.CHECK);
    newProjectRadioBtn.setText("Create a new project");
    newProjectRadioBtn.setToolTipText(
            "The OpenShift application code will be pulled into the newly created project or merged into the selected one.");
    newProjectRadioBtn.setFocus();
    GridDataFactory.fillDefaults().span(3, 1).align(SWT.FILL, SWT.CENTER).grab(false, false)
            .applyTo(newProjectRadioBtn);
    final IObservableValue newProjectObservable = BeanProperties
            .value(ProjectAndServerAdapterSettingsWizardPageModel.PROPERTY_IS_NEW_PROJECT).observe(pageModel);
    final ISWTObservableValue newProjectRadioBtnSelection = WidgetProperties.selection()
            .observe(newProjectRadioBtn);
    dbc.bindValue(newProjectRadioBtnSelection, newProjectObservable);

    // existing project
    Label existingProjectLabel = new Label(projectGroup, SWT.NONE);
    existingProjectLabel.setText("Use existing project:");
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).span(1, 1).grab(false, false).indent(10, 0)
            .applyTo(existingProjectLabel);

    existingProjectNameText = new Text(projectGroup, SWT.BORDER);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).span(1, 1).grab(true, false)
            .applyTo(existingProjectNameText);
    final IObservableValue projectNameModelObservable = BeanProperties
            .value(ProjectAndServerAdapterSettingsWizardPageModel.PROPERTY_PROJECT_NAME).observe(pageModel);
    final ISWTObservableValue existingProjectNameTextObservable = WidgetProperties.text(SWT.Modify)
            .observe(existingProjectNameText);
    ValueBindingBuilder.bind(existingProjectNameTextObservable).to(projectNameModelObservable).in(dbc);
    // disable the project name text when the model state is set to 'new project'
    ValueBindingBuilder.bind(WidgetProperties.enabled().observe(existingProjectNameText))
            .notUpdating(newProjectObservable).converting(new InvertingBooleanConverter()).in(dbc);
    // move focus to the project name text control when choosing the 'Use an existing project' option.
    newProjectRadioBtn.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            existingProjectNameText.setFocus();
            existingProjectNameText.selectAll();
        }
    });
    // let's provide content assist on the existing project name
    ControlDecoration dec = new ControlDecoration(existingProjectNameText, SWT.TOP | SWT.LEFT);
    FieldDecoration contentProposalFieldIndicator = FieldDecorationRegistry.getDefault()
            .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
    dec.setImage(contentProposalFieldIndicator.getImage());
    dec.setDescriptionText("Auto-completion is enabled when you start typing a project name.");
    dec.setShowOnlyOnFocus(true);

    AutoCompleteField adapter = new AutoCompleteField(existingProjectNameText, new TextContentAdapter(),
            new String[] {});

    adapter.setProposals(getOpenProjectsInWorkspace());

    Button browseProjectsButton = new Button(projectGroup, SWT.NONE);
    browseProjectsButton.setText("Browse...");
    GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).hint(100, SWT.DEFAULT).span(1, 1)
            .grab(false, false).applyTo(browseProjectsButton);
    browseProjectsButton.addSelectionListener(onBrowseProjects());
    ValueBindingBuilder.bind(WidgetProperties.enabled().observe(browseProjectsButton))
            .notUpdating(newProjectObservable).converting(new InvertingBooleanConverter()).in(dbc);

    final IObservableValue applicationNameModelObservable = BeanProperties
            .value(GitCloningSettingsWizardPageModel.PROPERTY_APPLICATION_NAME).observe(pageModel);
    final UseExistingOpenProjectValidator existingProjectValidator = new UseExistingOpenProjectValidator(
            applicationNameModelObservable, newProjectObservable, projectNameModelObservable);
    dbc.addValidationStatusProvider(existingProjectValidator);
    ControlDecorationSupport.create(existingProjectValidator, SWT.LEFT | SWT.TOP);

    return projectGroup;
}