--- /dev/null
+package com.itmill.toolkit.tests.tickets;\r
+\r
+import com.itmill.toolkit.data.util.ObjectProperty;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.TextField;\r
+import com.itmill.toolkit.ui.Window;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+\r
+public class Ticket1806 extends com.itmill.toolkit.Application {\r
+\r
+ public void init() {\r
+ final Window main = new Window(getClass().getName().substring(\r
+ getClass().getName().lastIndexOf(".") + 1));\r
+ setMainWindow(main);\r
+\r
+ final ObjectProperty prop = new ObjectProperty("");\r
+ final TextField tf1 = new TextField(\r
+ "Buffered TextField bound to ObjectProperty");\r
+ tf1.setWriteThrough(false);\r
+ tf1.setReadThrough(false);\r
+ tf1.setPropertyDataSource(prop);\r
+ main.addComponent(tf1);\r
+ main\r
+ .addComponent(new Button(\r
+ "This button does nothing (but flushes queued variable changes)"));\r
+ main.addComponent(new Button("Commit the field to property",\r
+ new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ tf1.commit();\r
+ }\r
+ }));\r
+ main.addComponent(new Button("Show property value",\r
+ new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ main.showNotification("'" + prop.getValue() + "'");\r
+ }\r
+ }));\r
+ main.addComponent(new Button("Show field value",\r
+ new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ main.showNotification("'" + tf1.getValue() + "'");\r
+ }\r
+ }));\r
+ }\r
+}
\ No newline at end of file