From: Matti Tahvonen Date: Thu, 7 Jun 2007 10:49:08 +0000 (+0000) Subject: enhancements to gridlayout, label, window X-Git-Tag: 6.7.0.beta1~6312 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=74e127d6ccc37666e080f63609d08fa199eb2a2e;p=vaadin-framework.git enhancements to gridlayout, label, window svn changeset:1633/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/Client.java b/src/com/itmill/toolkit/terminal/gwt/client/Client.java index 3027b10740..f9c0179f02 100755 --- a/src/com/itmill/toolkit/terminal/gwt/client/Client.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/Client.java @@ -1,5 +1,6 @@ package com.itmill.toolkit.terminal.gwt.client; +import java.util.Date; import java.util.HashMap; import java.util.Vector; @@ -94,6 +95,7 @@ public class Client implements EntryPoint { } private void handleReceivedJSONMessage(Response response) { + Date start = new Date(); JSONValue json = JSONParser .parse(response.getText().substring(3) + "}"); @@ -103,7 +105,12 @@ public class Client implements EntryPoint { try { UIDL change = new UIDL((JSONArray) changes.get(i)); console.log("Received the following change: "); - console.dirUIDL(change); + try { + console.dirUIDL(change); + } catch (Exception e) { + // TODO: dir doesn't work in any browser although it should work (works in hosted mode) + // it partially did at some part but now broken. + } UIDL uidl = change.getChildUIDL(0); Paintable paintable = getPaintable(uidl.getId()); if (paintable != null) @@ -124,6 +131,8 @@ public class Client implements EntryPoint { } } + long prosessingTime = (new Date().getTime()) - start.getTime(); + console.log(" Processing time was " + String.valueOf(prosessingTime)); } public void registerPaintable(String id, Paintable paintable) { diff --git a/src/com/itmill/toolkit/terminal/gwt/client/UIDL.java b/src/com/itmill/toolkit/terminal/gwt/client/UIDL.java index 6f86696cba..acddac2634 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/UIDL.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/UIDL.java @@ -179,12 +179,13 @@ public class UIDL { Iterator i = getChildIterator(); while (i.hasNext()) { + Object child = i.next(); try{ - UIDL c = (UIDL) i.next(); + UIDL c = (UIDL) child; tmp.addItem(c.dir()); } catch (Exception e) { - tmp.addItem("bööh"); + tmp.addItem(child.toString()); } } item.addItem(tmp); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/GridLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/GridLayout.java index b61a53aabd..e3c560408c 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/GridLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/GridLayout.java @@ -23,6 +23,10 @@ public class GridLayout extends FlexTable implements Paintable { 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) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/Label.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/Label.java index 23008ab625..21199396d9 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/Label.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/Label.java @@ -1,12 +1,38 @@ package com.itmill.toolkit.terminal.gwt.client.ui; +import com.google.gwt.user.client.ui.Composite; +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 Label extends com.google.gwt.user.client.ui.Label implements Paintable{ - +public class Label extends Composite implements Paintable{ + + com.google.gwt.user.client.ui.Label caption = new com.google.gwt.user.client.ui.Label();; + com.google.gwt.user.client.ui.Label content = new com.google.gwt.user.client.ui.Label();; + + public Label() { + 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) { - setText(uidl.getChildString(0)); + setContent(uidl.getChildString(0)); + if(uidl.hasAttribute("caption")) + setCaption(uidl.getStringAttribute("caption")); + else + caption.setVisible(false); + } + + public void setContent(String c) { + content.setText(c); + } + public void setCaption(String c) { + caption.setText(c); } } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/Window.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/Window.java index b1d0a92968..ed49aa5c13 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/Window.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/Window.java @@ -1,28 +1,24 @@ package com.itmill.toolkit.terminal.gwt.client.ui; -import com.google.gwt.user.client.ui.DockPanel; -import com.google.gwt.user.client.ui.Label; +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 Window extends DockPanel implements Paintable { +public class Window extends FlowPanel implements Paintable { String id; - Label caption = new Label(); public Window() { super(); - setBorderWidth(2); - add(caption,NORTH); } public void updateFromUIDL(UIDL uidl, Client client) { id = uidl.getId(); - caption.setText(uidl.getStringAttribute("caption")); + com.google.gwt.user.client.Window.setTitle(uidl.getStringAttribute("caption")); UIDL child = uidl.getChildUIDL(0); - add(client.createWidgetFromUIDL(child),CENTER); + add(client.createWidgetFromUIDL(child)); } }