Bug 113104 [hovering] Consider adapting AbstractInformationControl to new PopupDialog
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/AbstractInformationControl.java
/*
			 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
			 */
			public void handleEvent(Event event) {
				if (fIsDecativateListenerActive)
					dispose();
			}
		};
		fShell.addListener(SWT.Deactivate, fDeactivateListener);
		fIsDecativateListenerActive= true;
		fShell.addShellListener(new ShellAdapter() {
			/*
			 * @see org.eclipse.swt.events.ShellAdapter#shellActivated(org.eclipse.swt.events.ShellEvent)
			 */
			public void shellActivated(ShellEvent e) {
				if (e.widget == fShell && fShell.getShells().length == 0)
					fIsDecativateListenerActive= true;
			}
		});
		fShell.addControlListener(new ControlAdapter() {
			/**
			 * {@inheritDoc}
			 */
			public void controlMoved(ControlEvent e) {
				fBounds= fShell.getBounds();
				if (fTrim != null) {
					Point location= fComposite.getLocation();
					fBounds.x= fBounds.x - fTrim.x + location.x;
					fBounds.y= fBounds.y - fTrim.y + location.y;
				}