List of usage examples for org.eclipse.jface.fieldassist AutoCompleteField setProposals
public void setProposals(String... proposals)
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; }