]> source.dussan.org Git - vaadin-framework.git/commitdiff
moved components to ui package
authorJoonas Lehtinen <joonas.lehtinen@itmill.com>
Tue, 5 Jun 2007 12:25:47 +0000 (12:25 +0000)
committerJoonas Lehtinen <joonas.lehtinen@itmill.com>
Tue, 5 Jun 2007 12:25:47 +0000 (12:25 +0000)
svn changeset:1589/svn branch:trunk

18 files changed:
src/com/itmill/toolkit/terminal/gwt/client/Component.java
src/com/itmill/toolkit/terminal/gwt/client/ContainerComponent.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/GwtClient.java
src/com/itmill/toolkit/terminal/gwt/client/RootWindow.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/TkButton.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/TkLabel.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/TkLegacyComponent.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/TkOrderedLayout.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/TkTextField.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/TkUnknown.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/ui/ContainerComponent.java [new file with mode: 0755]
src/com/itmill/toolkit/terminal/gwt/client/ui/RootWindow.java [new file with mode: 0755]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkButton.java [new file with mode: 0755]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkLabel.java [new file with mode: 0755]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkLegacyComponent.java [new file with mode: 0755]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkOrderedLayout.java [new file with mode: 0755]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkTextField.java [new file with mode: 0755]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkUnknown.java [new file with mode: 0755]

index 758fc95ca28a00f64c8cc4a555377e9326f3fe1d..bfb498d39e8acba825292773e7e00eaf31167dd9 100755 (executable)
@@ -2,6 +2,13 @@ package com.itmill.toolkit.terminal.gwt.client;
 
 import com.google.gwt.user.client.ui.Widget;
 import com.google.gwt.xml.client.Node;
