aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTextField.java10
-rw-r--r--src/com/vaadin/tests/components/textfield/EnterShortcutMaySendInputPromptAsValue.java57
2 files changed, 65 insertions, 2 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTextField.java b/src/com/vaadin/terminal/gwt/client/ui/VTextField.java
index 2d8e9ac219..00d76d6099 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTextField.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTextField.java
@@ -103,7 +103,8 @@ public class VTextField extends TextBoxBase implements Paintable, Field,
}
String text = uidl.getStringVariable("text");
- prompting = inputPrompt != null && (text == null || text.equals(""));
+ setPrompting(inputPrompt != null && focusedTextField != this
+ && (text == null || text.equals("")));
if (prompting) {
setText(inputPrompt);
addStyleDependentName(CLASSNAME_PROMPT);
@@ -169,7 +170,7 @@ public class VTextField extends TextBoxBase implements Paintable, Field,
removeStyleDependentName(CLASSNAME_FOCUS);
focusedTextField = null;
String text = getText();
- prompting = inputPrompt != null && (text == null || "".equals(text));
+ setPrompting(inputPrompt != null && (text == null || "".equals(text)));
if (prompting) {
setText(inputPrompt);
addStyleDependentName(CLASSNAME_PROMPT);
@@ -177,6 +178,11 @@ public class VTextField extends TextBoxBase implements Paintable, Field,
onChange(sender);
}
+ private void setPrompting(boolean prompting) {
+ this.prompting = prompting;
+ System.out.println("Prompting is now: " + prompting);
+ }
+
public void setColumns(int columns) {
setColumns(getElement(), columns);
}
diff --git a/src/com/vaadin/tests/components/textfield/EnterShortcutMaySendInputPromptAsValue.java b/src/com/vaadin/tests/components/textfield/EnterShortcutMaySendInputPromptAsValue.java
new file mode 100644
index 0000000000..bf9924cdbb
--- /dev/null
+++ b/src/com/vaadin/tests/components/textfield/EnterShortcutMaySendInputPromptAsValue.java
@@ -0,0 +1,57 @@
+package com.vaadin.tests.components.textfield;
+
+import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.data.Property.ValueChangeListener;
+import com.vaadin.event.Action;
+import com.vaadin.event.ShortcutAction;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.TextField;
+
+public class EnterShortcutMaySendInputPromptAsValue extends TestBase {
+
+ @Override
+ protected String getDescription() {
+ return "?";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 2935;
+ }
+
+ @Override
+ protected void setup() {
+
+ final TextField testField = new TextField();
+ testField.setInputPrompt("Enter a value");
+
+ getMainWindow().addActionHandler(new Action.Handler() {
+
+ final Action enter = new ShortcutAction("enter",
+ ShortcutAction.KeyCode.ENTER, null);
+
+ public Action[] getActions(Object target, Object sender) {
+ return new Action[] { enter };
+ }
+
+ public void handleAction(Action action, Object sender, Object target) {
+ if (action == enter) {
+
+ }
+ }
+
+ });
+ testField.addListener(new ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ String value = event.getProperty().getValue().toString();
+ addComponent(new Label("TextField sent value: " + value));
+ testField.setValue("");
+ }
+ });
+
+ addComponent(testField);
+
+ }
+
+}