]> source.dussan.org Git - vaadin-framework.git/commitdiff
added custom component class
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 18 Sep 2007 11:36:18 +0000 (11:36 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 18 Sep 2007 11:36:18 +0000 (11:36 +0000)
svn changeset:2311/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/ICustomComponent.java [new file with mode: 0644]

diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ICustomComponent.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ICustomComponent.java
new file mode 100644 (file)
index 0000000..322b935
--- /dev/null
@@ -0,0 +1,35 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
+import com.itmill.toolkit.terminal.gwt.client.Paintable;
+import com.itmill.toolkit.terminal.gwt.client.UIDL;
+
+public class ICustomComponent extends SimplePanel implements Paintable {
+       
+       private static final String CLASSNAME = "i-customcomponent";
+
+       public ICustomComponent() {
+               super();
+               setStyleName(CLASSNAME);
+       }
+
+       public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
+               
+               UIDL child = uidl.getChildUIDL(0);
+               if(child != null) {
+                       Paintable p = (Paintable) client.getWidget(child);
+                       if(p != getWidget()) {
+                               if(getWidget() != null) {
+                                       client.unregisterPaintable((Paintable) getWidget());
+                                       clear();
+                               }
+                               setWidget((Widget) p);
+                       }
+                       p.updateFromUIDL(child, client);
+               }
+
+       }
+
+}