+import com.itmill.toolkit.terminal.gwt.client.ui.ContainerComponent;
+import com.itmill.toolkit.terminal.gwt.client.ui.TkButton;
+import com.itmill.toolkit.terminal.gwt.client.ui.TkLabel;
+import com.itmill.toolkit.terminal.gwt.client.ui.TkLegacyComponent;
+import com.itmill.toolkit.terminal.gwt.client.ui.TkOrderedLayout;
+import com.itmill.toolkit.terminal.gwt.client.ui.TkTextField;
+import com.itmill.toolkit.terminal.gwt.client.ui.TkUnknown;
 
 public abstract class Component {
        
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ContainerComponent.java b/src/com/itmill/toolkit/terminal/gwt/client/ContainerComponent.java
deleted file mode 100755 (executable)
index 3f8faf3..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.itmill.toolkit.terminal.gwt.client;
-
-import com.google.gwt.xml.client.Node;
-import com.google.gwt.xml.client.NodeList;
-
-abstract class ContainerComponent extends Component {
-
-       public ContainerComponent(int id, GwtClient c) {
-               super(id, c);
-       }
-
-       abstract void appendChild(Component c);
-       
-       public void renderChildNodes(Node n, GwtClient cli) {
-               NodeList children = n.getChildNodes();
-               for(int i = 0; i < children.getLength(); i++) {
-                       Node child = children.item(i);
-                       if(Component.isComponent(child.getNodeName())) {
-                               Component c = Component.createComponent(child, cli);
-                               c.appendTo(this);
-                       }
-               }
-       }
-
-}
index 731c892da11e7e6e6da0158ac78d07962243cae2..2efdb265bc229b1323238532d0a6ff6261445ea4 100755 (executable)
@@ -15,6 +15,7 @@ import com.google.gwt.xml.client.Document;
 import com.google.gwt.xml.client.Node;
 import com.google.gwt.xml.client.NodeList;
 import com.google.gwt.xml.client.XMLParser;
+import com.itmill.toolkit.terminal.gwt.client.ui.RootWindow;
 
 /**
  * Entry point classes define <code>onModuleLoad()</code>.
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/RootWindow.java b/src/com/itmill/toolkit/terminal/gwt/client/RootWindow.java
deleted file mode 100755 (executable)
index efbf764..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-       
-package com.itmill.toolkit.terminal.gwt.client;
-
-import com.google.gwt.user.client.ui.RootPanel;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.xml.client.Node;
-
-public class RootWindow extends ContainerComponent {
-
-       private RootPanel rp;
-       private GwtClient client;
-
-       public RootWindow(Node uidl, GwtClient c) {
-               super(0,c);
-               // root panel must be attached to client before childs can be rendered
-               setClient(c);
-               rp = RootPanel.get("itmtk-ajax-window");
-               rp.clear();
-               renderChildNodes(uidl, client);
-       }
-       
-       void appendChild(Component c) {
-               rp.add(c.getWidget());
-       }
-
-       public void updateFromUidl(Node n) {
-               // TODO Auto-generated method stub
-
-       }
-
-       public Widget getWidget() {
-               return rp;
-       }
-
-       public void setClient(GwtClient client) {
-               this.client = client;
-       }
-       
-       public GwtClient getClient() {
-               return this.client;
-       }
-
-}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/TkButton.java b/src/com/itmill/toolkit/terminal/gwt/client/TkButton.java
deleted file mode 100755 (executable)
index 24e350a..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.itmill.toolkit.terminal.gwt.client;
-
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.xml.client.NamedNodeMap;
-import com.google.gwt.xml.client.Node;
-import com.google.gwt.xml.client.NodeList;
-
-public class TkButton extends Component {
-
-       private Button b;
-       private BooleanVariable state;
-
-       public TkButton(Node uidl, GwtClient c) {
-               super(getIdFromUidl(uidl), c);
-               b = new Button();
-               updateFromUidl(uidl);
-               b.addClickListener(new ButtonClickListener());
-       }
-
-       public void updateFromUidl(Node n) {
-               
-               String text = "";
-               String description = null;
-               NamedNodeMap attributes = n.getAttributes();
-               Node caption = attributes.getNamedItem("caption");
-               if(caption != null)
-                       text = caption.getNodeValue();
-
-               NodeList children = n.getChildNodes();
-               for (int i = 0; i < children.getLength(); i++) {
-                       Node child = children.item(i);
-                       String nName = child.getNodeName();
-                       if(nName.equals("description"))
-                               description  = child.getFirstChild().toString();
-                       if(nName.equals("boolean")) {
-                               state = (BooleanVariable) VariableFactory.getVariable(child,this);
-                               state.setImmediate(true); // button always immediate
-                       }
-               }
-               b.setText(text);
-               if(description != null)
-                       b.setTitle(description);
-       }
-
-       public Widget getWidget() {
-               return b;
-       }
-       
-       public class ButtonClickListener implements ClickListener {
-
-               public void onClick(Widget sender) {
-                       TkButton.this.state.setValue(true);
-                       TkButton.this.state.update();
-               }
-               
-       }
-       
-}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/TkLabel.java b/src/com/itmill/toolkit/terminal/gwt/client/TkLabel.java
deleted file mode 100755 (executable)
index 30127c3..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.itmill.toolkit.terminal.gwt.client;
-
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.xml.client.NamedNodeMap;
-import com.google.gwt.xml.client.Node;
-import com.google.gwt.xml.client.NodeList;
-
-public class TkLabel extends Component {
-
-       private Label l;
-
-       public TkLabel(Node uidl, GwtClient cli) {
-               super(getIdFromUidl(uidl), cli);
-
-               l = new Label();
-               updateFromUidl(uidl);
-       }
-
-       public void updateFromUidl(Node n) {
-               NodeList children = n.getChildNodes();
-               String text = "";
-               String description = null;
-               for (int i = 0; i < children.getLength(); i++) {
-                       Node child = children.item(i);
-                       if(child.getNodeName().equals("description"))
-                               description  = child.getNodeValue();
-                       else if(child.getNodeType() == Node.TEXT_NODE)
-                               text  = child.toString();
-               }
-               NamedNodeMap attributes = n.getAttributes();
-               Node caption = attributes.getNamedItem("caption");
-               if(caption != null)
-                       text = caption.getNodeValue();
-               l.setText(text);
-               if(description != null)
-                       l.setTitle(description);
-       }
-
-       public Widget getWidget() {
-               return l;
-       }
-
-}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/TkLegacyComponent.java b/src/com/itmill/toolkit/terminal/gwt/client/TkLegacyComponent.java
deleted file mode 100755 (executable)
index 42db7c3..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.itmill.toolkit.terminal.gwt.client;
-
-import com.google.gwt.user.client.Element;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.xml.client.Node;
-
-public class TkLegacyComponent extends Component {
-
-       private Label l;
-
-       public TkLegacyComponent(Node uidl, GwtClient cli) {
-               super(getIdFromUidl(uidl), cli);
-               
-               // TODO Check if client has legacy client instantiated
-               
-               l = new Label();
-//             updateFromUidl(uidl);   
-       }
-
-       public void updateFromUidl(Node n) {
-               LegacyClientWrapper lc = client.getLegacyClient();
-               
-               Element e = l.getElement();
-               
-               lc.renderUidl(e,n);
-       }
-       
-       public Widget getWidget() {
-               return l;
-       }
-
-}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/TkOrderedLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/TkOrderedLayout.java
deleted file mode 100755 (executable)
index e195afe..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.itmill.toolkit.terminal.gwt.client;
-
-import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.xml.client.Node;
-
-public class TkOrderedLayout extends ContainerComponent {
-       
-       private FlowPanel p;
-
-       public TkOrderedLayout(Node uidl, GwtClient cli) {
-               super(getIdFromUidl(uidl), cli);
-
-               p = new FlowPanel();
-               updateFromUidl(uidl);
-       }
-
-       void appendChild(Component c) {
-               p.add(c.getWidget());
-       }
-
-       public Widget getWidget() {
-               return p;
-       }
-
-       public void updateFromUidl(Node n) {
-               p.clear();
-               renderChildNodes(n, getClient());
-       }
-
-}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/TkTextField.java b/src/com/itmill/toolkit/terminal/gwt/client/TkTextField.java
deleted file mode 100755 (executable)
index 940bbc5..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.itmill.toolkit.terminal.gwt.client;
-
-import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.xml.client.NamedNodeMap;
-import com.google.gwt.xml.client.Node;
-import com.google.gwt.xml.client.NodeList;
-
-public class TkTextField extends Component {
-
-
-       private TextBox tb;
-
-       public TkTextField(Node uidl, GwtClient cli) {
-               super(getIdFromUidl(uidl),cli);
-
-               tb = new TextBox();
-               updateFromUidl(uidl);
-       }
-
-       public void updateFromUidl(Node n) {
-               NodeList children = n.getChildNodes();
-               String text = "";
-               String description = null;
-               for (int i = 0; i < children.getLength(); i++) {
-                       Node child = children.item(i);
-                       if(child.getNodeName().equals("description"))
-                               description  = child.getNodeValue();
-                       else if(child.getNodeType() == Node.TEXT_NODE)
-                               text  = child.toString();
-               }
-               NamedNodeMap attributes = n.getAttributes();
-               Node caption = attributes.getNamedItem("caption");
-               if(caption != null)
-                       text = caption.getNodeValue();
-               tb.setText(text);
-               if(description != null)
-                       tb.setTitle(description);
-       }
-
-       public Widget getWidget() {
-               return tb;
-       }
-
-}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/TkUnknown.java b/src/com/itmill/toolkit/terminal/gwt/client/TkUnknown.java
deleted file mode 100755 (executable)
index df1d578..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.itmill.toolkit.terminal.gwt.client;
-
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.xml.client.Node;
-
-public class TkUnknown extends Component {
-
-       private Label l;
-
-       public TkUnknown(Node uidl, GwtClient cli) {
-               super(getIdFromUidl(uidl),cli);
-
-               l = new Label("No client side component found for " + uidl.getNodeName());
-       }
-
-       public void updateFromUidl(Node n) {
-       }
-
-       public Widget getWidget() {
-               return l;
-       }
-
-}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ContainerComponent.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ContainerComponent.java
new file mode 100755 (executable)
index 0000000..d613223
--- /dev/null
@@ -0,0 +1,27 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.xml.client.Node;
+import com.google.gwt.xml.client.NodeList;
+import com.itmill.toolkit.terminal.gwt.client.Component;
+import com.itmill.toolkit.terminal.gwt.client.GwtClient;
+
+abstract class ContainerComponent extends Component {
+
+       public ContainerComponent(int id, GwtClient c) {
+               super(id, c);
+       }
+
+       abstract void appendChild(Component c);
+       
+       public void renderChildNodes(Node n, GwtClient cli) {
+               NodeList children = n.getChildNodes();
+               for(int i = 0; i < children.getLength(); i++) {
+                       Node child = children.item(i);
+                       if(Component.isComponent(child.getNodeName())) {
+                               Component c = Component.createComponent(child, cli);
+                               c.appendTo(this);
+                       }
+               }
+       }
+
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/RootWindow.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/RootWindow.java
new file mode 100755 (executable)
index 0000000..8032b1c
--- /dev/null
@@ -0,0 +1,45 @@
+       
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.RootPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.xml.client.Node;
+import com.itmill.toolkit.terminal.gwt.client.Component;
+import com.itmill.toolkit.terminal.gwt.client.GwtClient;
+
+public class RootWindow extends ContainerComponent {
+
+       private RootPanel rp;
+       private GwtClient client;
+
+       public RootWindow(Node uidl, GwtClient c) {
+               super(0,c);
+               // root panel must be attached to client before childs can be rendered
+               setClient(c);
+               rp = RootPanel.get("itmtk-ajax-window");
+               rp.clear();
+               renderChildNodes(uidl, client);
+       }
+       
+       void appendChild(Component c) {
+               rp.add(c.getWidget());
+       }
+
+       public void updateFromUidl(Node n) {
+               // TODO Auto-generated method stub
+
+       }
+
+       public Widget getWidget() {
+               return rp;
+       }
+
+       public void setClient(GwtClient client) {
+               this.client = client;
+       }
+       
+       public GwtClient getClient() {
+               return this.client;
+       }
+
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkButton.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkButton.java
new file mode 100755 (executable)
index 0000000..f3f2b88
--- /dev/null
@@ -0,0 +1,64 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.xml.client.NamedNodeMap;
+import com.google.gwt.xml.client.Node;
+import com.google.gwt.xml.client.NodeList;
+import com.itmill.toolkit.terminal.gwt.client.BooleanVariable;
+import com.itmill.toolkit.terminal.gwt.client.Component;
+import com.itmill.toolkit.terminal.gwt.client.GwtClient;
+import com.itmill.toolkit.terminal.gwt.client.VariableFactory;
+
+public class TkButton extends Component {
+
+       private Button b;
+       private BooleanVariable state;
+
+       public TkButton(Node uidl, GwtClient c) {
+               super(getIdFromUidl(uidl), c);
+               b = new Button();
+               updateFromUidl(uidl);
+               b.addClickListener(new ButtonClickListener());
+       }
+
+       public void updateFromUidl(Node n) {
+               
+               String text = "";
+               String description = null;
+               NamedNodeMap attributes = n.getAttributes();
+               Node caption = attributes.getNamedItem("caption");
+               if(caption != null)
+                       text = caption.getNodeValue();
+
+               NodeList children = n.getChildNodes();
+               for (int i = 0; i < children.getLength(); i++) {
+                       Node child = children.item(i);
+                       String nName = child.getNodeName();
+                       if(nName.equals("description"))
+                               description  = child.getFirstChild().toString();
+                       if(nName.equals("boolean")) {
+                               state = (BooleanVariable) VariableFactory.getVariable(child,this);
+                               state.setImmediate(true); // button always immediate
+                       }
+               }
+               b.setText(text);
+               if(description != null)
+                       b.setTitle(description);
+       }
+
+       public Widget getWidget() {
+               return b;
+       }
+       
+       public class ButtonClickListener implements ClickListener {
+
+               public void onClick(Widget sender) {
+                       TkButton.this.state.setValue(true);
+                       TkButton.this.state.update();
+               }
+               
+       }
+       
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkLabel.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkLabel.java
new file mode 100755 (executable)
index 0000000..2d2255b
--- /dev/null
@@ -0,0 +1,46 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.xml.client.NamedNodeMap;
+import com.google.gwt.xml.client.Node;
+import com.google.gwt.xml.client.NodeList;
+import com.itmill.toolkit.terminal.gwt.client.Component;
+import com.itmill.toolkit.terminal.gwt.client.GwtClient;
+
+public class TkLabel extends Component {
+
+       private Label l;
+
+       public TkLabel(Node uidl, GwtClient cli) {
+               super(getIdFromUidl(uidl), cli);
+
+               l = new Label();
+               updateFromUidl(uidl);
+       }
+
+       public void updateFromUidl(Node n) {
+               NodeList children = n.getChildNodes();
+               String text = "";
+               String description = null;
+               for (int i = 0; i < children.getLength(); i++) {
+                       Node child = children.item(i);
+                       if(child.getNodeName().equals("description"))
+                               description  = child.getNodeValue();
+                       else if(child.getNodeType() == Node.TEXT_NODE)
+                               text  = child.toString();
+               }
+               NamedNodeMap attributes = n.getAttributes();
+               Node caption = attributes.getNamedItem("caption");
+               if(caption != null)
+                       text = caption.getNodeValue();
+               l.setText(text);
+               if(description != null)
+                       l.setTitle(description);
+       }
+
+       public Widget getWidget() {
+               return l;
+       }
+
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkLegacyComponent.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkLegacyComponent.java
new file mode 100755 (executable)
index 0000000..402b9e2
--- /dev/null
@@ -0,0 +1,38 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.Element;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.xml.client.Node;
+import com.itmill.toolkit.terminal.gwt.client.Component;
+import com.itmill.toolkit.terminal.gwt.client.GwtClient;
+import com.itmill.toolkit.terminal.gwt.client.LegacyClientWrapper;
+
+public class TkLegacyComponent extends Component {
+
+       private Label l;
+
+       public TkLegacyComponent(Node uidl, GwtClient cli) {
+               super(getIdFromUidl(uidl), cli);
+               
+               // TODO Check if client has legacy client instantiated
+               
+               l = new Label();
+//             updateFromUidl(uidl);   
+       }
+
+       public void updateFromUidl(Node n) {
+               LegacyClientWrapper lc = client.getLegacyClient();
+               
+               Element e = l.getElement();
+               
+               lc.renderUidl(e,n);
+       }
+       
+       public Widget getWidget() {
+               return l;
+       }
+
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkOrderedLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkOrderedLayout.java
new file mode 100755 (executable)
index 0000000..90de9aa
--- /dev/null
@@ -0,0 +1,33 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.xml.client.Node;
+import com.itmill.toolkit.terminal.gwt.client.Component;
+import com.itmill.toolkit.terminal.gwt.client.GwtClient;
+
+public class TkOrderedLayout extends ContainerComponent {
+       
+       private FlowPanel p;
+
+       public TkOrderedLayout(Node uidl, GwtClient cli) {
+               super(getIdFromUidl(uidl), cli);
+
+               p = new FlowPanel();
+               updateFromUidl(uidl);
+       }
+
+       void appendChild(Component c) {
+               p.add(c.getWidget());
+       }
+
+       public Widget getWidget() {
+               return p;
+       }
+
+       public void updateFromUidl(Node n) {
+               p.clear();
+               renderChildNodes(n, getClient());
+       }
+
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkTextField.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkTextField.java
new file mode 100755 (executable)
index 0000000..c86e21a
--- /dev/null
@@ -0,0 +1,47 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.xml.client.NamedNodeMap;
+import com.google.gwt.xml.client.Node;
+import com.google.gwt.xml.client.NodeList;
+import com.itmill.toolkit.terminal.gwt.client.Component;
+import com.itmill.toolkit.terminal.gwt.client.GwtClient;
+
+public class TkTextField extends Component {
+
+
+       private TextBox tb;
+
+       public TkTextField(Node uidl, GwtClient cli) {
+               super(getIdFromUidl(uidl),cli);
+
+               tb = new TextBox();
+               updateFromUidl(uidl);
+       }
+
+       public void updateFromUidl(Node n) {
+               NodeList children = n.getChildNodes();
+               String text = "";
+               String description = null;
+               for (int i = 0; i < children.getLength(); i++) {
+                       Node child = children.item(i);
+                       if(child.getNodeName().equals("description"))
+                               description  = child.getNodeValue();
+                       else if(child.getNodeType() == Node.TEXT_NODE)
+                               text  = child.toString();
+               }
+               NamedNodeMap attributes = n.getAttributes();
+               Node caption = attributes.getNamedItem("caption");
+               if(caption != null)
+                       text = caption.getNodeValue();
+               tb.setText(text);
+               if(description != null)
+                       tb.setTitle(description);
+       }
+
+       public Widget getWidget() {
+               return tb;
+       }
+
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkUnknown.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkUnknown.java
new file mode 100755 (executable)
index 0000000..6dc6d65
--- /dev/null
@@ -0,0 +1,26 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.xml.client.Node;
+import com.itmill.toolkit.terminal.gwt.client.Component;
+import com.itmill.toolkit.terminal.gwt.client.GwtClient;
+
+public class TkUnknown extends Component {
+
+       private Label l;
+
+       public TkUnknown(Node uidl, GwtClient cli) {
+               super(getIdFromUidl(uidl),cli);
+
+               l = new Label("No client side component found for " + uidl.getNodeName());
+       }
+
+       public void updateFromUidl(Node n) {
+       }
+
+       public Widget getWidget() {
+               return l;
+       }
+
+}