Example usage for org.eclipse.jface.fieldassist ContentProposalAdapter PROPOSAL_IGNORE

List of usage examples for org.eclipse.jface.fieldassist ContentProposalAdapter PROPOSAL_IGNORE

Introduction

In this page you can find the example usage for org.eclipse.jface.fieldassist ContentProposalAdapter PROPOSAL_IGNORE.

Prototype

int PROPOSAL_IGNORE

To view the source code for org.eclipse.jface.fieldassist ContentProposalAdapter PROPOSAL_IGNORE.

Click Source Link

Document

Indicates that the contents of the control should not be modified when a proposal is chosen.

Usage

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   ww  w  .j  a  v  a 2 s.com*/
        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:com.rcpcompany.uibindings.internal.handlers.QuickFixHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    // LogUtils.debug(this, "hello");
    if (Activator.getDefault().TRACE_HANDLERS) {
        LogUtils.debug(this, "");
    }//from   w ww  .  ja  v a  2  s  .  c  o m
    final IValueBinding binding = (IValueBinding) HandlerUtil.getVariable(event,
            Constants.SOURCES_ACTIVE_BINDING);
    if (binding == null) {
        Display.getDefault().beep();
        throw new ExecutionException("Quickfixes not supported for control");
    }

    final ValueBindingMessageImageDecorator decorator = binding
            .getService(ValueBindingMessageImageDecorator.class);
    if (decorator == null) {
        Display.getDefault().beep();
        throw new ExecutionException("Quickfixes not supported for control");
    }

    final List<IQuickfixProposal> quickfixes = decorator.getQuickfixes();

    if (quickfixes == null || quickfixes.size() == 0)
        return null;

    if (quickfixes.size() == 1 && IManager.Factory.getManager().isAutoApplySingleQuickfix()) {
        quickfixes.get(0).apply();
        return null;
    }
    final IQuickfixProposal[] quickfixArray = quickfixes.toArray(new IQuickfixProposal[quickfixes.size()]);

    final IContentProposalProvider proposalProvider = new IContentProposalProvider() {
        @Override
        public IContentProposal[] getProposals(String contents, int position) {
            return quickfixArray;
        }
    };
    final MyContentProposalAdapter proposalAdapter = new MyContentProposalAdapter(binding.getControl(),
            new MyControlContentAdapter(), proposalProvider);
    proposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE);
    proposalAdapter.addContentProposalListener(new IContentProposalListener() {
        @Override
        public void proposalAccepted(IContentProposal proposal) {
            Assert.isNotNull(proposal);
            final IQuickfixProposal quickfix = (IQuickfixProposal) proposal;
            quickfix.apply();
        }
    });
    proposalAdapter.setLabelProvider(new MyQuickfixLabelProvider());
    proposalAdapter.open();

    return null;
}

From source file:com.rcpcompany.uibindings.internal.utils.BindingMessagesPopup.java

License:Open Source License

/**
 * Constructs and returns a new message popup.
 * /*from  w  ww  .  jav a2s  .  c  o m*/
 * @param control the control that should have the popup assiciated.
 * @param messages the messages to show
 */
public BindingMessagesPopup(Control control) {
    super(control, new MyControlContentAdapter(), null, null, null);
    setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE);
    addContentProposalListener(new IContentProposalListener() {
        @Override
        public void proposalAccepted(IContentProposal proposal) {
            Assert.isNotNull(proposal);
            final IBindingMessage message = ((MyContentProposal) proposal).getMessage();

            message.getBinding().setFocus();
        }
    });
    setLabelProvider(new MyQuickfixLabelProvider());
}

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  w  w  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);
        }
    });
}

From source file:net.sf.wickedshell.ui.shell.viewer.text.TextShellViewer.java

License:Open Source License

/**
 * Initializes the field assist which provides command completion.
 *///from  w  ww.ja v a 2 s. co  m
