View | Details | Raw Unified | Return to bug 170668
Collapse All | Expand All

(-)src/org/eclipse/jface/databinding/swt/SWTObservables.java (+8 lines)
Lines 83-88 Link Here
83
	public static ISWTObservableValue observeVisible(Control control) {
83
	public static ISWTObservableValue observeVisible(Control control) {
84
		return new ControlObservableValue(control, SWTProperties.VISIBLE);
84
		return new ControlObservableValue(control, SWTProperties.VISIBLE);
85
	}
85
	}
86
	
87
	/**
88
	 * @param control
89
	 * @return
90
	 */
91
	public static ISWTObservableValue observeTooltipText(Control control) {
92
		return new ControlObservableValue(control, SWTProperties.TOOLTIP_TEXT);
93
	}
86
94
87
	/**
95
	/**
88
	 * @param spinner
96
	 * @param spinner
(-)src/org/eclipse/jface/internal/databinding/internal/swt/SWTProperties.java (+4 lines)
Lines 27-32 Link Here
27
	 */
27
	 */
28
	public static final String VISIBLE = "visible"; //$NON-NLS-1$
28
	public static final String VISIBLE = "visible"; //$NON-NLS-1$
29
	/**
29
	/**
30
	 * Applies to Control
31
	 */
32
	public static final String TOOLTIP_TEXT = "tooltip"; //$NON-NLS-1$	
33
	/**
30
	 * Applies to
34
	 * Applies to
31
	 */
35
	 */
32
	public static final String ITEMS = "items"; //$NON-NLS-1$
36
	public static final String ITEMS = "items"; //$NON-NLS-1$
(-)src/org/eclipse/jface/internal/databinding/internal/swt/ControlObservableValue.java (-5 / +11 lines)
Lines 34-40 Link Here
34
		this.control = control;
34
		this.control = control;
35
		this.attribute = attribute;
35
		this.attribute = attribute;
36
		if (!attribute.equals(SWTProperties.ENABLED)
36
		if (!attribute.equals(SWTProperties.ENABLED)
37
				&& !attribute.equals(SWTProperties.VISIBLE)) {
37
				&& !attribute.equals(SWTProperties.VISIBLE) && !attribute.equals(SWTProperties.TOOLTIP_TEXT)) {
38
			throw new IllegalArgumentException();
38
			throw new IllegalArgumentException();
39
		}
39
		}
40
	}
40
	}
Lines 45-62 Link Here
45
			control.setEnabled(((Boolean) value).booleanValue());
45
			control.setEnabled(((Boolean) value).booleanValue());
46
		} else if (attribute.equals(SWTProperties.VISIBLE)) {
46
		} else if (attribute.equals(SWTProperties.VISIBLE)) {
47
			control.setVisible(((Boolean) value).booleanValue());
47
			control.setVisible(((Boolean) value).booleanValue());
48
		} else if (attribute.equals(SWTProperties.TOOLTIP_TEXT)) {
49
			control.setToolTipText((String) value);
48
		}
50
		}
49
		fireValueChange(Diffs.createValueDiff(oldValue, value));
51
		fireValueChange(Diffs.createValueDiff(oldValue, value));
50
	}
52
	}
51
53
52
	public Object doGetValue() {
54
	public Object doGetValue() {
53
		boolean value = attribute.equals(SWTProperties.ENABLED) ? control
55
		if (attribute.equals(SWTProperties.ENABLED)) {
54
				.getEnabled() : control.getVisible();
56
			return control.getEnabled() ? Boolean.TRUE : Boolean.FALSE;
55
		return value ? Boolean.TRUE : Boolean.FALSE;
57
		}
58
		if (attribute.equals(SWTProperties.VISIBLE)) {
59
			return control.getVisible() ? Boolean.TRUE : Boolean.FALSE;
60
		}
61
		return control.getToolTipText();
56
	}
62
	}
57
63
58
	public Object getValueType() {
64
	public Object getValueType() {
59
		return Boolean.TYPE;
65
		return attribute.equals(SWTProperties.TOOLTIP_TEXT) ? String.class : Boolean.TYPE;
60
	}
66
	}
61
67
62
}
68
}

Return to bug 170668