Reviewers: Ray Ryan,


Please review this at http://gwt-code-reviews.appspot.com/115804

Affected files:
   M user/src/com/google/gwt/user/client/ui/StackLayoutPanel.java


Index: user/src/com/google/gwt/user/client/ui/StackLayoutPanel.java
diff --git a/user/src/com/google/gwt/user/client/ui/StackLayoutPanel.java  
b/user/src/com/google/gwt/user/client/ui/StackLayoutPanel.java
index  
d11634ed1f07dcfa6db43fe0c2b0aa192a01cf1a..77128a066ce81f4b87e6b05a665dd0ecb9300e9d
  
100644
--- a/user/src/com/google/gwt/user/client/ui/StackLayoutPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/StackLayoutPanel.java
@@ -15,8 +15,6 @@
   */
  package com.google.gwt.user.client.ui;

-import com.google.gwt.core.client.Scheduler;
-import com.google.gwt.core.client.Scheduler.ScheduledCommand;
  import com.google.gwt.dom.client.Style.Unit;
  import com.google.gwt.user.client.Event;

@@ -100,7 +98,7 @@ public class StackLayoutPanel extends Composite  
implements HasWidgets,
     * @param header the header widget
     * @param headerSize the size of the header widget
     */
-  public void add(Widget widget, Widget header, double headerSize) {
+  public void add(final Widget widget, Widget header, double headerSize) {
      ClickWrapper wrapper = new ClickWrapper(widget, header);
      layoutPanel.add(wrapper);
      layoutPanel.add(widget);
@@ -112,8 +110,9 @@ public class StackLayoutPanel extends Composite  
implements HasWidgets,
      layoutData.add(data);

      if (visibleWidget == null) {
-      // Don't animate the initial widget display.
-      showWidget(widget, 0);
+      // If there's no visible widget, display the first one. The layout  
will
+      // be updated onLoad().
+      visibleWidget = widget;
      }
    }

@@ -149,6 +148,12 @@ public class StackLayoutPanel extends Composite  
implements HasWidgets,
      };
    }

+  @Override
+  protected void onLoad() {
+    // When the widget becomes attached, update its layout.
+    animate(0);
+  }
+
    public void onResize() {
      layoutPanel.onResize();
    }
@@ -209,10 +214,6 @@ public class StackLayoutPanel extends Composite  
implements HasWidgets,

    private void showWidget(Widget widget, final int duration) {
      visibleWidget = widget;
-    Scheduler.get().scheduleFinally(new ScheduledCommand() {
-      public void execute() {
-        animate(duration);
-      }
-    });
+    animate(duration);
    }
  }


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to