]> source.dussan.org Git - vaadin-framework.git/commitdiff
code splitting + client initialization
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 11 Jun 2010 14:40:49 +0000 (14:40 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 11 Jun 2010 14:40:49 +0000 (14:40 +0000)
svn changeset:13651/svn branch:6.4

12 files changed:
src/com/vaadin/terminal/gwt/DefaultWidgetSet.gwt.xml
src/com/vaadin/ui/Button.java
src/com/vaadin/ui/ClientWidget.java
src/com/vaadin/ui/CustomComponent.java
src/com/vaadin/ui/HorizontalLayout.java
src/com/vaadin/ui/Label.java
src/com/vaadin/ui/OrderedLayout.java
src/com/vaadin/ui/SplitPanel.java
src/com/vaadin/ui/TextField.java
src/com/vaadin/ui/UriFragmentUtility.java
src/com/vaadin/ui/VerticalLayout.java
tests/src/com/vaadin/tests/server/container/AbstractContainerTest.java

index c5c9556eb088da58dc1e5a093a886e8d9f4edfe9..141337771737afa5c420ae6173f2ae250c468004 100644 (file)
@@ -53,6 +53,6 @@
                </any>
        </replace-with>
 
-       <entry-point class="com.vaadin.terminal.gwt.client.DefaultWidgetSet" />
+       <entry-point class="com.vaadin.terminal.gwt.client.ApplicationConfiguration" />
 
 </module>
index 99daf2b34cfb2b747ba1ab347e2b0e382e9b8e2f..92e578baadc3714aa1c74ab2ed95783d5ac4a535 100644 (file)
@@ -22,6 +22,7 @@ import com.vaadin.event.ShortcutAction.ModifierKey;
 import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 import com.vaadin.terminal.gwt.client.ui.VButton;
+import com.vaadin.ui.ClientWidget.LoadStyle;
 import com.vaadin.ui.themes.BaseTheme;
 
 /**
@@ -33,7 +34,7 @@ import com.vaadin.ui.themes.BaseTheme;
  * @since 3.0
  */
 @SuppressWarnings("serial")
-@ClientWidget(value = VButton.class, lazyLoad = false)
+@ClientWidget(value = VButton.class, loadStyle = LoadStyle.EAGER)
 public class Button extends AbstractField implements FieldEvents.BlurNotifier,
         FieldEvents.FocusNotifier {
 
index 39aecf1f8624034e0c514dffe386b899eb2504da..0848309b3107b555fd75acf0aa40d7a32a3ec586 100644 (file)
@@ -26,7 +26,6 @@ import com.vaadin.terminal.gwt.widgetsetutils.WidgetMapGenerator;
  * Note, even though client side implementation is needed during development,
  * one may safely remove them from classpath of the production server.
  * 
- * 
  * @since 6.2
  */
 @Retention(RetentionPolicy.RUNTIME)
@@ -38,6 +37,8 @@ public @interface ClientWidget {
     Class<? extends Paintable> value();
 
     /**
+     * TODO rewrite for EAGER, DEFERRED, LAZY
+     * 
      * The lazy loading of a widget implementation means the client side
      * component is not included in the initial JavaScript application loaded
      * when the application starts. Instead the implementation is loaded to the
@@ -64,6 +65,23 @@ public @interface ClientWidget {
      *         screen slightly increases, but widgets implementation does not
      *         stress the initialization of the client side engine.
      */
-    boolean lazyLoad() default true;
+    LoadStyle loadStyle() default LoadStyle.DEFERRED;
+
+    public enum LoadStyle {
+        /**
+         * The widget is included in the initial JS sent to the client.
+         */
+        EAGER,
+        /**
+         * Not included in the initial set of widgets, but added to queue from
+         * which it will be loaded when network is not busy or the
+         * implementation is required.
+         */
+        DEFERRED,
+        /**
+         * Loaded to the client only if needed.
+         */
+        LAZY
+    }
 
 }
index 46e92384f86cf337ca4cc7731c1ec133a736468f..e06fb321e3366cae5fbff31fa4c7b3f4a59b04cb 100644 (file)
@@ -10,6 +10,7 @@ import java.util.Iterator;
 import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 import com.vaadin.terminal.gwt.client.ui.VCustomComponent;
+import com.vaadin.ui.ClientWidget.LoadStyle;
 
 /**
  * Custom component provides simple implementation of Component interface for
@@ -26,7 +27,7 @@ import com.vaadin.terminal.gwt.client.ui.VCustomComponent;
  * @since 3.0
  */
 @SuppressWarnings("serial")
-@ClientWidget(value = VCustomComponent.class, lazyLoad = false)
+@ClientWidget(value = VCustomComponent.class, loadStyle = LoadStyle.EAGER)
 public class CustomComponent extends AbstractComponentContainer {
 
     /**
index 3308b5764e45c5cafdda6505a9e12b5e21ea67ac..7840d500271468273499c17e0c76025f768e4e61 100644 (file)
@@ -4,6 +4,7 @@
 package com.vaadin.ui;
 
 import com.vaadin.terminal.gwt.client.ui.VHorizontalLayout;
+import com.vaadin.ui.ClientWidget.LoadStyle;
 
 /**
  * Horizontal layout
@@ -17,7 +18,7 @@ import com.vaadin.terminal.gwt.client.ui.VHorizontalLayout;
  * @since 5.3
  */
 @SuppressWarnings("serial")
-@ClientWidget(value = VHorizontalLayout.class, lazyLoad = false)
+@ClientWidget(value = VHorizontalLayout.class, loadStyle = LoadStyle.EAGER)
 public class HorizontalLayout extends AbstractOrderedLayout {
 
     public HorizontalLayout() {
index 288692a365cb9edf1dccdaa78719ae39af156df7..6a295f7bc14bb7449617264613393d22007a0694 100644 (file)
@@ -11,6 +11,7 @@ import com.vaadin.data.util.ObjectProperty;
 import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 import com.vaadin.terminal.gwt.client.ui.VLabel;
+import com.vaadin.ui.ClientWidget.LoadStyle;
 
 /**
  * Label component for showing non-editable short texts.
@@ -38,7 +39,7 @@ import com.vaadin.terminal.gwt.client.ui.VLabel;
  * @since 3.0
  */
 @SuppressWarnings("serial")
-@ClientWidget(value = VLabel.class, lazyLoad = false)
+@ClientWidget(value = VLabel.class, loadStyle = LoadStyle.EAGER)
 public class Label extends AbstractComponent implements Property,
         Property.Viewer, Property.ValueChangeListener,
         Property.ValueChangeNotifier, Comparable {
index dafaf54e8e8d4ad0c742690b7e8a20d3a87ef665..4718c839ba28cc32cbc4e225a01689be0bfd7fe5 100644 (file)
@@ -6,6 +6,7 @@ package com.vaadin.ui;
 import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 import com.vaadin.terminal.gwt.client.ui.VOrderedLayout;
+import com.vaadin.ui.ClientWidget.LoadStyle;
 
 /**
  * Ordered layout.
@@ -24,7 +25,7 @@ import com.vaadin.terminal.gwt.client.ui.VOrderedLayout;
  */
 @SuppressWarnings("serial")
 @Deprecated
-@ClientWidget(value = VOrderedLayout.class, lazyLoad = false)
+@ClientWidget(value = VOrderedLayout.class, loadStyle = LoadStyle.EAGER)
 public class OrderedLayout extends AbstractOrderedLayout {
     /* Predefined orientations */
 
index fc443052e8b3f2571a66653aec80d97351a4e3a8..cd41a8276069a8270918cd6c8cd71d5c64edf615 100644 (file)
@@ -17,6 +17,7 @@ import com.vaadin.terminal.gwt.client.MouseEventDetails;
 import com.vaadin.terminal.gwt.client.ui.VSplitPanel;
 import com.vaadin.terminal.gwt.client.ui.VSplitPanelHorizontal;
 import com.vaadin.tools.ReflectTools;
+import com.vaadin.ui.ClientWidget.LoadStyle;
 
 /**
  * SplitPanel.
@@ -30,7 +31,7 @@ import com.vaadin.tools.ReflectTools;
  * @since 5.0
  */
 @SuppressWarnings("serial")
-@ClientWidget(value = VSplitPanelHorizontal.class, lazyLoad = false)
+@ClientWidget(value = VSplitPanelHorizontal.class, loadStyle = LoadStyle.EAGER)
 public class SplitPanel extends AbstractLayout {
 
     /* Predefined orientations */
index 9baeea744ba75bd4d285063be057c80617720787..aa4c7c86611060a84dc5f7da2a25cdbcad164e85 100644 (file)
@@ -16,6 +16,7 @@ import com.vaadin.event.FieldEvents.FocusListener;
 import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 import com.vaadin.terminal.gwt.client.ui.VTextField;
+import com.vaadin.ui.ClientWidget.LoadStyle;
 
 /**
  * <p>
@@ -38,7 +39,7 @@ import com.vaadin.terminal.gwt.client.ui.VTextField;
  * @since 3.0
  */
 @SuppressWarnings("serial")
-@ClientWidget(value = VTextField.class, lazyLoad = false)
+@ClientWidget(value = VTextField.class, loadStyle = LoadStyle.EAGER)
 public class TextField extends AbstractField implements
         FieldEvents.BlurNotifier, FieldEvents.FocusNotifier {
 
index a99b2803ca25a052df29d4be6cc39fbc6ef10a04..7835dcf90ec97ba57f130ff4a185bf45ea62477e 100644 (file)
@@ -10,6 +10,7 @@ import java.util.Map;
 import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 import com.vaadin.terminal.gwt.client.ui.VUriFragmentUtility;
+import com.vaadin.ui.ClientWidget.LoadStyle;
 
 /**
  * Experimental web browser dependent component for URI fragment (part after
@@ -20,7 +21,7 @@ import com.vaadin.terminal.gwt.client.ui.VUriFragmentUtility;
  * 
  */
 @SuppressWarnings("serial")
-@ClientWidget(value = VUriFragmentUtility.class, lazyLoad = false)
+@ClientWidget(value = VUriFragmentUtility.class, loadStyle = LoadStyle.EAGER)
 public class UriFragmentUtility extends AbstractComponent {
 
     /**
index 52b928ed82e7d9afae38cf535be74c00430f2739..40ea05b697670ca35ce5b7e3a7cb30d4c7cb1638 100644 (file)
@@ -4,6 +4,7 @@
 package com.vaadin.ui;
 
 import com.vaadin.terminal.gwt.client.ui.VVerticalLayout;
+import com.vaadin.ui.ClientWidget.LoadStyle;
 
 /**
  * Vertical layout
@@ -18,7 +19,7 @@ import com.vaadin.terminal.gwt.client.ui.VVerticalLayout;
  * @since 5.3
  */
 @SuppressWarnings("serial")
-@ClientWidget(value = VVerticalLayout.class, lazyLoad = false)
+@ClientWidget(value = VVerticalLayout.class, loadStyle = LoadStyle.EAGER)
 public class VerticalLayout extends AbstractOrderedLayout {
 
     public VerticalLayout() {
index f7f6ccbd47375c3bb2eae5732fccdb8111aea27f..30c528a04d184b05a8184b582a4e59e893415c74 100644 (file)
@@ -333,7 +333,7 @@ public abstract class AbstractContainerTest extends TestCase {
             "com.vaadin.terminal.gwt.client.ContainerResizedListener",\r
             "com.vaadin.terminal.gwt.client.CSSRule",\r
             "com.vaadin.terminal.gwt.client.DateTimeService",\r
-            "com.vaadin.terminal.gwt.client.DefaultWidgetSet",\r
+            "com.vaadin.terminal.gwt.client.WidgetSet",\r
             "com.vaadin.terminal.gwt.client.Focusable",\r
             "com.vaadin.terminal.gwt.client.HistoryImplIEVaadin",\r
             "com.vaadin.terminal.gwt.client.LocaleNotLoadedException",\r