aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2010-10-21 14:42:07 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2010-10-21 14:42:07 +0000
commit04ea1fd68fd6a7ef990b4ec3fa2d5fbb83bff5a8 (patch)
tree6a84c5ffa9fa5142f91b815bbf8a46961b0fa804
parent2764fbe16701bb23968e317d559f9210886e17b1 (diff)
downloadvaadin-framework-04ea1fd68fd6a7ef990b4ec3fa2d5fbb83bff5a8.tar.gz
vaadin-framework-04ea1fd68fd6a7ef990b4ec3fa2d5fbb83bff5a8.zip
moved some of our own component implementations for deferred binding creation
svn changeset:15647/svn branch:6.5
-rw-r--r--src/com/vaadin/terminal/gwt/client/WidgetSet.java14
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java9
2 files changed, 14 insertions, 9 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/WidgetSet.java b/src/com/vaadin/terminal/gwt/client/WidgetSet.java
index e6ed1cb34f..146e3b8949 100644
--- a/src/com/vaadin/terminal/gwt/client/WidgetSet.java
+++ b/src/com/vaadin/terminal/gwt/client/WidgetSet.java
@@ -61,17 +61,19 @@ public class WidgetSet {
if (classType == null || classType == VUnknownComponent.class) {
String serverSideName = conf
.getUnknownServerClassNameByEncodedTagName(uidl.getTag());
- return new VUnknownComponent(serverSideName);
+ VUnknownComponent c = GWT.create(VUnknownComponent.class);
+ c.setServerSideClassName(serverSideName);
+ return c;
} else if (VSplitPanelVertical.class == classType) {
- return new VSplitPanelVertical();
+ return GWT.create(VSplitPanelVertical.class);
} else if (VTextArea.class == classType) {
- return new VTextArea();
+ return GWT.create(VTextArea.class);
} else if (VDateFieldCalendar.class == classType) {
- return new VDateFieldCalendar();
+ return GWT.create(VDateFieldCalendar.class);
} else if (VPasswordField.class == classType) {
- return new VPasswordField();
+ return GWT.create(VPasswordField.class);
} else if (VWindow.class == classType) {
- return new VWindow();
+ return GWT.create(VWindow.class);
} else {
/*
* let the auto generated code instantiate this type
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java b/src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java
index 062df4f6ae..e03d450243 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java
@@ -17,10 +17,9 @@ public class VUnknownComponent extends Composite implements Paintable {
com.google.gwt.user.client.ui.Label caption = new com.google.gwt.user.client.ui.Label();;
Tree uidlTree;
private VerticalPanel panel;
- private String serverClassName;
+ private String serverClassName = "unkwnown";
- public VUnknownComponent(String serverClassName) {
- this.serverClassName = serverClassName;
+ public VUnknownComponent() {
panel = new VerticalPanel();
panel.add(caption);
initWidget(panel);
@@ -28,6 +27,10 @@ public class VUnknownComponent extends Composite implements Paintable {
caption.setStyleName("vaadin-unknown-caption");
}
+ public void setServerSideClassName(String serverClassName) {
+ this.serverClassName = serverClassName;
+ }
+
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
if (client.updateComponent(this, uidl, false)) {
return;