package org.objectstyle.wolips.eomodeler.editors.userInfo;
import org.eclipse.core.databinding.observable.Diffs;
import org.eclipse.core.databinding.observable.value.AbstractObservableValue;
import org.eclipse.swt.browser.Browser;
public class BrowserTextObservableValue extends AbstractObservableValue {
private final Browser _browser;
private String _text;
private String _defaultStyle;
public BrowserTextObservableValue(Browser browser, String defaultStyle) {
_browser = browser;
_defaultStyle = defaultStyle;
}
public void doSetValue(final Object value) {
String oldValue = _text;
String newValue = value == null ? "" : value.toString();
if (_defaultStyle != null) {
newValue += "<style>" + _defaultStyle + "</style>";
}
_browser.setText(newValue); //$NON-NLS-1$
_text = newValue;
fireValueChange(Diffs.createValueDiff(oldValue, newValue));
}
public Object doGetValue() {
return _text;
}
public Object getValueType() {
return String.class;
}
}