IInformationControl infoControl= fAdditionalInfoController.getCurrentInformationControl2();
if (infoControl instanceof IInformationControlExtension5) {
final IInformationControlExtension5 iControl5= (IInformationControlExtension5) infoControl;
if (iControl5.containsControl(control)) {
if (infoControl instanceof IDelayedInputChangeProvider) {
final IDelayedInputChangeProvider delayedICP= (IDelayedInputChangeProvider) infoControl;
final IInputChangedListener inputChangeListener= new DelayedInputChangeListener(delayedICP, fAdditionalInfoController.getInternalAccessor().getInformationControlReplacer());
delayedICP.setDelayedInputChangeListener(inputChangeListener);
// cancel automatic input updating after a small timeout:
control.getShell().getDisplay().timerExec(1000, new Runnable() {
public void run() {
delayedICP.setDelayedInputChangeListener(null);
}
});
}
// XXX: workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=212392 :