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