private void initFieldAssist() {
    KeyStroke keyStroke = KeyStroke.getInstance(SWT.CTRL, ' ');
    adapter = new ContentProposalAdapter(shellDisplayControl, new TextContentAdapter(),
            new ShellContentProposalProvider(this), keyStroke, new char[] { SWT.TAB });
    adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE);
    adapter.addContentProposalListener(new IContentProposalListener() {
        /**
         * @see org.eclipse.jface.fieldassist.IContentProposalListener#proposalAccepted(org.eclipse.jface.fieldassist.IContentProposal)
         */
        public void proposalAccepted(IContentProposal proposal) {
            setCurrentCommand(proposal.getContent());
        }
    });
    adapter.setLabelProvider(new LabelProvider() {

        /**
         * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            Completion completion = (Completion) element;
            return completion.getLabel();
        }

        /**
         * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
         */
        public Image getImage(Object element) {
            Completion completion = (Completion) element;
            if (completion.getImagePath() != null && completion.getImagePath().length() > 1) {
                return ResourceManager.getPluginImage(ShellPlugin.getDefault(), completion.getImagePath());
            }
            return ResourceManager.getPluginImage(ShellPlugin.getDefault(), "img/staticCompletion.gif");
        }
    });
}

From source file:org.dawnsci.common.widgets.celleditor.ExpresionCellEditor.java

License:Open Source License

private void enableContentProposal(IContentProposalProvider contentProposalProvider, KeyStroke keyStroke,
        char[] autoActivationCharacters) {
    contentProposalAdapter = new ContentProposalAdapter(text, new TextContentAdapter(), contentProposalProvider,
            keyStroke, autoActivationCharacters);

    contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE);

    // Listen for popup open/close events to be able to handle focus events correctly
    contentProposalAdapter.addContentProposalListener(new IContentProposalListener2() {

        public void proposalPopupClosed(ContentProposalAdapter adapter) {
            popupOpen = false;/*from  w  ww  .j a  v a  2s  . c  om*/
        }

        public void proposalPopupOpened(ContentProposalAdapter adapter) {
            popupOpen = true;
        }
    });

    contentProposalAdapter.addContentProposalListener(new IContentProposalListener() {

        @Override
        public void proposalAccepted(IContentProposal proposal) {
            IContentProposalProvider provider = contentProposalAdapter.getContentProposalProvider();

            Control control = ExpresionCellEditor.this.getControl();

            if (provider != null && provider instanceof ExpressionFunctionProposalProvider) {

                int[] lastMatchBounds = ((ExpressionFunctionProposalProvider) provider).getLastMatchBounds();
                int lastPosition = ((ExpressionFunctionProposalProvider) provider).getLastPosition();
                IControlContentAdapter contentAdapter = contentProposalAdapter.getControlContentAdapter();
                String text = contentAdapter.getControlContents(control);

                if (text.isEmpty()) {
                    contentAdapter.setControlContents(control, proposal.getContent(),
                            proposal.getContent().length());
                    return;
                }

                if (lastPosition > lastMatchBounds[1]) {
                    StringBuilder builder = new StringBuilder();
                    builder.append(text.substring(0, lastPosition));
                    builder.append(proposal.getContent());
                    contentAdapter.setControlContents(control, builder.toString(),
                            lastPosition + proposal.getContent().length());
                    return;
                }

                String match = text.substring(lastMatchBounds[0], lastMatchBounds[1]);

                if (match.contains(":")) {
                    int index = match.lastIndexOf(":");
                    StringBuilder builder = new StringBuilder();
                    builder.append(text.substring(0, lastMatchBounds[0] + index + 1));
                    builder.append(proposal.getContent());
                    builder.append(text.substring(lastMatchBounds[1]));
                    contentAdapter.setControlContents(control, builder.toString(),
                            lastMatchBounds[0] + index + proposal.getContent().length() + 1);
                } else {
                    StringBuilder builder = new StringBuilder();
                    builder.append(text.substring(0, lastMatchBounds[0]));
                    builder.append(proposal.getContent());
                    builder.append(text.substring(lastMatchBounds[1]));
                    contentAdapter.setControlContents(control, builder.toString(),
                            lastMatchBounds[0] + proposal.getContent().length());
                }
            }
        }
    });
}

From source file:org.dawnsci.common.widgets.celleditor.TextCellEditorWithContentProposal.java

License:Open Source License

private void enableContentProposal(IContentProposalProvider contentProposalProvider, KeyStroke keyStroke,
        char[] autoActivationCharacters) {

    contentProposalAdapter = new OpenableContentAssistCommandAdapter(text, new TextContentAdapter(),
            contentProposalProvider, null, null, true);
    contentProposalAdapter.setAutoActivationDelay(0);

    contentProposalAdapter.setLabelProvider(labelProvider);
    contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE);
    // Listen for popup open/close events to be able to handle focus
    // events correctly
    contentProposalAdapter.addContentProposalListener(new IContentProposalListener2() {

        @Override/*from   w w w . ja va 2 s .  c  o m*/
        public void proposalPopupClosed(ContentProposalAdapter adapter) {
            popupOpen = false;
        }

        @Override
        public void proposalPopupOpened(ContentProposalAdapter adapter) {
            popupOpen = true;
        }
    });

    if (contentProposalListener != null) {
        registerListener(contentProposalListener);
    }

}

