]> source.dussan.org Git - vaadin-framework.git/commitdiff
Checkbox component
authorJoonas Lehtinen <joonas.lehtinen@itmill.com>
Thu, 14 Jun 2007 07:25:31 +0000 (07:25 +0000)
committerJoonas Lehtinen <joonas.lehtinen@itmill.com>
Thu, 14 Jun 2007 07:25:31 +0000 (07:25 +0000)
svn changeset:1710/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/TkCheckBox.java [new file with mode: 0644]

diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkCheckBox.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkCheckBox.java
new file mode 100644 (file)
index 0000000..df8b167
--- /dev/null
@@ -0,0 +1,47 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Widget;
+import com.itmill.toolkit.terminal.gwt.client.Client;
+import com.itmill.toolkit.terminal.gwt.client.Paintable;
+import com.itmill.toolkit.terminal.gwt.client.UIDL;
+
+public class TkCheckBox extends com.google.gwt.user.client.ui.CheckBox
+               implements Paintable {
+
+       String id;
+
+       boolean immediate;
+
+       Client client;
+
+       public TkCheckBox() {
+               addClickListener(new ClickListener() {
+
+                       public void onClick(Widget sender) {
+                               if (id == null || client == null)
+                                       return;
+                               client.updateVariable(id, "state", isChecked(), immediate);
+                       }
+
+               });
+       }
+
+       public void updateFromUIDL(UIDL uidl, Client client) {
+               if (!"switch".equals(uidl.getStringAttribute("type"))) {
+                       if (this.client != null)
+                               client.repaintComponent(this, uidl);
+                       else
+                               throw new IllegalStateException(
+                                               "Can not paint button of type: "
+                                                               + uidl.getStringAttribute("type"));
+               }
+
+               this.client = client;
+               id = uidl.getId();
+               setText(uidl.getStringAttribute("caption"));
+               setChecked(uidl.getBooleanVariable("state"));
+               immediate = uidl.getBooleanAttribute("immediate");
+       }
+
+}