]> source.dussan.org Git - vaadin-framework.git/commitdiff
svn changeset:1591/svn branch:trunk
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 5 Jun 2007 12:33:39 +0000 (12:33 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 5 Jun 2007 12:33:39 +0000 (12:33 +0000)
15 files changed:
src/com/itmill/toolkit/terminal/gwt/client/BooleanVariable.java
src/com/itmill/toolkit/terminal/gwt/client/Client.java
src/com/itmill/toolkit/terminal/gwt/client/Component.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/GwtClient.java [deleted file]
src/com/itmill/toolkit/terminal/gwt/client/Variable.java
src/com/itmill/toolkit/terminal/gwt/client/VariableFactory.java
src/com/itmill/toolkit/terminal/gwt/client/ui/Component.java [new file with mode: 0755]
src/com/itmill/toolkit/terminal/gwt/client/ui/ContainerComponent.java
src/com/itmill/toolkit/terminal/gwt/client/ui/RootWindow.java
src/com/itmill/toolkit/terminal/gwt/client/ui/TkButton.java
src/com/itmill/toolkit/terminal/gwt/client/ui/TkLabel.java
src/com/itmill/toolkit/terminal/gwt/client/ui/TkLegacyComponent.java
src/com/itmill/toolkit/terminal/gwt/client/ui/TkOrderedLayout.java
src/com/itmill/toolkit/terminal/gwt/client/ui/TkTextField.java
src/com/itmill/toolkit/terminal/gwt/client/ui/TkUnknown.java

index 19c3ba36b3ce2de9b2244487056f1f2dfaea0bbe..342f943ff20057927ca9bc58186b77352f4f93e3 100755 (executable)
@@ -1,5 +1,7 @@
 package com.itmill.toolkit.terminal.gwt.client;
 
+import com.itmill.toolkit.terminal.gwt.client.ui.Component;
+
 public class BooleanVariable extends Variable {
 
        private boolean value = true;
@@ -9,7 +11,7 @@ public class BooleanVariable extends Variable {
        }
        
 
-       void update() {
+       public void update() {
                owner.getClient().updateVariable(this);
                if(immediate)
                        owner.getClient().flushVariables();
index 3f5de7f1e2b2367eb8744217b66cc2b7535e8d3b..bd3eeefb42ac92458c04de83790cc471a6b33de5 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.Component;
 import com.itmill.toolkit.terminal.gwt.client.ui.RootWindow;
 
 /**
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/Component.java b/src/com/itmill/toolkit/terminal/gwt/client/Component.java
deleted file mode 100755 (executable)
index bfb498d..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-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 {
-       
-       private ContainerComponent parent;
-       protected GwtClient client;
-       private final int id;
-       
-       public Component(int id, GwtClient c) {
-               client = c;
-               this.id = id;
-       }
-
-       public abstract void updateFromUidl(Node n);
-
-       public abstract Widget getWidget(); 
-       
-       public static boolean isComponent(String nodeName) {
-               if(
-                               nodeName.equals("label") ||
-                               nodeName.equals("button") ||
-                               nodeName.equals("textfield") ||
-                               nodeName.equals("select") ||
-                               nodeName.equals("orderedlayout")
-               ) return true;
-               return false;
-       }
-
-       public static Component createComponent(Node uidl, GwtClient cli) {
-               Component c = null;
-               String nodeName = uidl.getNodeName();
-               if(nodeName.equals("label")) {
-                       c = new TkLabel(uidl, cli);
-               } else if(nodeName.equals("orderedlayout")) {
-                       c = new TkOrderedLayout(uidl, cli);
-               } else if(nodeName.equals("button")) {
-                       c = new TkButton(uidl, cli);
-               } else if(nodeName.equals("textfield")) {
-                       c = new TkTextField(uidl, cli);
-               } else if(nodeName.equals("select")) {
-                       c = new TkLegacyComponent(uidl, cli);
-               } else {
-                       c = new TkUnknown(uidl, cli);
-               }
-               return c;
-       }
-       
-       public void appendTo(ContainerComponent cont) {
-               this.parent = cont;
-               getClient().registerComponent(this);
-               cont.appendChild(this);
-       }
-       
-       public ContainerComponent getParent() {
-               return parent;
-       }
-       
-       public GwtClient getClient() {
-               if(client == null)
-                       client = parent.getClient();
-               return client;
-       }
-       
-       public static int getIdFromUidl(Node uidl) {
-               Node pid = uidl.getAttributes().getNamedItem("id");
-               return Integer.parseInt(pid.getNodeValue().substring(3));
-       }
-
-       public int getId() {
-               return id;
-       }
-
-}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/GwtClient.java b/src/com/itmill/toolkit/terminal/gwt/client/GwtClient.java
deleted file mode 100755 (executable)
index 2efdb26..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-package com.itmill.toolkit.terminal.gwt.client;
-
-import java.util.HashMap;
-import java.util.Vector;
-
-import com.google.gwt.core.client.EntryPoint;
-import com.google.gwt.http.client.Request;
-import com.google.gwt.http.client.RequestBuilder;
-import com.google.gwt.http.client.RequestCallback;
-import com.google.gwt.http.client.RequestException;
-import com.google.gwt.http.client.Response;
-import com.google.gwt.http.client.URL;
-import com.google.gwt.user.client.ui.RootPanel;
-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>.
- */
-public class GwtClient implements EntryPoint {
-
-       private String appUri = "http://localhost:8080/tk/HelloWorld";
-       
-       // TODO remove repaintAll things start to pile up
-       private RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, appUri + "/UIDL/?repaintAll=1&");
-       
-       private Console console;
-
-       private RootWindow rw;
-       
-       private Vector pendingVariables = new Vector();
-       
-       private HashMap components = new HashMap();
-       
-       private int requestCount = 0;
-
-       private LegacyClientWrapper lClient;
-
-       /**
-        * This is the entry point method.
-        */
-       public void onModuleLoad() {
-               
-               console = new Console(RootPanel.get("itmtk-loki"));
-               
-               console.log("muutos");
-
-               console.log("Starting app");
-               
-               console.log("Makin fake UIDL Request to fool servlet of an app init");
-               RequestBuilder rb2 = new RequestBuilder(RequestBuilder.GET, appUri);
-               try {
-                       rb2.sendRequest("", new RequestCallback() {
-                       
-                               public void onResponseReceived(Request request, Response response) {
-                                       console.log("Got fake response... sending initial UIDL request");
-                                       makeUidlRequest("repaintAll=1");
-                               }
-                       
-                               public void onError(Request request, Throwable exception) {
-                                       // TODO Auto-generated method stub
-                       
-                               }
-                       
-                       });
-               } catch (RequestException e1) {
-                       // TODO Auto-generated catch block
-                       e1.printStackTrace();
-               }
-               
-       }
-
-       private void makeUidlRequest(String requestData) {
-               console.log("Making UIDL Request");
-               rb = new RequestBuilder(RequestBuilder.GET, appUri + "/UIDL/?requestId=" + (++requestCount) + "&" + requestData);
-               try {
-                       rb.sendRequest(requestData, new RequestCallback() {
-                               public void onError(Request request, Throwable exception) {
-                                       console.error("Got error");
-                               }
-                               public void onResponseReceived(Request request, Response response) {
-                                       console.log("Got response:");
-                                       Document doc = XMLParser.parse(response.getText());
-                                       console.log(doc.toString());
-                                       handleUIDL(doc);
-                               }
-                       });
-                       console.log("Request sent");
-                       
-               } catch (RequestException e) {
-                       console.error(e.getMessage());
-               }
-       }
-       
-       private void handleUIDL(Document doc) {
-               NodeList changes = doc.getElementsByTagName("change");
-               
-               for(int i = 0; i < changes.getLength(); i++) {
-                       applyChange(changes.item(i).getFirstChild());
-               }
-       }
-       
-       private void applyChange(Node n) {
-               if(n.getNodeName().equals("window")) {
-                       console.log("Rendering main window");
-                       rw = new RootWindow(n, this);
-                       rw.setClient(this);
-               } else {
-                       int pid = Component.getIdFromUidl(n);
-                       console.log("Updating node: " + n.getNodeName() + ", PID:"+pid);
-                       Component c = getPaintable(pid);
-                       c.updateFromUidl(n);
-               }
-       }
-
-       /**
-        * Queues a changed variable to be sent to server
-        * 
-        * @param variable
-        */
-       public void updateVariable(Variable variable) {
-               // remove variable first so we will maintain the correct order (in case of "double change")
-               pendingVariables.remove(variable);
-               pendingVariables.add(variable);
-       }
-
-       /**
-        * Sends queued variables to server
-        *
-        */
-       public void flushVariables() {
-
-           StringBuffer sb = new StringBuffer();
-
-               int i = 0;
-           while (!pendingVariables.isEmpty()) {
-                       Variable v = (Variable) pendingVariables.lastElement();
-                       pendingVariables.removeElement(v);
-
-                       if (i > 0) {
-                               sb.append("&");
-                       }
-                       // encode the characters in the name
-                       String encodedName = URL.encodeComponent(v.getId());
-                       sb.append(encodedName);
-                       sb.append("=");
-           
-                       // encode the characters in the value
-                       String encodedValue = URL.encodeComponent(v.getEncodedValue());
-                       sb.append(encodedValue);
-           }
-           
-           String buf = sb.toString();
-               
-               console.log("Making following request to server:");
-               console.log(buf);
-               
-               makeUidlRequest(buf);
-       }
-
-       public void registerComponent(Component component) {
-               components.put(""+component.getId(), component );
-       }
-       
-       public Component getPaintable(int pid) {
-               return (Component) components.get(""+pid);
-       }
-       
-       public LegacyClientWrapper getLegacyClient() {
-               if(lClient == null)
-                       lClient = new LegacyClientWrapper();
-               return lClient;
-       }
-}
-
index 7b957132f6ab7e2d651b84733e2e2a9abb84bd79..365b143472e3ab0e2e1ef75813be4d1ecfb21fc1 100755 (executable)
@@ -1,5 +1,7 @@
 package com.itmill.toolkit.terminal.gwt.client;
 
+import com.itmill.toolkit.terminal.gwt.client.ui.Component;
+
 public abstract class Variable {
 
        protected Component owner;
index 52cac4cf15f48851a2902b095cb4934d39edb0ca..6bfe74a54fa25179c4a892ee44c4d2c2ae59d456 100755 (executable)
@@ -5,6 +5,7 @@ import java.util.HashMap;
 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.ui.Component;
 
 public class VariableFactory {
        
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/Component.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/Component.java
new file mode 100755 (executable)
index 0000000..bc7bf28
--- /dev/null
@@ -0,0 +1,77 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.xml.client.Node;
+import com.itmill.toolkit.terminal.gwt.client.Client;
+
+public abstract class Component {
+       
+       private ContainerComponent parent;
+       protected Client client;
+       private final int id;
+       
+       public Component(int id, Client c) {
+               client = c;
+               this.id = id;
+       }
+
+       public abstract void updateFromUidl(Node n);
+
+       public abstract Widget getWidget(); 
+       
+       public static boolean isComponent(String nodeName) {
+               if(
+                               nodeName.equals("label") ||
+                               nodeName.equals("button") ||
+                               nodeName.equals("textfield") ||
+                               nodeName.equals("select") ||
+                               nodeName.equals("orderedlayout")
+               ) return true;
+               return false;
+       }
+
+       public static Component createComponent(Node uidl, Client cli) {
+               Component c = null;
+               String nodeName = uidl.getNodeName();
+               if(nodeName.equals("label")) {
+                       c = new TkLabel(uidl, cli);
+               } else if(nodeName.equals("orderedlayout")) {
+                       c = new TkOrderedLayout(uidl, cli);
+               } else if(nodeName.equals("button")) {
+                       c = new TkButton(uidl, cli);
+               } else if(nodeName.equals("textfield")) {
+                       c = new TkTextField(uidl, cli);
+               } else if(nodeName.equals("select")) {
+                       c = new TkLegacyComponent(uidl, cli);
+               } else {
+                       c = new TkUnknown(uidl, cli);
+               }
+               return c;
+       }
+       
+       public void appendTo(ContainerComponent cont) {
+               this.parent = cont;
+               getClient().registerComponent(this);
+               cont.appendChild(this);
+       }
+       
+       public ContainerComponent getParent() {
+               return parent;
+       }
+       
+       public Client getClient() {
+               if(client == null)
+                       client = parent.getClient();
+               return client;
+       }
+       
+       public static int getIdFromUidl(Node uidl) {
+               Node pid = uidl.getAttributes().getNamedItem("id");
+               return Integer.parseInt(pid.getNodeValue().substring(3));
+       }
+
+       public int getId() {
+               return id;
+       }
+
+}
index d61322331f2f7c0ad21013ff097f51e4104a4f53..543c2451c4acc43409f1b918f8f25a262f217422 100755 (executable)
@@ -2,18 +2,17 @@ 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;
+import com.itmill.toolkit.terminal.gwt.client.Client;
 
 abstract class ContainerComponent extends Component {
 
-       public ContainerComponent(int id, GwtClient c) {
+       public ContainerComponent(int id, Client c) {
                super(id, c);
        }
 
        abstract void appendChild(Component c);
        
-       public void renderChildNodes(Node n, GwtClient cli) {
+       public void renderChildNodes(Node n, Client cli) {
                NodeList children = n.getChildNodes();
                for(int i = 0; i < children.getLength(); i++) {
                        Node child = children.item(i);
index 8032b1c6d0ef04637d4b1e11f60c5fe8bf35c626..101ec4472445c24a0e117268c5c0a7708d17c66a 100755 (executable)
@@ -4,15 +4,14 @@ 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;
+import com.itmill.toolkit.terminal.gwt.client.Client;
 
 public class RootWindow extends ContainerComponent {
 
        private RootPanel rp;
-       private GwtClient client;
+       private Client client;
 
-       public RootWindow(Node uidl, GwtClient c) {
+       public RootWindow(Node uidl, Client c) {
                super(0,c);
                // root panel must be attached to client before childs can be rendered
                setClient(c);
@@ -34,11 +33,11 @@ public class RootWindow extends ContainerComponent {
                return rp;
        }
 
-       public void setClient(GwtClient client) {
+       public void setClient(Client client) {
                this.client = client;
        }
        
-       public GwtClient getClient() {
+       public Client getClient() {
                return this.client;
        }
 
index f3f2b882c4fdbd593054392eecf158aeaff08d16..a4362114d9b7b495a57400414c9957068143a120 100755 (executable)
@@ -7,8 +7,7 @@ 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.Client;
 import com.itmill.toolkit.terminal.gwt.client.VariableFactory;
 
 public class TkButton extends Component {
@@ -16,7 +15,7 @@ public class TkButton extends Component {
        private Button b;
        private BooleanVariable state;
 
-       public TkButton(Node uidl, GwtClient c) {
+       public TkButton(Node uidl, Client c) {
                super(getIdFromUidl(uidl), c);
                b = new Button();
                updateFromUidl(uidl);
index 2d2255bc8c0f6ce343da50d23a5a87c3c82ad0e5..1d41ce822ec1d8c869e034703fe296461f800355 100755 (executable)
@@ -5,14 +5,13 @@ 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;
+import com.itmill.toolkit.terminal.gwt.client.Client;
 
 public class TkLabel extends Component {
 
        private Label l;
 
-       public TkLabel(Node uidl, GwtClient cli) {
+       public TkLabel(Node uidl, Client cli) {
                super(getIdFromUidl(uidl), cli);
 
                l = new Label();
index 402b9e24e80ab67e6b11c2ef7d1d0defa5447368..66dcf57a5c85b8dd61728188c03dd07990eeac9a 100755 (executable)
@@ -6,15 +6,14 @@ 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.Client;
 import com.itmill.toolkit.terminal.gwt.client.LegacyClientWrapper;
 
 public class TkLegacyComponent extends Component {
 
        private Label l;
 
-       public TkLegacyComponent(Node uidl, GwtClient cli) {
+       public TkLegacyComponent(Node uidl, Client cli) {
                super(getIdFromUidl(uidl), cli);
                
                // TODO Check if client has legacy client instantiated
index 90de9aa7e3b00e1fafb70af1e9771902b68b41fe..f7c590b8631127794a3fc0bb44b3425e885b6406 100755 (executable)
@@ -3,14 +3,13 @@ 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;
+import com.itmill.toolkit.terminal.gwt.client.Client;
 
 public class TkOrderedLayout extends ContainerComponent {
        
        private FlowPanel p;
 
-       public TkOrderedLayout(Node uidl, GwtClient cli) {
+       public TkOrderedLayout(Node uidl, Client cli) {
                super(getIdFromUidl(uidl), cli);
 
                p = new FlowPanel();
index c86e21a7cc98464b217ffdb1b92c8e6e2cf2e152..cec2e175970ac912ea04fe09bd261bf41b623d39 100755 (executable)
@@ -5,15 +5,14 @@ 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;
+import com.itmill.toolkit.terminal.gwt.client.Client;
 
 public class TkTextField extends Component {
 
 
        private TextBox tb;
 
-       public TkTextField(Node uidl, GwtClient cli) {
+       public TkTextField(Node uidl, Client cli) {
                super(getIdFromUidl(uidl),cli);
 
                tb = new TextBox();
index 6dc6d65b30f99dd23f7c5fc776b2a754b6027f7d..78d18e638a581137241a9cea929a296e49b5c872 100755 (executable)
@@ -3,14 +3,13 @@ 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;
+import com.itmill.toolkit.terminal.gwt.client.Client;
 
 public class TkUnknown extends Component {
 
        private Label l;
 
-       public TkUnknown(Node uidl, GwtClient cli) {
+       public TkUnknown(Node uidl, Client cli) {
                super(getIdFromUidl(uidl),cli);
 
                l = new Label("No client side component found for " + uidl.getNodeName());