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
}
	}
	private void toolTipOpen(final Shell shell, final Event event) {
		
		if (CURRENT_TOOLTIP != null) {
			toolTipHide(CURRENT_TOOLTIP, null);
		}
		CURRENT_TOOLTIP = shell;
		if (popupDelay > 0) {
			control.getDisplay().timerExec(popupDelay, new Runnable() {
				public void run() {
					toolTipShow(shell, event);
				}
			});
		} else {
			toolTipShow(CURRENT_TOOLTIP, event);
		}
		if (hideDelay > 0) {
			control.getDisplay().timerExec(popupDelay + hideDelay,
					new Runnable() {
						public void run() {
							toolTipHide(shell, null);
						}
					});
		}
	}
	private void toolTipHookByTypeRecursively(Control c, boolean add, int type) {
		if (add) {
			c.addListener(type, hideListener);
		} else {