From 9f6b70c637556708bb2ca8de332a487bdcad1f65 Mon Sep 17 00:00:00 2001 From: Marc Englund Date: Wed, 20 Aug 2008 08:47:27 +0000 Subject: [PATCH] WidgetSet.createWidget() now returns Paintable, to indicate that that's required. Fixes #1974. svn changeset:5223/svn branch:trunk --- .../demo/colorpicker/gwt/client/ColorPickerWidgetSet.java | 4 ++-- .../demo/reservation/gwt/client/ReservationWidgetSet.java | 3 ++- .../toolkit/terminal/gwt/client/ApplicationConnection.java | 4 ++-- .../itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java | 2 +- src/com/itmill/toolkit/terminal/gwt/client/WidgetSet.java | 5 +++-- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/com/itmill/toolkit/demo/colorpicker/gwt/client/ColorPickerWidgetSet.java b/src/com/itmill/toolkit/demo/colorpicker/gwt/client/ColorPickerWidgetSet.java index 77409e5686..f095a5425b 100644 --- a/src/com/itmill/toolkit/demo/colorpicker/gwt/client/ColorPickerWidgetSet.java +++ b/src/com/itmill/toolkit/demo/colorpicker/gwt/client/ColorPickerWidgetSet.java @@ -4,14 +4,14 @@ package com.itmill.toolkit.demo.colorpicker.gwt.client; -import com.google.gwt.user.client.ui.Widget; import com.itmill.toolkit.demo.colorpicker.gwt.client.ui.IColorPicker; import com.itmill.toolkit.terminal.gwt.client.DefaultWidgetSet; +import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; public class ColorPickerWidgetSet extends DefaultWidgetSet { /** Creates a widget according to its class name. */ - public Widget createWidget(UIDL uidl) { + public Paintable createWidget(UIDL uidl) { final String className = resolveWidgetTypeName(uidl); if ("com.itmill.toolkit.demo.colorpicker.gwt.client.ui.IColorPicker" .equals(className)) { diff --git a/src/com/itmill/toolkit/demo/reservation/gwt/client/ReservationWidgetSet.java b/src/com/itmill/toolkit/demo/reservation/gwt/client/ReservationWidgetSet.java index 8171a0df23..6805be5231 100644 --- a/src/com/itmill/toolkit/demo/reservation/gwt/client/ReservationWidgetSet.java +++ b/src/com/itmill/toolkit/demo/reservation/gwt/client/ReservationWidgetSet.java @@ -9,10 +9,11 @@ import com.google.gwt.user.client.ui.Widget; import com.itmill.toolkit.demo.reservation.gwt.client.ui.ICalendarField; import com.itmill.toolkit.demo.reservation.gwt.client.ui.IGoogleMap; import com.itmill.toolkit.terminal.gwt.client.DefaultWidgetSet; +import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; public class ReservationWidgetSet extends DefaultWidgetSet { - public Widget createWidget(UIDL uidl) { + public Paintable createWidget(UIDL uidl) { final String className = resolveWidgetTypeName(uidl); if ("com.itmill.toolkit.terminal.gwt.client.ui.IGoogleMap" .equals(className)) { diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java index 212bbbf875..192e934a27 100755 --- a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java @@ -745,7 +745,7 @@ public class ApplicationConnection { if (!widgetSet.isCorrectImplementation(component, uidl)) { final Container parent = Util.getParentLayout(component); if (parent != null) { - final Widget w = widgetSet.createWidget(uidl); + final Widget w = (Widget) widgetSet.createWidget(uidl); parent.replaceChildComponent(component, w); registerPaintable(uidl.getId(), (Paintable) w); ((Paintable) w).updateFromUIDL(uidl, this); @@ -866,7 +866,7 @@ public class ApplicationConnection { if (w != null) { return w; } - w = (Paintable) widgetSet.createWidget(uidl); + w = widgetSet.createWidget(uidl); registerPaintable(id, w); return w; } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java index b98cdec668..0cd7348c5e 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java @@ -66,7 +66,7 @@ public class DefaultWidgetSet implements WidgetSet { } } - public Widget createWidget(UIDL uidl) { + public Paintable createWidget(UIDL uidl) { final String className = resolveWidgetTypeName(uidl); if ("com.itmill.toolkit.terminal.gwt.client.ui.ICheckBox" diff --git a/src/com/itmill/toolkit/terminal/gwt/client/WidgetSet.java b/src/com/itmill/toolkit/terminal/gwt/client/WidgetSet.java index e55da2c33d..8583e34cf4 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/WidgetSet.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/WidgetSet.java @@ -10,14 +10,15 @@ import com.google.gwt.user.client.ui.Widget; public interface WidgetSet extends EntryPoint { /** - * Create an uninitialized component that best matches given UIDL. + * Create an uninitialized component that best matches given UIDL. The + * component must be a {@link Widget} that implements {@link Paintable}. * * @param uidl * UIDL to be painted with returned component. * @return New uninitialized and unregistered component that can paint given * UIDL. */ - public Widget createWidget(UIDL uidl); + public Paintable createWidget(UIDL uidl); /** * Test if the given component implementation conforms to UIDL. -- 2.39.5