summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2009-12-14 15:58:25 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2009-12-14 15:58:25 +0000
commitcb09e2042fce1482754f14d66bbcd1293ad4fe8b (patch)
tree1ac019a8f586992c06944bc7104d9027fb44a141
parent853f99b3307424f21607366017588fc008192362 (diff)
downloadvaadin-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.java36
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
}