From source file:org.dawnsci.common.widgets.gda.function.detail.JexlExpressionFunctionDetailPane.java

License:Open Source License

@Override
public Control createControl(Composite parent) {
    Composite composite = new Composite(parent, 0);
    GridLayoutFactory.fillDefaults().numColumns(2).applyTo(composite);

    Label fxy = new Label(composite, SWT.NONE);
    fxy.setText("f(x)=");
    FontData fontData = fxy.getFont().getFontData()[0];
    fxyFont = new Font(fxy.getDisplay(),
            new FontData(fontData.getName(), fontData.getHeight() * 3 / 2, SWT.ITALIC));
    fxy.setFont(fxyFont);//from w w w . j  a v  a 2  s .  c  om

    jexlTextEditor = new Text(composite, SWT.V_SCROLL | SWT.WRAP);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(jexlTextEditor);

    modifyListener = new ModifyListenerImplementation();
    jexlTextEditor.setFont(JFaceResources.getTextFont());
    jexlTextEditor.setText("");
    jexlTextEditor.addModifyListener(modifyListener);
    focusListener = new FocusAdapterExtension();
    jexlTextEditor.addFocusListener(focusListener);

    proposalProvider = new ExpressionFunctionProposalProvider(Collections.<String, Object>emptyMap());
    contentProposalAdapter = new OpenableContentAssistCommandAdapter(jexlTextEditor, new TextContentAdapter(),
            proposalProvider, null, null, true);
    contentProposalAdapter.setLabelProvider(new ContentProposalLabelProvider());
    contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE);
    contentProposalAdapter.addContentProposalListener(new JexlContentProposalListener(jexlTextEditor));

    return composite;
}

From source file:org.eclipse.birt.chart.ui.swt.fieldassist.FieldAssistHelper.java

License:Open Source License

private int getContentAssistAcceptance() {
    IPreferenceStore store = getPreferenceStore();
    String acceptanceStyle = store.getString(PreferenceConstants.PREF_CONTENTASSISTRESULT);
    if (acceptanceStyle.equals(PreferenceConstants.PREF_CONTENTASSISTRESULT_INSERT))
        return ContentProposalAdapter.PROPOSAL_INSERT;
    if (acceptanceStyle.equals(PreferenceConstants.PREF_CONTENTASSISTRESULT_REPLACE))
        return ContentProposalAdapter.PROPOSAL_REPLACE;
    return ContentProposalAdapter.PROPOSAL_IGNORE;
}

From source file:org.eclipse.mylyn.internal.web.tasks.WebContentProposalProvider.java

License:Open Source License

@SuppressWarnings("deprecation")
public static ControlDecoration createDecoration(final Text text, //
        ParametersEditor parametersEditor, boolean includeTemplates) {
    FieldDecorationRegistry registry = FieldDecorationRegistry.getDefault();
    FieldDecoration fieldDecoration = registry.getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);

    ControlDecoration decoration = new ControlDecoration(text, SWT.LEFT | SWT.TOP);
    decoration.setImage(fieldDecoration.getImage());
    decoration.setDescriptionText(fieldDecoration.getDescription());
    decoration.setShowOnlyOnFocus(true);

    KeyStroke keystroke = null;/* ww  w  . j av  a  2s  .  c  o  m*/
    try {
        keystroke = KeyStroke.getInstance("Ctrl" + KeyStroke.KEY_DELIMITER + "Space"); //$NON-NLS-1$ //$NON-NLS-2$
    } catch (ParseException e) {
    }

    ContentProposalAdapter adapter = new ContentProposalAdapter(text, new TextContentAdapter(), //
            new WebContentProposalProvider(parametersEditor, includeTemplates), keystroke, null);
    adapter.setPopupSize(new Point(200, 150));
    adapter.setPropagateKeys(true);
    adapter.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);

    // workaround for bug 196565
    WebContentProposalListener listener = new WebContentProposalListener(adapter);
    adapter.addContentProposalListener((IContentProposalListener) listener);
    adapter.addContentProposalListener((IContentProposalListener2) listener);
    adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE);

    return decoration;
}