Bug 148357 [Field Assist] - API - provide access for closing the proposal popup
I think that the field assist API needs more hooks to be customizable. For example : 1) There is no way to manually close/open the popup. Most of the times, this is the easier thing for a user to ask to implement his custom behaviour. 2) There is no way to intercept keystrokes/events directed to the field. 3) There is no way to control focus.
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/ContentProposalAdapter.java
}
				
				getShell().addListener(SWT.Deactivate, this);
				getShell().addListener(SWT.Close, this);
				
				control.addListener(SWT.MouseDoubleClick, this);
				control.addListener(SWT.MouseDown, this);
				control.addListener(SWT.Dispose, this);
				control.addListener(SWT.FocusOut, this);
				
				Shell controlShell = control.getShell();
				controlShell.addListener(SWT.Move, this);
				controlShell.addListener(SWT.Resize, this);
			}
			
			void removeListeners() {
				if (isValid()) {
					proposalTable.removeListener(SWT.FocusOut, this);
					ScrollBar scrollbar = proposalTable.getVerticalBar();
					if (scrollbar != null) {
						scrollbar.removeListener(SWT.Selection, this);
					}
					getShell().removeListener(SWT.Deactivate, this);
					getShell().removeListener(SWT.Close, this);
				}
				if (control != null && !control.isDisposed()) {
					control.removeListener(SWT.MouseDoubleClick, this);
					control.removeListener(SWT.MouseDown, this);
					control.removeListener(SWT.Dispose, this);
					control.removeListener(SWT.FocusOut, this);