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 38c82895ddf693d78fee522be825fc4ecd03fefa..bb45b2b0e9a73d003df9011f5dca8dd731f6b1a2 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); } /**