From 35bdde037d28815ad3aee4914c5e5e89deca5013 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Mon, 11 Jun 2007 05:41:30 +0000 Subject: [PATCH] array variables now work properly svn changeset:1659/svn branch:trunk --- .../toolkit/terminal/gwt/client/Client.java | 4 ++-- .../terminal/gwt/client/ui/TkSelect.java | 17 ++++++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/Client.java b/src/com/itmill/toolkit/terminal/gwt/client/Client.java index 3eccc4932c..038d66e1dd 100755 --- a/src/com/itmill/toolkit/terminal/gwt/client/Client.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/Client.java @@ -78,7 +78,7 @@ public class Client implements EntryPoint { }-*/; private void makeUidlRequest(String requestData) { - console.log("Making UIDL Request"); + console.log("Making UIDL Request with params: " + requestData); rb = new RequestBuilder(RequestBuilder.GET, appUri + "/UIDL/?requestId=" + (++requestCount) + "&" + requestData); try { @@ -218,7 +218,7 @@ public class Client implements EntryPoint { buf.append(","); buf.append(escapeString(values[i].toString())); } - addVariableToQueue(paintableId, variableName, buf.toString(), immediate); + addVariableToQueue("array:" + paintableId, variableName, buf.toString(), immediate); } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkSelect.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkSelect.java index 95b9d7b03d..e5f6d13a19 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkSelect.java @@ -55,15 +55,18 @@ public class TkSelect extends Composite implements Paintable, ChangeListener { public void onChange(Widget sender) { if(select.isMultipleSelect()) { - Vector selectedItemKeys = new Vector(); - for(int i = 0; i < select.getItemCount();i++) { - if(select.isItemSelected(i)) - selectedItemKeys.add(select.getValue(i)); - } - Object[] values = selectedItemKeys.toArray(); - client.updateVariable(id, "selected", values, immediate); + client.updateVariable(id, "selected", getSelectedKeys(), immediate); } else { client.updateVariable(id, "selected", new String[] { "" + select.getValue(select.getSelectedIndex())}, immediate); } } + + private Object[] getSelectedKeys() { + Vector selectedItemKeys = new Vector(); + for(int i = 0; i < select.getItemCount();i++) { + if(select.isItemSelected(i)) + selectedItemKeys.add(select.getValue(i)); + } + return selectedItemKeys.toArray(); + } } -- 2.39.5