From 39c8e894d9e9cdcba04083687cf03fef0702f255 Mon Sep 17 00:00:00 2001 From: Joonas Lehtinen Date: Thu, 14 Jun 2007 07:25:31 +0000 Subject: [PATCH] Checkbox component svn changeset:1710/svn branch:trunk --- .../terminal/gwt/client/ui/TkCheckBox.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/com/itmill/toolkit/terminal/gwt/client/ui/TkCheckBox.java 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"); + } + +} -- 2.39.5