From: Matti Tahvonen Date: Mon, 14 Dec 2009 15:58:25 +0000 (+0000) Subject: fixes #3715 X-Git-Tag: 6.7.0.beta1~2155 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=cb09e2042fce1482754f14d66bbcd1293ad4fe8b;p=vaadin-framework.git fixes #3715 svn changeset:10292/svn branch:6.2 --- diff --git a/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java b/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java index 757ed1300b..3b019c3b15 100644 --- a/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java +++ b/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java @@ -13,6 +13,7 @@ import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.ui.Tree; import com.google.gwt.user.client.ui.TreeItem; import com.vaadin.terminal.gwt.client.ui.VUnknownComponent; +import com.vaadin.terminal.gwt.client.ui.VView; public class VUIDLBrowser extends Tree { /** @@ -54,15 +55,7 @@ public class VUIDLBrowser extends Tree { String name = uidl.getTag(); try { Integer.parseInt(name); - Class widgetClassByDecodedTag = conf - .getWidgetClassByEncodedTag(name); - if (widgetClassByDecodedTag == VUnknownComponent.class) { - name = conf - .getUnknownServerClassNameByEncodedTagName(name) - + "(NO CLIENT IMPLEMENTATION FOUND)"; - } else { - name = widgetClassByDecodedTag.getName(); - } + name = getNodeName(uidl, conf, name); } catch (Exception e) { // NOP } @@ -73,6 +66,21 @@ public class VUIDLBrowser extends Tree { } } + private String getNodeName(UIDL uidl, ApplicationConfiguration conf, + String name) { + Class widgetClassByDecodedTag = conf + .getWidgetClassByEncodedTag(name); + if (widgetClassByDecodedTag == VUnknownComponent.class) { + return conf.getUnknownServerClassNameByEncodedTagName(name) + + "(NO CLIENT IMPLEMENTATION FOUND)"; + } else if (widgetClassByDecodedTag == VView.class + && uidl.hasAttribute("sub")) { + return "com.vaadin.terminal.gwt.ui.VWindow"; + } else { + return widgetClassByDecodedTag.getName(); + } + } + public void dir() { TreeItem temp = getChild(0); removeItem(temp); @@ -80,15 +88,7 @@ public class VUIDLBrowser extends Tree { String nodeName = uidl.getTag(); try { Integer.parseInt(nodeName); - Class widgetClassByDecodedTag = conf - .getWidgetClassByEncodedTag(nodeName); - if (widgetClassByDecodedTag == VUnknownComponent.class) { - nodeName = conf - .getUnknownServerClassNameByEncodedTagName(nodeName) - + "(NO CLIENT IMPLEMENTATION FOUND)"; - } else { - nodeName = widgetClassByDecodedTag.getName(); - } + nodeName = getNodeName(uidl, conf, nodeName); } catch (Exception e) { // NOP }