]> source.dussan.org Git - vaadin-framework.git/commitdiff
renamed component classes, avoiding name collapsing with GWT's widgets
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 8 Jun 2007 05:42:58 +0000 (05:42 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 8 Jun 2007 05:42:58 +0000 (05:42 +0000)
svn changeset:1640/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/TkButton.java [new file with mode: 0644]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkGridLayout.java [new file with mode: 0644]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkLabel.java [new file with mode: 0644]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkOrderedLayout.java [new file with mode: 0644]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkUnknownComponent.java [new file with mode: 0644]
src/com/itmill/toolkit/terminal/gwt/client/ui/TkWindow.java [new file with mode: 0644]

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 100644 (file)
index 0000000..4cf2946
--- /dev/null
@@ -0,0 +1,31 @@
+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 TkButton extends com.google.gwt.user.client.ui.Button implements
+               Paintable, ClickListener {
+
+       String id;
+
+       Client client;
+
+       public TkButton() {
+               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);
+       }
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkGridLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkGridLayout.java
new file mode 100644 (file)
index 0000000..c6a7b2e
--- /dev/null
@@ -0,0 +1,40 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import java.util.Iterator;
+
+import com.google.gwt.user.client.ui.FlexTable;
+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 TkGridLayout extends FlexTable implements Paintable {
+
+       public void updateFromUIDL(UIDL uidl, Client client) {
+               clear();
+               if (uidl.hasAttribute("caption")) setTitle(uidl.getStringAttribute("caption"));
+               int row = 0, column = 0;
+               for (Iterator i = uidl.getChildIterator(); i.hasNext();) {
+                       UIDL r = (UIDL) i.next();
+                       if ("gr".equals(r.getTag())) {
+                               row++;
+                               column = 0;
+                               for (Iterator j = r.getChildIterator(); j.hasNext();) {
+                                       UIDL c = (UIDL) j.next();
+                                       if ("gc".equals(c.getTag())) {
+                                               column++;
+                                               if(c.hasAttribute("w")) {
+                                                       int w = c.getIntAttribute("w");
+                                                       ((FlexCellFormatter)getCellFormatter()).setColSpan(row,column, w);
+                                               }
+                                               UIDL u = c.getChildUIDL(0);                                             
+                                               Widget child = client.createWidgetFromUIDL(u);
+                                               if (child != null)
+                                                       setWidget(row, column, child);
+                                       }
+                               }
+                       }
+               }
+       }
+       
+}
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 100644 (file)
index 0000000..80916d4
--- /dev/null
@@ -0,0 +1,50 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.VerticalPanel;
+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 TkLabel extends Composite implements Paintable{
+       
+       com.google.gwt.user.client.ui.Label caption = new com.google.gwt.user.client.ui.Label();;
+       HTML content = new HTML();
+       
+       public TkLabel() {
+               VerticalPanel panel = new VerticalPanel();
+               panel.add(caption);
+               panel.add(content);
+               initWidget(panel);
+               setStyleName("itmtk-label");
+               caption.setStyleName("itmtk-label-caption");
+               content.setStyleName("itmtk-label-content");
+       }
+       
+       public void updateFromUIDL(UIDL uidl, Client client) {
+               try{
+                       UIDL child = uidl.getChildUIDL(0).getChildUIDL(0);
+                       if(child.hasAttribute("xmlns") && 
+                                       child.getStringAttribute("xmlns").
+                                       equals("http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd")) {
+                               setContent(child.getChildString(0));
+                       } else {
+                               setContent("Terminals Label compoent can't handle this content type.");
+                       }
+               } catch (Exception e) {
+                       setContent(uidl.getChildString(0));
+               }
+               if(uidl.hasAttribute("caption"))
+                       setCaption(uidl.getStringAttribute("caption"));
+               else
+                       caption.setVisible(false);
+       }
+       
+       public void setContent(String c) {
+               content.setHTML(c);
+       }
+       public void setCaption(String c) {
+               caption.setText(c);
+       }
+}
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 100644 (file)
index 0000000..6514075
--- /dev/null
@@ -0,0 +1,23 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import java.util.Iterator;
+
+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 TkOrderedLayout 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 uidlForChild = (UIDL)i.next();
+                       Widget child = client.createWidgetFromUIDL(uidlForChild);
+                       add(child);
+               }
+       }
+       
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkUnknownComponent.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkUnknownComponent.java
new file mode 100644 (file)
index 0000000..883d2f8
--- /dev/null
@@ -0,0 +1,32 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Tree;
+import com.google.gwt.user.client.ui.VerticalPanel;
+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 TkUnknownComponent extends Composite implements Paintable{
+       
+       com.google.gwt.user.client.ui.Label caption = new com.google.gwt.user.client.ui.Label();;
+       Tree uidlTree = new Tree();
+       
+       public TkUnknownComponent() {
+               VerticalPanel panel = new VerticalPanel();
+               panel.add(caption);
+               panel.add(uidlTree);
+               initWidget(panel);
+               setStyleName("itmtk-unknown");
+               caption.setStyleName("itmtk-unknown-caption");
+       }
+       
+       public void updateFromUIDL(UIDL uidl, Client client) {
+               setCaption("Client faced an unknown component type. Unrendered UIDL:");
+               uidlTree.addItem(uidl.dir());
+       }
+       
+       public void setCaption(String c) {
+               caption.setText(c);
+       }
+}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkWindow.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkWindow.java
new file mode 100644 (file)
index 0000000..39e65bb
--- /dev/null
@@ -0,0 +1,24 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import com.google.gwt.user.client.ui.FlowPanel;
+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 TkWindow extends FlowPanel implements Paintable {
+
+       String id;
+
+       public TkWindow() {
+               super();
+       }
+       
+       public void updateFromUIDL(UIDL uidl, Client client) {
+
+               id = uidl.getId();
+               com.google.gwt.user.client.Window.setTitle(uidl.getStringAttribute("caption"));
+               UIDL child = uidl.getChildUIDL(0);
+               add(client.createWidgetFromUIDL(child));
+       }
+
+}