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
private boolean scrollbarClicked = false;
			public void handleEvent(final Event e) {
				
				
				if (e.type == SWT.FocusOut) {
					scrollbarClicked = false;
					/*
					 * Ignore this event if it's only happening because focus is
					 * moving between the popup shells, their controls, or a
					 * scrollbar. Do this in an async since the focus is not
					 * actually switched when this event is received.
					 */
					e.display.asyncExec(new Runnable() {
						public void run() {
							if (isValid()) {
								if (scrollbarClicked
										|| hasFocus()
										|| (infoPopup != null && infoPopup
												.hasFocus())) {
									return;
								}
								
								
								
								
								
								Shell activeShell = e.display.getActiveShell();
								if (activeShell == getShell()
										|| (infoPopup != null && infoPopup
												.getShell() == activeShell)) {