Revision: 8323
Author: jlaba...@google.com
Date: Mon Jun 28 08:24:06 2010
Log: Making StackLayoutPanel#showWidget(Widget) call showWidget(int) for legacy support. Ditto to TabLayoutPanel.

Review at http://gwt-code-reviews.appspot.com/641802

Review by: j...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=8323

Modified:
 /trunk/user/src/com/google/gwt/user/client/ui/StackLayoutPanel.java
 /trunk/user/src/com/google/gwt/user/client/ui/TabLayoutPanel.java
 /trunk/user/test/com/google/gwt/user/client/ui/StackLayoutPanelTest.java
 /trunk/user/test/com/google/gwt/user/client/ui/TabLayoutPanelTest.java

=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/StackLayoutPanel.java Mon Jun 7 12:20:31 2010 +++ /trunk/user/src/com/google/gwt/user/client/ui/StackLayoutPanel.java Mon Jun 28 08:24:06 2010
@@ -341,6 +341,7 @@
     };
   }

+  @Override
   public void onResize() {
     layoutPanel.onResize();
   }
@@ -439,7 +440,7 @@
    * @param child the child widget to be shown.
    */
   public void showWidget(Widget child) {
-    showWidget(child, true);
+    showWidget(getWidgetIndex(child));
   }

   /**
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/TabLayoutPanel.java Mon Jun 7 12:20:31 2010 +++ /trunk/user/src/com/google/gwt/user/client/ui/TabLayoutPanel.java Mon Jun 28 08:24:06 2010
@@ -420,7 +420,7 @@
    * @param child the child whose tab is to be selected
    */
   public void selectTab(Widget child) {
-    selectTab(child, true);
+    selectTab(getWidgetIndex(child));
   }

   /**
=======================================
--- /trunk/user/test/com/google/gwt/user/client/ui/StackLayoutPanelTest.java Mon Jun 7 12:20:31 2010 +++ /trunk/user/test/com/google/gwt/user/client/ui/StackLayoutPanelTest.java Mon Jun 28 08:24:06 2010
@@ -21,7 +21,9 @@
 import com.google.gwt.event.logical.shared.SelectionEvent;
 import com.google.gwt.event.logical.shared.SelectionHandler;

+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;

 /**
  * Tests for {...@link StackLayoutPanel}.
@@ -198,6 +200,30 @@
     handler.assertOnBeforeSelectionFired(false);
     handler.assertOnSelectionFired(false);
   }
+
+  /**
+ * For legacy reasons, {...@link StackLayoutPanel#showWidget(Widget)} should call
+   * {...@link StackLayoutPanel#showWidget(int)}.
+   */
+  public void testShowWidgetLegacy() {
+    final List<Integer> called = new ArrayList<Integer>();
+    StackLayoutPanel panel = new StackLayoutPanel(Unit.PX) {
+      @Override
+      public void showWidget(int index) {
+        called.add(index);
+        super.showWidget(index);
+      }
+    };
+    Label stack1 = new Label("Stack 1");
+    panel.add(new Label("Stack 0"), "Stack 0", 100);
+    panel.add(stack1, "Stack 1", 100);
+    panel.add(new Label("Stack 2"), "Stack 2", 100);
+    called.clear();
+
+    panel.showWidget(stack1);
+    assertEquals(1, called.size());
+    assertEquals(1, called.get(0).intValue());
+  }

   public void testVisibleWidget() {
     StackLayoutPanel p = new StackLayoutPanel(Unit.EM);
=======================================
--- /trunk/user/test/com/google/gwt/user/client/ui/TabLayoutPanelTest.java Mon Jun 7 12:20:31 2010 +++ /trunk/user/test/com/google/gwt/user/client/ui/TabLayoutPanelTest.java Mon Jun 28 08:24:06 2010
@@ -26,7 +26,9 @@
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.DeferredCommand;

+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;

 /**
  * Tests for {...@link TabLayoutPanel}.
@@ -39,7 +41,8 @@
     }
   }

- private class TestSelectionHandler implements BeforeSelectionHandler<Integer>, SelectionHandler<Integer> {
+  private class TestSelectionHandler implements
+      BeforeSelectionHandler<Integer>, SelectionHandler<Integer> {
     private boolean onBeforeSelectionFired;
     private boolean onSelectionFired;

@@ -273,6 +276,30 @@
     assertFalse(labels[1].isVisible());
     assertFalse(labels[2].isVisible());
   }
+
+  /**
+ * For legacy reasons, {...@link TabLayoutPanel#selectTab(Widget)} should call
+   * {...@link TabLayoutPanel#selectTab(int)}.
+   */
+  public void testSelectTabLegacy() {
+    final List<Integer> called = new ArrayList<Integer>();
+    TabLayoutPanel panel = new TabLayoutPanel(100.0, Unit.PX) {
+      @Override
+      public void selectTab(int index) {
+        called.add(index);
+        super.selectTab(index);
+      }
+    };
+    Label tab1 = new Label("Tab 1");
+    panel.add(new Label("Tab 0"), "Tab 0");
+    panel.add(tab1, "Tab 1");
+    panel.add(new Label("Tab 2"), "Tab 2");
+    called.clear();
+
+    panel.selectTab(tab1);
+    assertEquals(1, called.size());
+    assertEquals(1, called.get(0).intValue());
+  }

   /**
    * Tests that tabs actually line up properly (see issue 4447).
@@ -285,8 +312,7 @@
     p.add(new Button("foo"), new Label("foo"));
     p.add(new Button("bar"), new Label("bar"));

-    assertEquals(
-        p.getTabWidget(0).getElement().getOffsetTop(),
-        p.getTabWidget(1).getElement().getOffsetTop());
+ assertEquals(p.getTabWidget(0).getElement().getOffsetTop(), p.getTabWidget(
+        1).getElement().getOffsetTop());
   }
 }

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

Reply via email to