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
location.y -= rightBounds.y - bounds.height;
				}
				if (location.x < bounds.x) {
					location.x = bounds.x;
				}
				if (location.y < bounds.y) {
					location.y = bounds.y;
				}
			}
		}
		return location;
	}
	/**
	 * Get the display relative location where the tooltip is displayed.
	 * Subclasses may overwrite to implement custom positioning.
	 * 
	 * @param tipSize
	 *            the size of the tooltip to be shown
	 * @param event
	 *            the event triggered showing the tooltip
	 * @return the absolute position on the display
	 */
	public Point getLocation(Point tipSize, Event event) {
		return control.toDisplay(event.x + xShift, event.y + yShift);
	}
	private void toolTipHide(Shell tip, Event event) {
		if (tip != null && !tip.isDisposed()) {
			tip.dispose();
			CURRENT_TOOLTIP = null;
			afterHideToolTip(event);