*/
public class Client implements EntryPoint {
- private String appUri = "http://127.0.0.1:8080/tk/HelloWorld";
+ private String appUri = "http://127.0.0.1:8080/tk/Calc";
// TODO remove repaintAll things start to pile up
private RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, appUri
import com.google.gwt.user.client.ui.Widget;
import com.itmill.toolkit.terminal.gwt.client.ui.Button;
+import com.itmill.toolkit.terminal.gwt.client.ui.GridLayout;
import com.itmill.toolkit.terminal.gwt.client.ui.Label;
import com.itmill.toolkit.terminal.gwt.client.ui.OrderedLayout;
import com.itmill.toolkit.terminal.gwt.client.ui.Window;
return new OrderedLayout();
if ("label".equals(tag))
return new Label();
+ if ("gridlayout".equals(tag))
+ return new GridLayout();
return null;
}
package com.itmill.toolkit.terminal.gwt.client.ui;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Widget;
import com.itmill.toolkit.terminal.gwt.client.Client;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
-public class Button extends com.google.gwt.user.client.ui.Button implements Paintable {
+public class Button extends com.google.gwt.user.client.ui.Button implements
+ Paintable, ClickListener {
String id;
-
+
+ Client client;
+
+ public Button() {
+ addClickListener(this);
+ }
+
public void updateFromUIDL(UIDL uidl, Client client) {
+ this.client = client;
id = uidl.getId();
setText(uidl.getStringAttribute("caption"));
}
+ public void onClick(Widget sender) {
+ if (id == null || client == null)
+ return;
+ client.updateVariable(id, "state", true, true);
+ }
}
--- /dev/null
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import java.util.Iterator;
+
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.itmill.toolkit.terminal.gwt.client.Client;
+import com.itmill.toolkit.terminal.gwt.client.Paintable;
+import com.itmill.toolkit.terminal.gwt.client.UIDL;
+
+public class GridLayout extends VerticalPanel implements Paintable {
+
+ public void updateFromUIDL(UIDL uidl, Client client) {
+ clear();
+ if (uidl.hasAttribute("caption")) setTitle(uidl.getStringAttribute("caption"));
+ for (Iterator i = uidl.getChildIterator(); i.hasNext();) {
+ UIDL r = (UIDL) i.next();
+ if ("gr".equals(r.getTag())) {
+ HorizontalPanel row = new HorizontalPanel();
+ add(row);
+ for (Iterator j = r.getChildIterator(); j.hasNext();) {
+ UIDL c = (UIDL) j.next();
+ if ("gc".equals(c.getTag())) {
+ UIDL u = c.getChildUIDL(0);
+ Widget child = client.createWidgetFromUIDL(u);
+ if (child != null)
+ row.add(child);
+ }
+ }
+ }
+ }
+ }
+
+}
import java.util.Iterator;
-import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.itmill.toolkit.terminal.gwt.client.Client;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
-public class OrderedLayout extends FlowPanel implements Paintable {
+public class OrderedLayout extends VerticalPanel implements Paintable {
public void updateFromUIDL(UIDL uidl, Client client) {
clear();