From: Joonas Lehtinen Date: Thu, 14 Jun 2007 07:25:31 +0000 (+0000) Subject: Checkbox component X-Git-Tag: 6.7.0.beta1~6271 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=39c8e894d9e9cdcba04083687cf03fef0702f255;p=vaadin-framework.git Checkbox component svn changeset:1710/svn branch:trunk --- 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 index 0000000000..df8b1671f8 --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkCheckBox.java @@ -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"); + } + +}