Bug 246462 [DataBinding] [Databinding] Extend ControlObservableValue to observe Size, Location, Bounds and Focus of a control
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/SWTObservables.java
* <li>org.eclipse.swt.widgets.TrayItem</li>
	 * <li>org.eclipse.swt.widgets.TreeColumn</li>
	 * </ul>
	 * @param widget
	 * @return an observable value tracking the tooltip text of the given
	 *         item
	 * 
	 * @since 1.3
	 */
	public static ISWTObservableValue observeTooltipText(Widget widget) {
		if (widget instanceof Control) {
			return new ControlObservableValue((Control)widget, SWTProperties.TOOLTIP_TEXT);
		} else if (widget instanceof CTabItem
				|| widget instanceof TabItem
				|| widget instanceof TableColumn
				|| widget instanceof ToolItem
				|| widget instanceof TrayItem
				|| widget instanceof TreeColumn) {
			return new ItemTooltipObservableValue((Item) widget);
		}
		
		throw new IllegalArgumentException(
				"Item [" + widget.getClass().getName() + "] is not supported."); 
	}
	/**
	 * @param control
	 * @return an observable value tracking the tooltip text of the given
	 *         control
	 */
	public static ISWTObservableValue observeTooltipText(Control control) {