Bug 174844 [JFace] JFace ToolTip class should support manual activation
I have been using the new JFace ToolTip class for showing custom-draw tool tips for my tree items and works very nicely for that. Now I have another context that I need to use tool tips in. In this context, the tool tips need to be activated in response to an event other than mouse movement. To be specific, I want to popup a tool tip when user attempts to uncheck a tree item that shouldn't be unchecked. After the tool tip is displayed, I want standard tooltip behavior (times out, hides on mouse movement, etc.). It doesn't look like I can do that using the ToolTip class. Perhaps a base class can be pulled out from the ToolTip class. The base class would expose a protected show method and let a subclass take care of activation. The existing ToolTip class can then add activation based on mouse movement + delay. Other subclasses can then be made that implement alternative activation methods.
bundles/org.eclipse.jface/src/org/eclipse/jface/window/ToolTip.java
/**
	 * This method is called after a Tooltip is hidden.
	 * <p>
	 * <b>Subclasses may override to clean up requested system resources</b>
	 * </p>
	 * 
	 * @param event
	 *            event triggered the hiding action (may be <code>null</code>
	 *            if event wasn't triggered by user actions directly)
	 */
	protected void afterHideToolTip(Event event) {
	}
	/**
	 * Set the hide delay.
	 * 
	 * @param hideDelay
	 *            the delay before the tooltip is hidden. If <code>0</code>
	 *            the tooltip is shown until user moves to other item
	 */
	public void setHideDelay(int hideDelay) {
		this.hideDelay = hideDelay;
	}
	/**
	 * Set the popup delay.
	 * 
	 * @param popupDelay
	 *            the delay before the tooltip is shown to the user. If
	 *            <code>0</code> the tooltip is shown immediately
	 */
	public void setPopupDelay(int popupDelay) {