diff options
Diffstat (limited to 'server/src/main/java/com/vaadin/ui/AbstractTextField.java')
-rw-r--r-- | server/src/main/java/com/vaadin/ui/AbstractTextField.java | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/server/src/main/java/com/vaadin/ui/AbstractTextField.java b/server/src/main/java/com/vaadin/ui/AbstractTextField.java index 8043766a11..75c2067759 100644 --- a/server/src/main/java/com/vaadin/ui/AbstractTextField.java +++ b/server/src/main/java/com/vaadin/ui/AbstractTextField.java @@ -26,6 +26,7 @@ import com.vaadin.event.FieldEvents.BlurListener; import com.vaadin.event.FieldEvents.FocusEvent; import com.vaadin.event.FieldEvents.FocusListener; import com.vaadin.shared.Registration; +import com.vaadin.shared.communication.FieldRpc.FocusAndBlurServerRpc; import com.vaadin.shared.ui.textfield.AbstractTextFieldClientRpc; import com.vaadin.shared.ui.textfield.AbstractTextFieldServerRpc; import com.vaadin.shared.ui.textfield.TextFieldState; @@ -43,6 +44,18 @@ public abstract class AbstractTextField extends AbstractField<String> { private final class TextFieldServerRpcImpl implements AbstractTextFieldServerRpc { + + @Override + public void setText(String text, int cursorPosition) { + getUI().getConnectorTracker().getDiffState(AbstractTextField.this) + .put("text", text); + lastKnownCursorPosition = cursorPosition; + setValue(text, true); + } + } + + private final class TextFieldFocusAndBlurRpcImpl + implements FocusAndBlurServerRpc { @Override public void blur() { fireEvent(new BlurEvent(AbstractTextField.this)); @@ -52,14 +65,6 @@ public abstract class AbstractTextField extends AbstractField<String> { public void focus() { fireEvent(new FocusEvent(AbstractTextField.this)); } - - @Override - public void setText(String text, int cursorPosition) { - getUI().getConnectorTracker().getDiffState(AbstractTextField.this) - .put("text", text); - lastKnownCursorPosition = cursorPosition; - setValue(text, true); - } } private int lastKnownCursorPosition = -1; @@ -69,6 +74,7 @@ public abstract class AbstractTextField extends AbstractField<String> { */ protected AbstractTextField() { registerRpc(new TextFieldServerRpcImpl()); + registerRpc(new TextFieldFocusAndBlurRpcImpl()); } @Override |