</any>
</replace-with>
- <entry-point class="com.vaadin.terminal.gwt.client.DefaultWidgetSet" />
+ <entry-point class="com.vaadin.terminal.gwt.client.ApplicationConfiguration" />
</module>
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;
/**
* @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 {
* 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)
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
* 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
+ }
}
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
* @since 3.0
*/
@SuppressWarnings("serial")
-@ClientWidget(value = VCustomComponent.class, lazyLoad = false)
+@ClientWidget(value = VCustomComponent.class, loadStyle = LoadStyle.EAGER)
public class CustomComponent extends AbstractComponentContainer {
/**
package com.vaadin.ui;
import com.vaadin.terminal.gwt.client.ui.VHorizontalLayout;
+import com.vaadin.ui.ClientWidget.LoadStyle;
/**
* Horizontal layout
* @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() {
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.
* @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 {
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.
*/
@SuppressWarnings("serial")
@Deprecated
-@ClientWidget(value = VOrderedLayout.class, lazyLoad = false)
+@ClientWidget(value = VOrderedLayout.class, loadStyle = LoadStyle.EAGER)
public class OrderedLayout extends AbstractOrderedLayout {
/* Predefined orientations */
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.
* @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 */
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>
* @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 {
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
*
*/
@SuppressWarnings("serial")
-@ClientWidget(value = VUriFragmentUtility.class, lazyLoad = false)
+@ClientWidget(value = VUriFragmentUtility.class, loadStyle = LoadStyle.EAGER)
public class UriFragmentUtility extends AbstractComponent {
/**
package com.vaadin.ui;
import com.vaadin.terminal.gwt.client.ui.VVerticalLayout;
+import com.vaadin.ui.ClientWidget.LoadStyle;
/**
* Vertical layout
* @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() {
"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