package org.ovirt.engine.ui.common.widget.editor;
import com.google.gwt.editor.ui.client.adapters.ValueBoxEditor;
import com.google.gwt.event.logical.shared.HasValueChangeHandlers;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.ui.ValueBoxBase;
/**
* A {@link ValueBoxEditor} that listens to Value changes
*/
public class ValueBoxEditorChanger<T> extends ValueBoxEditor<T> implements HasValueChangeHandlers<T> {
/**
* Create a {@link ValueBoxEditorChanger} for the specified ValueBox
*/
public static <T> ValueBoxEditorChanger<T> of(ValueBoxBase<T> valueBox) {
return new ValueBoxEditorChanger<>(valueBox);
}
private final ValueBoxBase<T> peer;
protected ValueBoxEditorChanger(final ValueBoxBase<T> peer) {
super(peer);
this.peer = peer;
}
@Override
public void fireEvent(GwtEvent<?> event) {
peer.fireEvent(event);
}
@Override
public HandlerRegistration addValueChangeHandler(ValueChangeHandler<T> handler) {
return peer.addValueChangeHandler(handler);
}
}