Bug 164529 [FieldAssist] Provide the ability to listen to start and end field assist events
In the previous content assist functionality, an ICompletionListener could be specified to listen to the following events: public void assistSessionEnded(ContentAssistEvent event) public void assistSessionStarted(ContentAssistEvent event) The equivalent listener, IContentProposalListener, does not listen to those two events. PDE needs to know when an assist session is ended in order to reset the state it maintains for custom filtering of java type results. The current event does not handle the case where the user ends the content assist without selecting a proposal: public void proposalAccepted(IContentProposal proposal);
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/ContentProposalAdapter.java
* happens with the proposals.
	 */
	private ListenerList proposalListeners = new ListenerList();
	/*
	 * Flag that indicates whether the adapter is enabled. In some cases,
	 * adapters may be installed but depend upon outside state.
	 */
	private boolean isEnabled = true;
	/*
	 * The delay in milliseconds used when autoactivating the popup.
	 */
	private int autoActivationDelay = 0;
	/*
	 * A boolean indicating whether a keystroke has been received. Used to see
	 * if an autoactivation delay was interrupted by a keystroke.
	 */
	private boolean receivedKeyDown;
	/*
	 * The desired size in pixels of the proposal popup.
	 */
	private Point popupSize;
	/*
	 * The remembered position of the insertion position. Not all controls will
	 * restore the insertion position if the proposal popup gets focus, so we
	 * need to remember it.
	 */
	private int insertionPos = -1;
	/**
	 * Construct a content proposal adapter that can assist the user with
	 * choosing content for the field.