List of usage examples for org.eclipse.jface.fieldassist ContentProposalAdapter setPopupSize
public void setPopupSize(Point size)
From source file:de.ovgu.featureide.fm.ui.editors.ConstraintDialog.java
License:Open Source License
/** * initializes the Text containing the constraint */// w w w .j a va 2 s . c o m 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:it.unibz.instasearch.ui.SearchViewControl.java
License:Open Source License
public void setContentProposalAdapter(SearchContentProposalProvider provider) { this.proposalProvider = provider; KeyStroke keyStroke = null;// w ww. jav a 2s . c om try { keyStroke = KeyStroke.getInstance(PROPOSAL_KEYSTROKE); } catch (Exception e) { InstaSearchPlugin.log(e); } char[] autoActivationCharacters = new char[] { ':', ',' }; ContentProposalAdapter adapter = new SearchContentProposalAdapter(searchText, new StyledTextContentAdapter(), provider, keyStroke, autoActivationCharacters); adapter.setPopupSize(new Point(300, 150)); adapter.setPropagateKeys(true); adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); }
From source file:net.enilink.komma.sparql.ui.views.SparqlPart.java
License:Open Source License
@Override public void createContents(Composite parent) { this.parent = parent; parent.setLayout(new FillLayout()); Section section = getWidgetFactory().createSection(parent, Section.TITLE_BAR | Section.EXPANDED); section.setText("SPARQL"); //$NON-NLS-1$ getWidgetFactory().createCompositeSeparator(section); Composite client = getWidgetFactory().createComposite(section); getWidgetFactory().paintBordersFor(client); section.setClient(client);//from w w w .ja va 2s . c o m client.setLayout(new FillLayout()); SashForm sash = new SashForm(client, SWT.VERTICAL); Composite queryComposite = getWidgetFactory().createComposite(sash); queryComposite.setLayout(new GridLayout(2, false)); // Selection-Field for namespaces final CCombo combo = getWidgetFactory().createCCombo(queryComposite); GridData gridData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); combo.setLayoutData(gridData); final CComboViewer comboViewer = new CComboViewer(combo); comboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((Pair<?, ?>) element).getFirst() + ": <" + ((Pair<?, ?>) element).getSecond() + ">"; } }); combo.addFocusListener(new FocusListener() { @Override public void focusLost(FocusEvent e) { } @Override public void focusGained(FocusEvent e) { combo.removeAll(); for (INamespace namespace : getContextNamespaces()) { comboViewer.add(new Pair<String, String>(namespace.getPrefix(), namespace.getURI().toString())); } } }); Hyperlink addPrefixLink = getWidgetFactory().createHyperlink(queryComposite, "Add", SWT.NONE); addPrefixLink.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e) { Pair<?, ?> prefix = (Pair<?, ?>) ((IStructuredSelection) comboViewer.getSelection()) .getFirstElement(); if (prefix != null) { queryText.setText(("PREFIX " + prefix.getFirst() + ": <" + prefix.getSecond() + ">\r\n" + queryText.getText()).replace("\r\n", "\n")); } } }); queryText = getWidgetFactory().createText(queryComposite, "", SWT.MULTI | SWT.V_SCROLL); gridData = new GridData(SWT.FILL, SWT.FILL, true, true); queryText.setLayoutData(gridData); queryText.append("select ?p ?o\nwhere {\n\t?selected ?p ?o\n}\n"); MenuManager menuManager = new MenuManager(); menuManager.add(new Action("Format") { @Override public void run() { try { queryText.setText(new SparqlBuilder(queryText.getText()).toString()); } catch (Exception e) { // ignore } } }); queryText.setMenu(menuManager.createContextMenu(queryText)); ContentProposalAdapter proposalAdapter = ContentProposals .enableContentProposal(queryText, JFaceProposalProvider.wrap(new ParboiledProposalProvider( Parboiled.createParser(Sparql11Parser.class).Query(), new SparqlProposals())), null); proposalAdapter.setAutoActivationDelay(1000); proposalAdapter.setPopupSize(new Point(200, 120)); Button button = getWidgetFactory().createButton(queryComposite, "Run", SWT.PUSH); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String sparql = queryText.getText(); loadResultData(sparql); } }); button.setLayoutData(new GridData(SWT.NONE, SWT.BOTTOM, false, false)); Composite resultsComposite = getWidgetFactory().createComposite(sash); resultsComposite.setLayout(new FillLayout()); resultArea = new ResultArea(resultsComposite); sash.setWeights(new int[] { 40, 60 }); }
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;/*from www.j a v a 2s.c om*/ 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; }
From source file:org.eclipse.sirius.diagram.editor.properties.sections.description.diagramdescription.DiagramDescriptionPreconditionExpressionPropertySection.java
License:Open Source License
/** * {@inheritDoc}// w w w . ja va 2 s. c om */ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { super.createControls(parent, tabbedPropertySheetPage); /* * We set the color as it's a InterpretedExpression */ text.setBackground(SiriusEditor.getColorRegistry().get("yellow")); text.setToolTipText(getToolTipText()); help = getWidgetFactory().createCLabel(composite, ""); FormData data = new FormData(); data.top = new FormAttachment(text, 0, SWT.TOP); data.left = new FormAttachment(nameLabel); help.setLayoutData(data); help.setFont(SiriusEditor.getFontRegistry().get("description")); help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); if (!(extension.size() == 0)) { IAssistContentProvider contentProposalAdapter = extension.get(0); contentProposalAdapter.setView(this); IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench() .getService(IBindingService.class); // gives // the // user // content // assist // binding TriggerSequence[] activeBindinds = bindingService .getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); if (activeBindinds != null && activeBindinds.length > 0) { TriggerSequence sequence = activeBindinds[0]; KeyStroke keyStroke = getKeyStroke(sequence); TextContentAdapter textContentAdapter = new TextContentAdapter(); ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); adapter.setPopupSize(new Point(300, 100)); // set content // proposal popup // size adapter.addContentProposalListener(contentProposalAdapter); // close // popup } } // Start of user code create controls // End of user code create controls }
From source file:org.eclipse.sirius.diagram.editor.properties.sections.description.edgemapping.EdgeMappingTargetFinderExpressionPropertySection.java
License:Open Source License
/** * {@inheritDoc}/*from www . j a v a 2s. c o m*/ */ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { super.createControls(parent, tabbedPropertySheetPage); /* * We set the color as it's a InterpretedExpression */ text.setBackground(SiriusEditor.getColorRegistry().get("yellow")); text.setToolTipText(getToolTipText()); help = getWidgetFactory().createCLabel(composite, ""); FormData data = new FormData(); data.top = new FormAttachment(text, 0, SWT.TOP); data.left = new FormAttachment(nameLabel); help.setLayoutData(data); help.setFont(SiriusEditor.getFontRegistry().get("description")); help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); if (!(extension.size() == 0)) { IAssistContentProvider contentProposalAdapter = extension.get(0); contentProposalAdapter.setView(this); IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench() .getService(IBindingService.class); // gives // the // user // content // assist // binding TriggerSequence[] activeBindinds = bindingService .getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); if (activeBindinds != null && activeBindinds.length > 0) { TriggerSequence sequence = activeBindinds[0]; KeyStroke keyStroke = getKeyStroke(sequence); TextContentAdapter textContentAdapter = new TextContentAdapter(); ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); adapter.setPopupSize(new Point(300, 100)); // set content // proposal popup // size adapter.addContentProposalListener(contentProposalAdapter); // close // popup } } // Start of user code create controls // End of user code create controls }
From source file:org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider.java
License:Open Source License
/** * Bind the completion processors available in plugins to a given text * element.//from ww w . j a v a 2 s . c o m * * @param section * the property section where the text element come from. * @param text * text to bind a completion processors to. */ public static void bindPluginsCompletionProcessors(final AbstractPropertySection section, final Text text) { List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); if (!(extension.size() == 0)) { IAssistContentProvider contentProposalAdapter = extension.get(0); contentProposalAdapter.setView(section); IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench() .getService(IBindingService.class); // gives // the // user // content // assist // binding TriggerSequence[] activeBindinds = bindingService .getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); if (activeBindinds != null && activeBindinds.length > 0) { TriggerSequence sequence = activeBindinds[0]; KeyStroke keyStroke = getKeyStroke(sequence); TextContentAdapter textContentAdapter = new TextContentAdapter(); ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); adapter.setPopupSize(new Point(300, 100)); // set content // proposal popup // size adapter.addContentProposalListener(contentProposalAdapter); // close // popup } } }
From source file:org.elbe.relations.internal.forms.AbstractDBSettingsForm.java
License:Open Source License
protected DecoratedTextField createHostField(final Composite inParent, final int inColumns, final int inIndent) { final Text lHostField = createLabeText(inParent, inColumns, RelationsMessages.getString("FormDBConnection.lbl.host"), SWT.BORDER | SWT.SINGLE); //$NON-NLS-1$ ((GridData) lHostField.getLayoutData()).horizontalIndent = inIndent; dbDirtySettings.register(lHostField); final DecoratedTextField outDecorated = createDecoratedTextField(lHostField, RelationsMessages.getString("FormDBConnection.decoration.host")); //$NON-NLS-1$ lHostField.addFocusListener(new FormFocusListener(hostEmpty, outDecorated)); lHostField.addModifyListener(new FormModifyListener(outDecorated)); // add content proposal to field proposing "localhost" as possible value KeyStroke lKeyStroke = null;// w ww . jav a 2s .c o m try { lKeyStroke = KeyStroke.getInstance("Ctrl+Space"); //$NON-NLS-1$ } catch (final ParseException exc) { // } final ContentProposalAdapter lAdapter = new ContentProposalAdapter(lHostField, new TextContentAdapter(), new SimpleContentProposalProvider( new String[] { RelationsMessages.getString("FormDBConnection.proposal.localhost") }), //$NON-NLS-1$ lKeyStroke, new char[] { 'l', 'L' }); lAdapter.setPopupSize(new Point(120, 32)); lAdapter.setPropagateKeys(true); lAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); statusManager.initialize(lHostField); return outDecorated; }
From source file:org.jkiss.dbeaver.ui.controls.resultset.ResultSetFilterPanel.java
License:Open Source License
public ResultSetFilterPanel(ResultSetViewer rsv) { super(rsv.getControl(), SWT.NONE); this.viewer = rsv; this.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); sizingGC = new GC(this); GridLayout gl = new GridLayout(4, false); gl.marginHeight = 3;//from w ww. j a va 2 s .c o m gl.marginWidth = 3; this.setLayout(gl); hoverBgColor = getDisplay().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW); shadowColor = getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW); hintFont = UIUtils.modifyFont(getFont(), SWT.ITALIC); { this.filterComposite = new Composite(this, SWT.BORDER); gl = new GridLayout(4, false); gl.marginHeight = 0; gl.marginWidth = 0; gl.horizontalSpacing = 0; gl.verticalSpacing = 0; filterComposite.setLayout(gl); filterComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); activeObjectPanel = new ActiveObjectPanel(filterComposite); this.filtersText = new StyledText(filterComposite, SWT.SINGLE); this.filtersText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); UIUtils.fillDefaultStyledTextContextMenu(filtersText); this.historyPanel = new HistoryPanel(filterComposite); this.refreshPanel = new RefreshPanel(filterComposite); // Register filters text in focus service UIUtils.addFocusTracker(viewer.getSite(), UIUtils.INLINE_WIDGET_EDITOR_ID, this.filtersText); this.filtersText.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { // Unregister from focus service UIUtils.removeFocusTracker(viewer.getSite(), filtersText); } }); this.filtersText.addPaintListener(new PaintListener() { @Override public void paintControl(PaintEvent e) { final boolean supportsDataFilter = viewer.supportsDataFilter(); if (!supportsDataFilter || (filtersText.isEnabled() && filtersText.getCharCount() == 0)) { e.gc.setForeground(shadowColor); e.gc.setFont(hintFont); e.gc.drawText(supportsDataFilter ? "Enter a SQL expression to filter results" : "Data filter is not supported", 2, 0); e.gc.setFont(null); } } }); this.filtersText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { if (filtersEnableState == null) { String filterText = filtersText.getText(); filtersApplyButton.setEnabled(true); filtersClearButton.setEnabled(!CommonUtils.isEmpty(filterText)); } } }); this.filtersText.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_DOWN) { historyPanel.showFilterHistoryPopup(); } } }); try { KeyStroke keyStroke = KeyStroke.getInstance("Ctrl+Space"); final ContentProposalAdapter proposalAdapter = new ContentProposalAdapter(filtersText, new FilterContentAdapter(), this, keyStroke, new char[] { '.', '(' }); proposalAdapter.setPopupSize(new Point(300, 200)); } catch (ParseException e) { log.error("Error installing filters content assistant"); } /* this.filtersText.addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent e) { } @Override public void focusLost(FocusEvent e) { } }); */ } // Handle all shortcuts by filters editor, not by host editor UIUtils.enableHostEditorKeyBindingsSupport(viewer.getSite(), this.filtersText); { ToolBar filterToolbar = new ToolBar(this, SWT.HORIZONTAL | SWT.RIGHT); filtersApplyButton = new ToolItem(filterToolbar, SWT.PUSH | SWT.NO_FOCUS); filtersApplyButton.setImage(DBeaverIcons.getImage(UIIcon.FILTER_APPLY)); //filtersApplyButton.setText("Apply"); filtersApplyButton.setToolTipText("Apply filter criteria"); filtersApplyButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { setCustomDataFilter(); } }); filtersApplyButton.setEnabled(false); filtersClearButton = new ToolItem(filterToolbar, SWT.PUSH | SWT.NO_FOCUS); filtersClearButton.setImage(DBeaverIcons.getImage(UIIcon.FILTER_RESET)); filtersClearButton.setToolTipText("Remove all filters"); filtersClearButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { viewer.resetDataFilter(true); } }); filtersClearButton.setEnabled(false); ToolItem filtersCustomButton = new ToolItem(filterToolbar, SWT.PUSH | SWT.NO_FOCUS); filtersCustomButton.setImage(DBeaverIcons.getImage(UIIcon.FILTER)); filtersCustomButton.setToolTipText("Custom Filters"); filtersCustomButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { new FilterSettingsDialog(viewer).open(); } }); filtersCustomButton.setEnabled(true); UIUtils.createToolBarSeparator(filterToolbar, SWT.VERTICAL); historyBackButton = new ToolItem(filterToolbar, SWT.DROP_DOWN | SWT.NO_FOCUS); historyBackButton.setImage(DBeaverIcons.getImage(UIIcon.RS_BACK)); historyBackButton.setEnabled(false); historyBackButton.addSelectionListener(new HistoryMenuListener(historyBackButton, true)); historyForwardButton = new ToolItem(filterToolbar, SWT.DROP_DOWN | SWT.NO_FOCUS); historyForwardButton.setImage(DBeaverIcons.getImage(UIIcon.RS_FORWARD)); historyForwardButton.setEnabled(false); historyForwardButton.addSelectionListener(new HistoryMenuListener(historyForwardButton, false)); } this.addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN) { setCustomDataFilter(); e.doit = false; e.detail = SWT.TRAVERSE_NONE; } } }); this.addControlListener(new ControlListener() { @Override public void controlMoved(ControlEvent e) { redrawPanels(); } @Override public void controlResized(ControlEvent e) { redrawPanels(); } }); filtersEnableState = ControlEnableState.disable(this); this.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { UIUtils.dispose(sizingGC); UIUtils.dispose(hintFont); } }); }
From source file:org.locationtech.udig.ui.filter.CQLExpressionViewer.java
License:Open Source License
/** * Creates an FilterViewer using the provided style. * <ul>/*ww w. j a v a 2 s .c o m*/ * <li>SWT.SINGLE - A simple text field showing the expression using extended CQL notation * <li> * <li>SWT.MULTI - A multi line text field</li> * <li>SWT.READ_ONLY - read only display of a filter</li> * </ul> * * @param parent * @param style */ public CQLExpressionViewer(Composite parent, int style) { boolean isReadOnly = (style & SWT.READ_ONLY) != 0; if ((style & SWT.SINGLE) != 0) { int textStyle = SWT.SINGLE | SWT.BORDER; if (isReadOnly) { textStyle |= SWT.READ_ONLY; } text = new Text(parent, textStyle); setPreferredTextSize(30, 1); } else if ((style & SWT.MULTI) != 0) { int textStyle = SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL; if (isReadOnly) { textStyle |= SWT.READ_ONLY; } text = new Text(parent, textStyle); setPreferredTextSize(60, 3); } else { // SWT.DEFAULT for example text = new Text(parent, SWT.SINGLE | SWT.BORDER); setPreferredTextSize(30, 1); } text.setEditable(!isReadOnly); proposalProvider = new FunctionContentProposalProvider(false); TextContentAdapter contentAdapter = new TextContentAdapter(); ContentProposalAdapter adapter = new ContentProposalAdapter(text, contentAdapter, proposalProvider, null, null); // Need to set adapter to replace existing text. Default is insert. adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_INSERT); adapter.setPopupSize(new Point(400, 300)); text.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { changed(); } }); }