From 19d014438c158fa41a57e061778ad58b526379c6 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Tue, 28 Aug 2007 07:06:48 +0000 Subject: [PATCH] now listening on focus hints svn changeset:2138/svn branch:trunk --- .../gwt/client/ApplicationConnection.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java index 1eb3942a7b..4c1b7d4e87 100755 --- a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java @@ -18,6 +18,7 @@ import com.google.gwt.json.client.JSONString; import com.google.gwt.json.client.JSONValue; import com.google.gwt.user.client.ui.FocusListener; import com.google.gwt.user.client.ui.FocusWidget; +import com.google.gwt.user.client.ui.HasFocus; import com.google.gwt.user.client.ui.HasWidgets; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.Widget; @@ -172,13 +173,25 @@ public class ApplicationConnection implements EntryPoint, FocusListener { + uidl.getTag() + ", but there is no such paintable (" + uidl.getId() + ") registered yet."); - view.updateFromUIDL(uidl, this); - } + view.updateFromUIDL(uidl, this); + } } catch (Throwable e) { e.printStackTrace(); } - } + + if(((JSONObject) json).containsKey("meta")) { + JSONObject meta = ((JSONObject) json).get("meta").isObject(); + if(meta.containsKey("focus")) { + String focusPid = meta.get("focus").isString().stringValue(); + Paintable toBeFocused = this.getPaintable(focusPid); + if (toBeFocused instanceof HasFocus) { + HasFocus toBeFocusedWidget = (HasFocus) toBeFocused; + toBeFocusedWidget.setFocus(true); + } + } + } + long prosessingTime = (new Date().getTime()) - start.getTime(); console.log(" Processing time was " + String.valueOf(prosessingTime) + "ms for " + jsonText.length() + " characters of JSON"); -- 2.39.5