List of usage examples for org.eclipse.jface.fieldassist ContentProposalAdapter setLabelProvider
public void setLabelProvider(ILabelProvider labelProvider)
From source file:bndtools.editor.components.ComponentDetailsPage.java
License:Open Source License
void fillMainSection(FormToolkit toolkit, Section section) { FieldDecoration contentProposalDecoration = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); ControlDecoration decor;/* www.j av a 2s .c om*/ Composite composite = toolkit.createComposite(section); section.setClient(composite); Hyperlink lnkName = toolkit.createHyperlink(composite, "Name:", SWT.NONE); txtName = toolkit.createText(composite, "", SWT.BORDER); decor = new ControlDecoration(txtName, SWT.LEFT | SWT.TOP, composite); decor.setImage(contentProposalDecoration.getImage()); decor.setDescriptionText("Content assist available"); // TODO: keystrokes decor.setShowHover(true); decor.setShowOnlyOnFocus(true); KeyStroke assistKeyStroke = null; try { assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } ComponentNameProposalProvider proposalProvider = new ComponentNameProposalProvider( new FormPartJavaSearchContext(this)); ContentProposalAdapter proposalAdapter = new ContentProposalAdapter(txtName, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); proposalAdapter.addContentProposalListener(proposalProvider); proposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); proposalAdapter.setAutoActivationDelay(1500); proposalAdapter.setLabelProvider(ComponentNameProposalProvider.createLabelProvider()); toolkit.createLabel(composite, ""); // Spacer btnEnabled = toolkit.createButton(composite, "Enabled", SWT.CHECK); // Listeners lnkName.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e) { listPart.doOpenComponent(selected.getName()); } }); txtName.addListener(SWT.Modify, new Listener() { public void handleEvent(Event event) { if (refreshers.get() == 0) { String oldName = selected.getName(); String newName = txtName.getText(); selected.setName(newName); listPart.updateLabel(oldName, newName); markDirty(PROP_COMPONENT_NAME); updateVisibility(); } } }); btnEnabled.addListener(SWT.Modify, new MarkDirtyListener(ServiceComponent.COMPONENT_ENABLED)); // Layout GridData gd; composite.setLayout(new GridLayout(2, false)); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalIndent = 5; txtName.setLayoutData(gd); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalIndent = 5; txtName.setLayoutData(gd); }
From source file:bndtools.editor.components.ComponentSvcRefWizardPage.java
License:Open Source License
public void createControl(Composite parent) { setTitle("Edit Service Reference"); KeyStroke assistKeyStroke = null; try {/*from ww w .j av a 2s .co m*/ assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } FieldDecoration assistDecor = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); Composite composite = new Composite(parent, SWT.NONE); new Label(composite, SWT.NONE).setText("Name:"); txtName = new Text(composite, SWT.BORDER); new Label(composite, SWT.NONE).setText("Interface:"); txtInterface = new Text(composite, SWT.BORDER); ControlDecoration decorInterface = new ControlDecoration(txtInterface, SWT.LEFT | SWT.TOP, composite); decorInterface.setImage(assistDecor.getImage()); decorInterface.setDescriptionText("Content assist available"); decorInterface.setShowHover(true); decorInterface.setShowOnlyOnFocus(true); // Add content proposal to svc interface field SvcInterfaceProposalProvider proposalProvider = new SvcInterfaceProposalProvider(searchContext); ContentProposalAdapter interfaceProposalAdapter = new ContentProposalAdapter(txtInterface, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); interfaceProposalAdapter.addContentProposalListener(proposalProvider); interfaceProposalAdapter.setAutoActivationDelay(1500); interfaceProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); interfaceProposalAdapter.setLabelProvider(new JavaContentProposalLabelProvider()); new Label(composite, SWT.NONE).setText("Bind:"); txtBind = new Text(composite, SWT.BORDER); ControlDecoration decorBind = new ControlDecoration(txtBind, SWT.LEFT | SWT.TOP, composite); decorBind.setImage(assistDecor.getImage()); decorBind.setDescriptionText("Content assist available"); decorBind.setShowHover(true); decorBind.setShowOnlyOnFocus(true); MethodProposalProvider bindProposalProvider = new MethodProposalProvider(searchContext); ContentProposalAdapter bindProposalAdapter = new ContentProposalAdapter(txtBind, new TextContentAdapter(), bindProposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); bindProposalAdapter.addContentProposalListener(bindProposalProvider); bindProposalAdapter.setAutoActivationDelay(1500); bindProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); bindProposalAdapter.setLabelProvider(new MethodProposalLabelProvider()); new Label(composite, SWT.NONE).setText("Unbind:"); txtUnbind = new Text(composite, SWT.BORDER); ControlDecoration decorUnbind = new ControlDecoration(txtUnbind, SWT.LEFT | SWT.TOP, composite); decorUnbind.setImage(assistDecor.getImage()); decorUnbind.setDescriptionText("Content assist available"); decorUnbind.setShowHover(true); decorUnbind.setShowOnlyOnFocus(true); ContentProposalAdapter unbindProposalAdapter = new ContentProposalAdapter(txtUnbind, new TextContentAdapter(), bindProposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); unbindProposalAdapter.addContentProposalListener(bindProposalProvider); unbindProposalAdapter.setAutoActivationDelay(1500); unbindProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); unbindProposalAdapter.setLabelProvider(new MethodProposalLabelProvider()); new Label(composite, SWT.NONE); // Spacer Composite pnlButtons = new Composite(composite, SWT.NONE); btnOptional = new Button(pnlButtons, SWT.CHECK); btnOptional.setText("Optional"); btnMultiple = new Button(pnlButtons, SWT.CHECK); btnMultiple.setText("Multiple"); btnDynamic = new Button(pnlButtons, SWT.CHECK); btnDynamic.setText("Dynamic"); new Label(composite, SWT.NONE).setText("Target Filter:"); txtTargetFilter = new Text(composite, SWT.BORDER); // Initialise initialiseFields(); validate(); // Listeners ModifyListener nameAndInterfaceModifyListener = new ModifyListener() { public void modifyText(ModifyEvent e) { String name = emptyToNull(txtName.getText()); String clazz = emptyToNull(txtInterface.getText()); if (name == null) name = clazz; serviceReference.setName(name); serviceReference.setServiceClass(clazz); validate(); } }; txtName.addModifyListener(nameAndInterfaceModifyListener); txtInterface.addModifyListener(nameAndInterfaceModifyListener); txtBind.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { serviceReference.setBind(emptyToNull(txtBind.getText())); validate(); } }); txtUnbind.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { serviceReference.setUnbind(emptyToNull(txtUnbind.getText())); validate(); } }); btnOptional.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { serviceReference.setOptional(btnOptional.getSelection()); validate(); } }); btnMultiple.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { serviceReference.setMultiple(btnMultiple.getSelection()); validate(); } }); btnDynamic.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { serviceReference.setDynamic(btnDynamic.getSelection()); validate(); } }); txtTargetFilter.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { serviceReference.setTargetFilter(emptyToNull(txtTargetFilter.getText())); } }); // Layout GridLayout layout; layout = new GridLayout(4, false); composite.setLayout(layout); txtName.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1)); txtInterface.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1)); txtBind.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); txtUnbind.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); txtTargetFilter.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1)); pnlButtons.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 3, 1)); layout = new GridLayout(1, true); // layout.horizontalSpacing = 0; // layout.verticalSpacing = 0; // layout.marginHeight = 0; // layout.marginWidth = 0; pnlButtons.setLayout(layout); setControl(composite); }
From source file:bndtools.editor.components.SvcInterfaceSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Control dialogArea = super.createDialogArea(parent); FieldDecoration proposalDecoration = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); KeyStroke assistKeyStroke = null; try {/*ww w. j a v a 2 s .c o m*/ assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } Text textField = getText(); ControlDecoration decor = new ControlDecoration(textField, SWT.LEFT | SWT.TOP); decor.setImage(proposalDecoration.getImage()); decor.setDescriptionText(MessageFormat.format( "Content Assist is available. Press {0} or start typing to activate", assistKeyStroke.format())); decor.setShowHover(true); decor.setShowOnlyOnFocus(true); SvcInterfaceProposalProvider proposalProvider = new SvcInterfaceProposalProvider(searchContext); ContentProposalAdapter proposalAdapter = new ContentProposalAdapter(textField, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); proposalAdapter.addContentProposalListener(proposalProvider); proposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); proposalAdapter.setLabelProvider(new JavaContentProposalLabelProvider()); proposalAdapter.setAutoActivationDelay(1500); return dialogArea; }
From source file:bndtools.editor.contents.GeneralInfoPart.java
License:Open Source License
private void createSection(Section section, FormToolkit toolkit) { section.setText("Basic Information"); KeyStroke assistKeyStroke = null; try {/*from ww w .j a v a 2 s . com*/ assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } FieldDecoration contentAssistDecoration = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); Composite composite = toolkit.createComposite(section); section.setClient(composite); toolkit.createLabel(composite, "Version:"); txtVersion = toolkit.createText(composite, "", SWT.BORDER); ToolTips.setupMessageAndToolTipFromSyntax(txtVersion, Constants.BUNDLE_VERSION); Hyperlink linkActivator = toolkit.createHyperlink(composite, "Activator:", SWT.NONE); txtActivator = toolkit.createText(composite, "", SWT.BORDER); ToolTips.setupMessageAndToolTipFromSyntax(txtActivator, Constants.BUNDLE_ACTIVATOR); toolkit.createLabel(composite, "Declarative Services:"); cmbComponents = new Combo(composite, SWT.READ_ONLY); // Content Proposal for the Activator field ContentProposalAdapter activatorProposalAdapter = null; ActivatorClassProposalProvider proposalProvider = new ActivatorClassProposalProvider(); activatorProposalAdapter = new ContentProposalAdapter(txtActivator, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); activatorProposalAdapter.addContentProposalListener(proposalProvider); activatorProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); activatorProposalAdapter.setLabelProvider(new JavaContentProposalLabelProvider()); activatorProposalAdapter.setAutoActivationDelay(1000); // Decorator for the Activator field ControlDecoration decorActivator = new ControlDecoration(txtActivator, SWT.LEFT | SWT.CENTER, composite); decorActivator.setImage(contentAssistDecoration.getImage()); decorActivator.setMarginWidth(3); if (assistKeyStroke == null) { decorActivator.setDescriptionText("Content Assist is available. Start typing to activate"); } else { decorActivator.setDescriptionText( MessageFormat.format("Content Assist is available. Press {0} or start typing to activate", assistKeyStroke.format())); } decorActivator.setShowOnlyOnFocus(true); decorActivator.setShowHover(true); // Decorator for the Components combo ControlDecoration decorComponents = new ControlDecoration(cmbComponents, SWT.LEFT | SWT.CENTER, composite); decorComponents.setImage(FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION).getImage()); decorComponents.setMarginWidth(3); decorComponents.setDescriptionText("Use Java annotations to detect Declarative Service Components."); decorComponents.setShowOnlyOnFocus(false); decorComponents.setShowHover(true); // Listeners txtVersion.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { lock.ifNotModifying(new Runnable() { @Override public void run() { addDirtyProperty(Constants.BUNDLE_VERSION); } }); } }); cmbComponents.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { lock.ifNotModifying(new Runnable() { @Override public void run() { ComponentChoice old = componentChoice; int index = cmbComponents.getSelectionIndex(); if (index >= 0 && index < ComponentChoice.values().length) { componentChoice = ComponentChoice.values()[cmbComponents.getSelectionIndex()]; if (old != componentChoice) { addDirtyProperty(aQute.bnd.osgi.Constants.SERVICE_COMPONENT); addDirtyProperty(aQute.bnd.osgi.Constants.DSANNOTATIONS); if (old == null) { cmbComponents.remove(ComponentChoice.values().length); } } } } }); } }); txtActivator.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent ev) { lock.ifNotModifying(new Runnable() { @Override public void run() { addDirtyProperty(Constants.BUNDLE_ACTIVATOR); } }); } }); linkActivator.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent ev) { String activatorClassName = txtActivator.getText(); if (activatorClassName != null && activatorClassName.length() > 0) { try { IJavaProject javaProject = getJavaProject(); if (javaProject == null) return; IType activatorType = javaProject.findType(activatorClassName); if (activatorType != null) { JavaUI.openInEditor(activatorType, true, true); } } catch (PartInitException e) { ErrorDialog.openError(getManagedForm().getForm().getShell(), "Error", null, new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening an editor for activator class '{0}'.", activatorClassName), e)); } catch (JavaModelException e) { ErrorDialog.openError(getManagedForm().getForm().getShell(), "Error", null, new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format( "Error searching for activator class '{0}'.", activatorClassName), e)); } } } }); activatorProposalAdapter.addContentProposalListener(new IContentProposalListener() { @Override public void proposalAccepted(IContentProposal proposal) { if (proposal instanceof JavaContentProposal) { String selectedPackageName = ((JavaContentProposal) proposal).getPackageName(); if (!model.isIncludedPackage(selectedPackageName)) { model.addPrivatePackage(selectedPackageName); } } } }); // Layout GridLayout layout = new GridLayout(2, false); layout.horizontalSpacing = 15; composite.setLayout(layout); GridData gd = new GridData(SWT.FILL, SWT.TOP, true, false); txtVersion.setLayoutData(gd); txtActivator.setLayoutData(gd); cmbComponents.setLayoutData(gd); }
From source file:bndtools.editor.pkgpatterns.PkgPatternsDetailsPage.java
License:Open Source License
public void createContents(Composite parent) { FormToolkit toolkit = getManagedForm().getToolkit(); FieldDecoration assistDecor = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); KeyStroke assistKeyStroke = null; try {/*from w ww .java 2 s . co m*/ assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } Section mainSection = toolkit.createSection(parent, Section.TITLE_BAR); mainSection.setText(title); mainComposite = toolkit.createComposite(mainSection); mainSection.setClient(mainComposite); toolkit.createLabel(mainComposite, "Pattern:"); txtName = toolkit.createText(mainComposite, "", SWT.BORDER); ControlDecoration decPattern = new ControlDecoration(txtName, SWT.LEFT | SWT.TOP, mainComposite); decPattern.setImage(assistDecor.getImage()); decPattern.setDescriptionText(MessageFormat.format( "Content assist is available. Press {0} or start typing to activate", assistKeyStroke.format())); decPattern.setShowHover(true); decPattern.setShowOnlyOnFocus(true); PkgPatternsProposalProvider proposalProvider = new PkgPatternsProposalProvider( new FormPartJavaSearchContext(this)); ContentProposalAdapter patternProposalAdapter = new ContentProposalAdapter(txtName, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); patternProposalAdapter.addContentProposalListener(proposalProvider); patternProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE); patternProposalAdapter.setAutoActivationDelay(1000); patternProposalAdapter.setLabelProvider(new PkgPatternProposalLabelProvider()); patternProposalAdapter.addContentProposalListener(new IContentProposalListener() { public void proposalAccepted(IContentProposal proposal) { PkgPatternProposal patternProposal = (PkgPatternProposal) proposal; String toInsert = patternProposal.getContent(); int currentPos = txtName.getCaretPosition(); txtName.setSelection(patternProposal.getReplaceFromPos(), currentPos); txtName.insert(toInsert); txtName.setSelection(patternProposal.getCursorPosition()); } }); toolkit.createLabel(mainComposite, "Version:"); txtVersion = toolkit.createText(mainComposite, "", SWT.BORDER); /* * Section attribsSection = toolkit.createSection(parent, Section.TITLE_BAR | Section.TWISTIE); * attribsSection.setText("Extra Attributes"); Composite attribsComposite = * toolkit.createComposite(attribsSection); */ // Listeners txtName.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { if (!modifyLock.isUnderModification()) { if (selectedClauses.size() == 1) { selectedClauses.get(0).setName(txtName.getText()); if (listPart != null) { listPart.updateLabels(selectedClauses); listPart.validate(); } markDirty(); } } } }); txtVersion.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { if (!modifyLock.isUnderModification()) { String text = txtVersion.getText(); if (text.length() == 0) text = null; for (HeaderClause clause : selectedClauses) { clause.getAttribs().put(Constants.VERSION_ATTRIBUTE, text); } if (listPart != null) { listPart.updateLabels(selectedClauses); listPart.validate(); } markDirty(); } } }); // Layout GridData gd; parent.setLayout(new GridLayout()); mainSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); mainComposite.setLayout(new GridLayout(2, false)); gd = new GridData(SWT.FILL, SWT.TOP, true, false); gd.horizontalIndent = 5; gd.widthHint = 100; txtName.setLayoutData(gd); gd = new GridData(SWT.FILL, SWT.TOP, true, false); gd.horizontalIndent = 5; gd.widthHint = 100; txtVersion.setLayoutData(gd); }
From source file:de.ovgu.featureide.fm.ui.editors.ConstraintDialog.java
License:Open Source License
/** * initializes the Text containing the constraint *//* w w w . ja v a 2s. com*/ private void initConstraintText() { constraintTextComposite = new Composite(shell, SWT.NONE); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); constraintTextComposite.setLayoutData(gridData); FormLayout constraintTextLayout = new FormLayout(); constraintTextComposite.setLayout(constraintTextLayout); constraintText = new Text(constraintTextComposite, SWT.SINGLE | SWT.BORDER); ContentProposalAdapter adapter = new ContentProposalAdapter(constraintText, new ConstraintContentAdapter(), new ConstraintContentProposalProvider(featureModel.getFeatureNames()), null, null); adapter.setAutoActivationDelay(500); adapter.setPopupSize(new Point(250, 85)); adapter.setLabelProvider(new ConstraintProposalLabelProvider()); FormData formDataConstraintText = new FormData(); formDataConstraintText.right = new FormAttachment(100, -5); formDataConstraintText.left = new FormAttachment(0, 5); constraintText.setLayoutData(formDataConstraintText); constraintText.setText(initialConstraint); constraintText.addListener(SWT.FocusOut, new Listener() { @Override public void handleEvent(Event event) { x = constraintText.getSelection().x; y = constraintText.getSelection().y; } }); constraintText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { validate(); } }); }
From source file:dynamicrefactoring.interfaz.wizard.RefactoringWizardUtils.java
License:Open Source License
/** * Aade un gestor de sugerencias al campo de texto * que ofrece como sugerencias las pasadas en el parametro * proposals./* ww w .java 2 s . c o m*/ * * @param textField campo de texto * @param proposals sugerencias a realizar */ public static void addContentProposalToTextField(Text textField, java.util.List<String> proposals) { SimpleContentProposalProvider proposalsProvider = new SimpleContentProposalProvider( proposals.toArray(new String[proposals.size()])); proposalsProvider.setFiltering(true); ContentProposalAdapter adapter; try { adapter = new ContentProposalAdapter(textField, new TextContentAdapter(), proposalsProvider, KeyStroke.getInstance("Ctrl+Space"), null); adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); adapter.setLabelProvider(new LabelProvider() { @Override public Image getImage(Object element) { return RefactoringImages.getEclipseClassIcon(); } @Override public String getText(Object element) { return ((IContentProposal) element).getContent(); } }); } catch (org.eclipse.jface.bindings.keys.ParseException e2) { throw Throwables.propagate(e2); } }
From source file:eu.numberfour.n4js.ui.wizard.workspace.WorkspaceWizardPage.java
License:Open Source License
private void setupContentProposal(WorkspaceWizardPageForm wizardForm) { // Get the active binding's content assist key strokes KeyStroke keyInitiator = getActiveContentAssistBinding(); // If unbound don't configure the content proposal if (null == keyInitiator) { return;//from ww w.j a va 2 s.co m } // Setup project content proposal ContentProposalAdapter projectAdapter = new ContentProposalAdapter(wizardForm.getProjectText(), new TextContentAdapter(), projectContentProposalProvider, keyInitiator, null); projectAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); ImageDescriptor projectSymbol = PlatformUI.getWorkbench().getSharedImages() .getImageDescriptor(IDE.SharedImages.IMG_OBJ_PROJECT); projectAdapter.setLabelProvider(new SimpleImageContentProposalLabelProvider(projectSymbol)); createContentProposalDecoration(wizardForm.getProjectText()); sourceFolderContentProposalAdapter = new ContentProposalAdapter(wizardForm.getSourceFolderText(), new TextContentAdapter(), null, keyInitiator, null); sourceFolderContentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); sourceFolderContentProposalAdapter.setLabelProvider(new SimpleImageContentProposalLabelProvider( ImageDescriptorCache.ImageRef.SRC_FOLDER.asImageDescriptor().orNull())); createContentProposalDecoration(wizardForm.getSourceFolderText()); moduleSpecifierContentProposalAdapter = new ContentProposalAdapter( wizardForm.getModuleSpecifierText().getInternalText(), new TextContentAdapter(), null, keyInitiator, null); wizardForm.getModuleSpecifierText().createDecoration(contentProposalDecorationImage); // Update proposal context whenever the model changes model.addPropertyChangeListener(evt -> { if (evt.getPropertyName() == WorkspaceWizardModel.PROJECT_PROPERTY || evt.getPropertyName() == WorkspaceWizardModel.SOURCE_FOLDER_PROPERTY) { updateProposalContext(); } }); updateProposalContext(); moduleSpecifierContentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); moduleSpecifierContentProposalAdapter.setLabelProvider(new ModuleSpecifierProposalLabelProvider()); }
From source file:gda.rcp.views.AutoCompleter.java
License:Open Source License
private void setupContentPropoasalAdapter(ContentProposalAdapter cpa) { boolean propagate = true; int autoActivationDelay = 0; cpa.setInfoPopupRequired(false);/*from w w w .j av a 2 s.c o m*/ cpa.addContentProposalListener(contentProposalListener); cpa.setLabelProvider(prv); cpa.setAutoActivationDelay(autoActivationDelay); cpa.setPropagateKeys(propagate); cpa.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE); }
From source file:net.enilink.komma.edit.ui.util.SearchWidget.java
License:Open Source License
/** * Creates the search text and adds listeners. This method calls * {@link #doCreateSearchText(Composite)} to create the text control. * Subclasses should override {@link #doCreateSearchText(Composite)} instead * of overriding this method./*from ww w . j a va 2 s.co m*/ * * @param parent * <code>Composite</code> of the search text */ protected void createSearchText(Composite parent) { searchText = doCreateSearchText(parent); searchText.addFocusListener(new FocusAdapter() { /* * (non-Javadoc) * * @see * org.eclipse.swt.events.FocusListener#focusLost(org.eclipse.swt * .events.FocusEvent) */ public void focusGained(FocusEvent e) { /* * Running in an asyncExec because the selectAll() does not * appear to work when using mouse to give focus to text. */ Display display = searchText.getDisplay(); display.asyncExec(new Runnable() { public void run() { if (!searchText.isDisposed()) { if (getInitialText().equals(searchText.getText().trim())) { searchText.selectAll(); } } } }); } }); searchText.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { doSearch(searchText.getText()); } }); searchText.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); // content proposals for searching class ObjectProposal extends ContentProposal { Object object; ObjectProposal(Object object) { super(""); this.object = object; } } ContentProposalAdapter proposalAdapter = new ContentProposalAdapter(searchText, new TextContentAdapter(), new IContentProposalProvider() { @Override public IContentProposal[] getProposals(String contents, int position) { Collection<Object> results = findElements(contents); List<IContentProposal> proposals = new ArrayList<IContentProposal>(); for (Object result : results) { proposals.add(new ObjectProposal(result)); } return proposals.toArray(new IContentProposal[proposals.size()]); } }, null, null); proposalAdapter.setAutoActivationDelay(750); proposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE); proposalAdapter.addContentProposalListener(new IContentProposalListener() { @Override public void proposalAccepted(IContentProposal proposal) { viewer.setSelection(new StructuredSelection(((ObjectProposal) proposal).object), true); } }); proposalAdapter.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { ILabelProvider labelProvider = getLabelProvider(); return labelProvider != null ? labelProvider.getText(((ObjectProposal) element).object) : super.getText(element); } @Override public Image getImage(Object element) { ILabelProvider labelProvider = getLabelProvider(); return labelProvider != null ? labelProvider.getImage(((ObjectProposal) element).object) : super.getImage(element); } }); }