Bug 147530 [DataBinding] Provide event objects for change listeners
Before data binding goes 1.0 it would be wise to provide EventObjects for the following listeners to ensure that the API doesn't preclude future expansion of the values supplied to listeners. Interfaces that would be affected: * IValueChangeListener * IValueChangingListener * IListChangeListener * ISetChangeListener * IMappingChangeListener
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/provisional/swt/MenuUpdater.java
observable.removeChangeListener(privateInterface);
		}
	}
	/**
	 * Updates the menu. This method will be invoked once after the
	 * updater is created, and once for any SWT.Show event if this 
	 * updater is marked as dirty at that time.
	 *  
	 * <p>
	 * Subclasses should overload this method to provide any code that 
	 * udates the menu.
	 * </p>
	 */
	protected abstract void updateMenu();
	
	/**
	 * Marks this updator as dirty. Causes the updateControl method to
	 * be invoked before the next time the control is repainted.
	 */
	protected final void makeDirty() {
		if (!dirty) {
			dirty = true;
			stopListening();
			SWTUtil.runOnce(theMenu.getDisplay(), privateInterface);
		}
	}
	
}