diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2009-12-14 15:58:25 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2009-12-14 15:58:25 +0000 |
commit | cb09e2042fce1482754f14d66bbcd1293ad4fe8b (patch) | |
tree | 1ac019a8f586992c06944bc7104d9027fb44a141 | |
parent | 853f99b3307424f21607366017588fc008192362 (diff) | |
download | vaadin-framework-cb09e2042fce1482754f14d66bbcd1293ad4fe8b.tar.gz vaadin-framework-cb09e2042fce1482754f14d66bbcd1293ad4fe8b.zip |
fixes #3715
svn changeset:10292/svn branch:6.2
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java | 36 |
1 files changed, 18 insertions, 18 deletions
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<? extends Paintable> 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<? extends Paintable> 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<? extends Paintable> 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 } |