From 5ef5da15a7903262494d7e3fd7867dde7ed746c4 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Fri, 25 Sep 2009 12:07:09 +0000 Subject: [PATCH] steps toward simpler widgetset creation. Still needs a lot of cleaning and refining. svn changeset:8930/svn branch:2009-09-widget-packaging_3332 --- build/build.xml | 6 + .../vaadin/demo/colorpicker/ColorPicker.java | 3 + .../gwt/ColorPickerWidgetSet.gwt.xml | 5 +- .../gwt/client/ColorPickerWidgetSet.java | 36 - src/com/vaadin/demo/coverflow/Coverflow.java | 3 + .../coverflow/gwt/CoverflowWidgetSet.gwt.xml | 5 +- .../gwt/client/CoverflowWidgetSet.java | 36 - .../demo/reservation/CalendarField.java | 3 + .../vaadin/demo/reservation/GoogleMap.java | 3 + .../gwt/ReservationWidgetSet.gwt.xml | 3 - .../gwt/client/ReservationWidgetSet.java | 37 - src/com/vaadin/demo/sampler/ActiveLink.java | 3 + src/com/vaadin/demo/sampler/CodeLabel.java | 3 + .../vaadin/demo/sampler/GoogleAnalytics.java | 3 + .../demo/sampler/gwt/SamplerWidgetSet.gwt.xml | 3 - .../sampler/gwt/client/SamplerWidgetSet.java | 40 - .../portal/gwt/PortalDefaultWidgetSet.gwt.xml | 4 - .../gwt/client/PortalDefaultWidgetSet.java | 7 - src/com/vaadin/terminal/PaintTarget.java | 7 + .../terminal/gwt/DefaultWidgetSet.gwt.xml | 7 +- .../gwt/DefaultWidgetSetNoEntry.gwt.xml | 6 - .../gwt/client/ApplicationConfiguration.java | 38 +- .../gwt/client/ApplicationConnection.java | 36 +- .../terminal/gwt/client/DefaultWidgetSet.java | 282 +---- .../terminal/gwt/client/VDebugConsole.java | 13 +- .../terminal/gwt/client/VUIDLBrowser.java | 31 +- .../vaadin/terminal/gwt/client/WidgetMap.java | 38 + .../vaadin/terminal/gwt/client/WidgetSet.java | 20 +- .../gwt/client/ui/VUnknownComponent.java | 2 +- .../gwt/rebind/ClassPathExplorer.java | 266 +++++ .../gwt/rebind/WidgetMapGenerator.java | 192 ++++ .../gwt/server/CommunicationManager.java | 89 +- .../terminal/gwt/server/JsonPaintTarget.java | 48 +- src/com/vaadin/ui/AbsoluteLayout.java | 1 + src/com/vaadin/ui/AbstractComponent.java | 15 +- src/com/vaadin/ui/Accordion.java | 3 + src/com/vaadin/ui/Button.java | 2 + src/com/vaadin/ui/CheckBox.java | 5 +- src/com/vaadin/ui/ClientWidget.java | 21 + src/com/vaadin/ui/CssLayout.java | 1 + src/com/vaadin/ui/CustomComponent.java | 2 + src/com/vaadin/ui/CustomLayout.java | 2 + src/com/vaadin/ui/DateField.java | 2 + src/com/vaadin/ui/Embedded.java | 2 + src/com/vaadin/ui/Form.java | 2 + src/com/vaadin/ui/FormLayout.java | 3 + src/com/vaadin/ui/GridLayout.java | 2 + src/com/vaadin/ui/HorizontalLayout.java | 3 + src/com/vaadin/ui/Label.java | 2 + src/com/vaadin/ui/Link.java | 2 + src/com/vaadin/ui/ListSelect.java | 2 + src/com/vaadin/ui/MenuBar.java | 13 +- src/com/vaadin/ui/NativeSelect.java | 2 + src/com/vaadin/ui/OptionGroup.java | 2 + src/com/vaadin/ui/OrderedLayout.java | 2 + src/com/vaadin/ui/Panel.java | 2 + src/com/vaadin/ui/PopupView.java | 2 + src/com/vaadin/ui/ProgressIndicator.java | 2 + src/com/vaadin/ui/RichTextArea.java | 2 + src/com/vaadin/ui/Select.java | 2 + src/com/vaadin/ui/Slider.java | 1008 +++++++++-------- src/com/vaadin/ui/SplitPanel.java | 12 +- src/com/vaadin/ui/TabSheet.java | 2 + src/com/vaadin/ui/Table.java | 292 ++--- src/com/vaadin/ui/TextField.java | 2 + src/com/vaadin/ui/Tree.java | 2 + src/com/vaadin/ui/TwinColSelect.java | 2 + src/com/vaadin/ui/Upload.java | 11 +- src/com/vaadin/ui/UriFragmentUtility.java | 2 + src/com/vaadin/ui/VerticalLayout.java | 3 + src/com/vaadin/ui/Window.java | 15 +- 71 files changed, 1597 insertions(+), 1133 deletions(-) delete mode 100644 src/com/vaadin/demo/colorpicker/gwt/client/ColorPickerWidgetSet.java delete mode 100644 src/com/vaadin/demo/coverflow/gwt/client/CoverflowWidgetSet.java delete mode 100644 src/com/vaadin/demo/reservation/gwt/client/ReservationWidgetSet.java delete mode 100644 src/com/vaadin/demo/sampler/gwt/client/SamplerWidgetSet.java delete mode 100644 src/com/vaadin/portal/gwt/client/PortalDefaultWidgetSet.java delete mode 100644 src/com/vaadin/terminal/gwt/DefaultWidgetSetNoEntry.gwt.xml create mode 100644 src/com/vaadin/terminal/gwt/client/WidgetMap.java create mode 100644 src/com/vaadin/terminal/gwt/rebind/ClassPathExplorer.java create mode 100644 src/com/vaadin/terminal/gwt/rebind/WidgetMapGenerator.java create mode 100644 src/com/vaadin/ui/ClientWidget.java diff --git a/build/build.xml b/build/build.xml index e69ebed14d..ee73d898db 100644 --- a/build/build.xml +++ b/build/build.xml @@ -793,6 +793,7 @@ + @@ -815,6 +816,7 @@ + @@ -845,6 +847,7 @@ + @@ -868,6 +871,7 @@ + @@ -890,6 +894,7 @@ + @@ -912,6 +917,7 @@ + diff --git a/src/com/vaadin/demo/colorpicker/ColorPicker.java b/src/com/vaadin/demo/colorpicker/ColorPicker.java index a811d7ac92..55de19b73c 100644 --- a/src/com/vaadin/demo/colorpicker/ColorPicker.java +++ b/src/com/vaadin/demo/colorpicker/ColorPicker.java @@ -6,11 +6,14 @@ package com.vaadin.demo.colorpicker; import java.util.Map; +import com.vaadin.demo.colorpicker.gwt.client.ui.VColorPicker; import com.vaadin.terminal.PaintException; import com.vaadin.terminal.PaintTarget; import com.vaadin.ui.AbstractField; +import com.vaadin.ui.ClientWidget; @SuppressWarnings("serial") +@ClientWidget(VColorPicker.class) public class ColorPicker extends AbstractField { public ColorPicker() { diff --git a/src/com/vaadin/demo/colorpicker/gwt/ColorPickerWidgetSet.gwt.xml b/src/com/vaadin/demo/colorpicker/gwt/ColorPickerWidgetSet.gwt.xml index 718ab9e2c6..27ddc1d60f 100644 --- a/src/com/vaadin/demo/colorpicker/gwt/ColorPickerWidgetSet.gwt.xml +++ b/src/com/vaadin/demo/colorpicker/gwt/ColorPickerWidgetSet.gwt.xml @@ -1,11 +1,8 @@ - + - - - diff --git a/src/com/vaadin/demo/colorpicker/gwt/client/ColorPickerWidgetSet.java b/src/com/vaadin/demo/colorpicker/gwt/client/ColorPickerWidgetSet.java deleted file mode 100644 index 2c924c0239..0000000000 --- a/src/com/vaadin/demo/colorpicker/gwt/client/ColorPickerWidgetSet.java +++ /dev/null @@ -1,36 +0,0 @@ -/* -@ITMillApache2LicenseForJavaFiles@ - */ - -package com.vaadin.demo.colorpicker.gwt.client; - -import com.vaadin.demo.colorpicker.gwt.client.ui.VColorPicker; -import com.vaadin.terminal.gwt.client.DefaultWidgetSet; -import com.vaadin.terminal.gwt.client.Paintable; -import com.vaadin.terminal.gwt.client.UIDL; - -public class ColorPickerWidgetSet extends DefaultWidgetSet { - /** Resolves UIDL tag name to widget class. */ - @Override - protected Class resolveWidgetType(UIDL uidl) { - final String tag = uidl.getTag(); - if ("colorpicker".equals(tag)) { - return VColorPicker.class; - } - - // Let the DefaultWidgetSet handle resolution of default widgets - return super.resolveWidgetType(uidl); - } - - /** Creates a widget instance according to its class object. */ - @Override - public Paintable createWidget(UIDL uidl) { - final Class type = resolveWidgetType(uidl); - if (VColorPicker.class == type) { - return new VColorPicker(); - } - - // Let the DefaultWidgetSet handle creation of default widgets - return super.createWidget(uidl); - } -} diff --git a/src/com/vaadin/demo/coverflow/Coverflow.java b/src/com/vaadin/demo/coverflow/Coverflow.java index 149cf6e383..bd56261a38 100644 --- a/src/com/vaadin/demo/coverflow/Coverflow.java +++ b/src/com/vaadin/demo/coverflow/Coverflow.java @@ -4,11 +4,14 @@ package com.vaadin.demo.coverflow; +import com.vaadin.demo.coverflow.gwt.client.ui.VCoverflow; import com.vaadin.terminal.PaintException; import com.vaadin.terminal.PaintTarget; import com.vaadin.ui.AbstractSelect; +import com.vaadin.ui.ClientWidget; @SuppressWarnings( { "serial", "unchecked" }) +@ClientWidget(VCoverflow.class) public class Coverflow extends AbstractSelect { private String backgroundGradientStart = "FFFFFF"; diff --git a/src/com/vaadin/demo/coverflow/gwt/CoverflowWidgetSet.gwt.xml b/src/com/vaadin/demo/coverflow/gwt/CoverflowWidgetSet.gwt.xml index 36c016f131..a1987af121 100644 --- a/src/com/vaadin/demo/coverflow/gwt/CoverflowWidgetSet.gwt.xml +++ b/src/com/vaadin/demo/coverflow/gwt/CoverflowWidgetSet.gwt.xml @@ -1,8 +1,5 @@ - - - - + diff --git a/src/com/vaadin/demo/coverflow/gwt/client/CoverflowWidgetSet.java b/src/com/vaadin/demo/coverflow/gwt/client/CoverflowWidgetSet.java deleted file mode 100644 index bbde252540..0000000000 --- a/src/com/vaadin/demo/coverflow/gwt/client/CoverflowWidgetSet.java +++ /dev/null @@ -1,36 +0,0 @@ -/* -@ITMillApache2LicenseForJavaFiles@ - */ - -package com.vaadin.demo.coverflow.gwt.client; - -import com.vaadin.demo.coverflow.gwt.client.ui.VCoverflow; -import com.vaadin.terminal.gwt.client.DefaultWidgetSet; -import com.vaadin.terminal.gwt.client.Paintable; -import com.vaadin.terminal.gwt.client.UIDL; - -public class CoverflowWidgetSet extends DefaultWidgetSet { - /** Creates a widget according to its class name. */ - @Override - public Paintable createWidget(UIDL uidl) { - final Class classType = resolveWidgetType(uidl); - if (VCoverflow.class == classType) { - return new VCoverflow(); - } - - // Let the DefaultWidgetSet handle creation of default widgets - return super.createWidget(uidl); - } - - /** Resolves UIDL tag name to class . */ - @Override - protected Class resolveWidgetType(UIDL uidl) { - final String tag = uidl.getTag(); - if ("cover".equals(tag)) { - return VCoverflow.class; - } - - // Let the DefaultWidgetSet handle resolution of default widgets - return super.resolveWidgetType(uidl); - } -} \ No newline at end of file diff --git a/src/com/vaadin/demo/reservation/CalendarField.java b/src/com/vaadin/demo/reservation/CalendarField.java index 2af0f1ed71..349c6b59a8 100644 --- a/src/com/vaadin/demo/reservation/CalendarField.java +++ b/src/com/vaadin/demo/reservation/CalendarField.java @@ -12,14 +12,17 @@ import java.util.Iterator; import com.vaadin.data.Container; import com.vaadin.data.Item; import com.vaadin.data.Property; +import com.vaadin.demo.reservation.gwt.client.ui.VCalendarField; import com.vaadin.terminal.PaintException; import com.vaadin.terminal.PaintTarget; +import com.vaadin.ui.ClientWidget; import com.vaadin.ui.DateField; // TODO send one month at a time, do lazyLoading // TODO check date limit when updating variables // TODO Allow item selection @SuppressWarnings("serial") +@ClientWidget(VCalendarField.class) public class CalendarField extends DateField implements Container.Viewer { private static final String TAGNAME = "calendarfield"; diff --git a/src/com/vaadin/demo/reservation/GoogleMap.java b/src/com/vaadin/demo/reservation/GoogleMap.java index e82f7c0f6a..19dee3aacf 100644 --- a/src/com/vaadin/demo/reservation/GoogleMap.java +++ b/src/com/vaadin/demo/reservation/GoogleMap.java @@ -12,12 +12,15 @@ import com.vaadin.data.Container; import com.vaadin.data.Item; import com.vaadin.data.Property; import com.vaadin.data.util.IndexedContainer; +import com.vaadin.demo.reservation.gwt.client.ui.VGoogleMap; import com.vaadin.terminal.PaintException; import com.vaadin.terminal.PaintTarget; import com.vaadin.terminal.Sizeable; import com.vaadin.ui.AbstractComponent; +import com.vaadin.ui.ClientWidget; @SuppressWarnings("serial") +@ClientWidget(VGoogleMap.class) public class GoogleMap extends AbstractComponent implements Sizeable, Container.Viewer { private final String TAG_MARKERS = "markers"; diff --git a/src/com/vaadin/demo/reservation/gwt/ReservationWidgetSet.gwt.xml b/src/com/vaadin/demo/reservation/gwt/ReservationWidgetSet.gwt.xml index 1b2991d51c..4f38e07f26 100644 --- a/src/com/vaadin/demo/reservation/gwt/ReservationWidgetSet.gwt.xml +++ b/src/com/vaadin/demo/reservation/gwt/ReservationWidgetSet.gwt.xml @@ -23,7 +23,4 @@