From 0548d98866aaf82ed6c5f7b81d79f4eb0809cf6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20D=C3=B6bber?= <doebber@in.tum.de> Date: Wed, 29 Feb 2012 13:32:34 +0000 Subject: [PATCH] fixed flicker and multiple completion bug refs 678 --- .../base/ui/fieldassist/FieldAssist.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/fieldassist/FieldAssist.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/fieldassist/FieldAssist.java index 38c82895d..bb45b2b0e 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/fieldassist/FieldAssist.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/fieldassist/FieldAssist.java @@ -52,7 +52,10 @@ public class FieldAssist { * ProposalProvider wrapper class that takes care of proper insertion. This * is intended to be transparent to the implementor. */ - private final AF3ContentProposalProvider provider; + private AF3ContentProposalProvider provider; + + /** Stores the {@link ContentProposalAdapter}. */ + private ContentProposalAdapter adapter; /** * Constructor. @@ -66,9 +69,8 @@ public class FieldAssist { /** Initializes the FieldAssist object. */ private void initialize() { provider.setFiltering(true); - ContentProposalAdapter adapter = new ContentProposalAdapter(field, - new TextContentAdapter(), provider, - concreteProvider.getKeystroke(), + adapter = new ContentProposalAdapter(field, new TextContentAdapter(), + provider, concreteProvider.getKeystroke(), concreteProvider.getAutoActivationChars()); adapter.setPropagateKeys(true); adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE); @@ -113,6 +115,17 @@ public class FieldAssist { } }); + + } + + /** + * Sets a new proposal provider. Useful if the {@link FieldAssist} object is + * not disposed as its enclosing text field is not disposed. + */ + public void setProposalProvider(IProposalProvider proposalProvider) { + this.provider = new AF3ContentProposalProvider(proposalProvider); + provider.setFiltering(true); + adapter.setContentProposalProvider(provider); } /** -- GitLab