From: Jani Laakso Date: Wed, 4 Apr 2007 10:13:57 +0000 (+0000) Subject: Added Joonas's example. X-Git-Tag: 6.7.0.beta1~6469 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=1fed03988b6864e8c7e49a7e9db9c6bb23421852;p=vaadin-framework.git Added Joonas's example. svn changeset:1136/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/demo/BufferedComponents.java b/src/com/itmill/toolkit/demo/BufferedComponents.java new file mode 100644 index 0000000000..6740fdfe08 --- /dev/null +++ b/src/com/itmill/toolkit/demo/BufferedComponents.java @@ -0,0 +1,76 @@ +package com.itmill.toolkit.demo; + +import com.itmill.toolkit.Application; +import com.itmill.toolkit.data.util.MethodProperty; +import com.itmill.toolkit.data.util.ObjectProperty; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.TextField; +import com.itmill.toolkit.ui.Window; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class BufferedComponents extends Application { + + private ObjectProperty property; + + private TextField text; + + public void init() { + + Window w = new Window("Buffered UI components demo"); + addWindow(w); + setTheme("corporate"); + + // Create property + Float floatValue = new Float(1.0f); + property = new ObjectProperty(floatValue); + + // Textfield + text = new TextField("TextField (Buffered, using ObjectProperty)", + property); + text.setImmediate(true); + text.setWriteThrough(false); + w.addComponent(text); + + // Property state + Label propertyState = new Label(property); + propertyState.setCaption("Property (data source) state"); + w.addComponent(propertyState); + + // Button state + Label textState = new Label(text); + textState.setCaption("TextField state"); + w.addComponent(textState); + + // Button to change the property + w.addComponent(new Button("increase property value", + new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + Float currentValue = (Float) property.getValue(); + property.setValue(new Float( + currentValue.floatValue() + 1.0)); + } + })); + + // Buffering + w.addComponent(new Button("Write through enabled", new MethodProperty( + text, "writeThrough"))); + w.addComponent(new Button("discard", new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + text.discard(); + } + })); + w.addComponent(new Button("commit", new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + text.commit(); + } + })); + + // Restart button for application + // (easier debugging when you dont have to restart the server to make + // code changes) + Button restart = new Button("restart", this, "close"); + restart.setStyle("link"); + w.addComponent(restart); + } +}