From 2d753d6fc03f76cb23dc52f68348a3541c09d6b9 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Fri, 8 Jun 2007 05:42:58 +0000 Subject: [PATCH] renamed component classes, avoiding name collapsing with GWT's widgets svn changeset:1640/svn branch:trunk --- .../terminal/gwt/client/ui/TkButton.java | 31 ++++++++++++ .../terminal/gwt/client/ui/TkGridLayout.java | 40 +++++++++++++++ .../terminal/gwt/client/ui/TkLabel.java | 50 +++++++++++++++++++ .../gwt/client/ui/TkOrderedLayout.java | 23 +++++++++ .../gwt/client/ui/TkUnknownComponent.java | 32 ++++++++++++ .../terminal/gwt/client/ui/TkWindow.java | 24 +++++++++ 6 files changed, 200 insertions(+) create mode 100644 src/com/itmill/toolkit/terminal/gwt/client/ui/TkButton.java create mode 100644 src/com/itmill/toolkit/terminal/gwt/client/ui/TkGridLayout.java create mode 100644 src/com/itmill/toolkit/terminal/gwt/client/ui/TkLabel.java create mode 100644 src/com/itmill/toolkit/terminal/gwt/client/ui/TkOrderedLayout.java create mode 100644 src/com/itmill/toolkit/terminal/gwt/client/ui/TkUnknownComponent.java create mode 100644 src/com/itmill/toolkit/terminal/gwt/client/ui/TkWindow.java 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 index 0000000000..4cf2946ad0 --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkButton.java @@ -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 index 0000000000..c6a7b2e5f2 --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkGridLayout.java @@ -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 index 0000000000..80916d432b --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkLabel.java @@ -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 index 0000000000..6514075a00 --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkOrderedLayout.java @@ -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 index 0000000000..883d2f86d9 --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkUnknownComponent.java @@ -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 index 0000000000..39e65bbcb0 --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkWindow.java @@ -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)); + } + +} -- 2.39.5