package org.ourproject.massmob.client.ui;
import org.ourproject.massmob.client.ui.EditEvent.EditHandler;
import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.KeyDownEvent;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.TextBox;
public abstract class TextBoxEditable extends Composite {
@UiField
TextBox textbox;
public TextBoxEditable() {
}
public HandlerRegistration addEditHandler(final EditHandler handler) {
return addHandler(handler, EditEvent.getType());
}
protected void finishEdit() {
fireEvent(new EditEvent(textbox.getValue()));
}
@UiHandler("textbox")
void handleKeys(final KeyDownEvent event) {
if (event.getNativeKeyCode() == 13) {
finishEdit();
}
}
@UiHandler("textbox")
void onBlur(final BlurEvent event) {
finishEdit();
}
}