Revision: 10425
Author: jlaba...@google.com
Date: Thu Jul 7 10:26:33 2011
Log: Integrating r3302 from GWT 1.5 back into trunk. The change fixes
a bug in Tree where opening a TreeItem while another node is selected
causes the Tree to scroll to scroll to the selected node (opening an item
does not select a node). The original fix was committed directly to the
GWT 1.5 branch.
Since I had the file open, I added @Overrides to get rid of compiler
warnings. The only actual change is line 659.
Issue: 1467
Review at http://gwt-code-reviews.appspot.com/1467813
Review by: aliibra...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=10425
Modified:
/trunk/user/src/com/google/gwt/user/client/ui/Tree.java
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/Tree.java Wed Feb 16
10:10:39 2011
+++ /trunk/user/src/com/google/gwt/user/client/ui/Tree.java Thu Jul 7
10:26:33 2011
@@ -300,6 +300,7 @@
* @see
com.google.gwt.user.client.ui.HasWidgets#add(com.google.gwt.user.client.ui.Widget)
* @param widget widget to add.
*/
+ @Override
public void add(Widget widget) {
addItem(widget);
}
@@ -309,18 +310,22 @@
*
* @see #add(Widget)
*/
+ @Override
public void add(IsWidget w) {
this.add(asWidgetOrNull(w));
}
+ @Override
public HandlerRegistration addBlurHandler(BlurHandler handler) {
return addDomHandler(handler, BlurEvent.getType());
}
+ @Override
public HandlerRegistration addCloseHandler(CloseHandler<TreeItem>
handler) {
return addHandler(handler, CloseEvent.getType());
}
+ @Override
public HandlerRegistration addFocusHandler(FocusHandler handler) {
return addDomHandler(handler, FocusEvent.getType());
}
@@ -328,6 +333,7 @@
/**
* @deprecated Use {@link #addFocusHandler} instead
*/
+ @Override
@Deprecated
public void addFocusListener(FocusListener listener) {
ListenerWrapper.WrappedFocusListener.add(this, listener);
@@ -349,6 +355,7 @@
* @param itemHtml the html of the item to be added
* @return the item that was added
*/
+ @Override
public TreeItem addItem(SafeHtml itemHtml) {
return root.addItem(itemHtml);
}
@@ -358,6 +365,7 @@
*
* @param item the item to be added
*/
+ @Override
public void addItem(TreeItem item) {
root.addItem(item);
}
@@ -367,6 +375,7 @@
*
* @param isItem the wrapper of item to be added
*/
+ @Override
public void addItem(IsTreeItem isItem) {
root.addItem(isItem);
}
@@ -377,6 +386,7 @@
* @param widget the widget to be added
* @return the new item
*/
+ @Override
public TreeItem addItem(Widget widget) {
return root.addItem(widget);
}
@@ -386,6 +396,7 @@
*
* @see #addItem(Widget)
*/
+ @Override
public TreeItem addItem(IsWidget w) {
return this.addItem(asWidgetOrNull(w));
}
@@ -394,23 +405,28 @@
* @deprecated Use {@link #addKeyDownHandler}, {@link #addKeyUpHandler}
and
* {@link #addKeyPressHandler} instead
*/
+ @Override
@Deprecated
public void addKeyboardListener(KeyboardListener listener) {
ListenerWrapper.WrappedKeyboardListener.add(this, listener);
}
+ @Override
public HandlerRegistration addKeyDownHandler(KeyDownHandler handler) {
return addDomHandler(handler, KeyDownEvent.getType());
}
+ @Override
public HandlerRegistration addKeyPressHandler(KeyPressHandler handler) {
return addDomHandler(handler, KeyPressEvent.getType());
}
+ @Override
public HandlerRegistration addKeyUpHandler(KeyUpHandler handler) {
return addDomHandler(handler, KeyUpEvent.getType());
}
+ @Override
public HandlerRegistration addMouseDownHandler(MouseDownHandler handler)
{
return addHandler(handler, MouseDownEvent.getType());
}
@@ -420,35 +436,43 @@
* {@link #addMouseDownHandler}, {@link #addMouseUpHandler}
and
* {@link #addMouseOutHandler} instead
*/
+ @Override
@Deprecated
public void addMouseListener(MouseListener listener) {
ListenerWrapper.WrappedMouseListener.add(this, listener);
}
+ @Override
public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler)
{
return addDomHandler(handler, MouseMoveEvent.getType());
}
+ @Override
public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
return addDomHandler(handler, MouseOutEvent.getType());
}
+ @Override
public HandlerRegistration addMouseOverHandler(MouseOverHandler handler)
{
return addDomHandler(handler, MouseOverEvent.getType());
}
+ @Override
public HandlerRegistration addMouseUpHandler(MouseUpHandler handler) {
return addDomHandler(handler, MouseUpEvent.getType());
}
+ @Override
public HandlerRegistration addMouseWheelHandler(MouseWheelHandler
handler) {
return addDomHandler(handler, MouseWheelEvent.getType());
}
+ @Override
public final HandlerRegistration addOpenHandler(OpenHandler<TreeItem>
handler) {
return addHandler(handler, OpenEvent.getType());
}
+ @Override
public HandlerRegistration addSelectionHandler(
SelectionHandler<TreeItem> handler) {
return addHandler(handler, SelectionEvent.getType());
@@ -460,6 +484,7 @@
* @param itemText the text of the item to be added
* @return the item that was added
*/
+ @Override
public TreeItem addTextItem(String itemText) {
return root.addTextItem(itemText);
}
@@ -468,6 +493,7 @@
* @deprecated Use {@link #addSelectionHandler}, {@link
#addOpenHandler}, and
* {@link #addCloseHandler} instead
*/
+ @Override
@Deprecated
public void addTreeListener(TreeListener listener) {
ListenerWrapper.WrappedTreeListener.add(this, listener);
@@ -476,6 +502,7 @@
/**
* Clears all tree items from the current tree.
*/
+ @Override
public void clear() {
int size = root.getChildCount();
for (int i = size - 1; i >= 0; i--) {
@@ -527,6 +554,7 @@
return curSelection;
}
+ @Override
public int getTabIndex() {
return FocusPanel.impl.getTabIndex(focusable);
}
@@ -581,10 +609,12 @@
return root.insertItem(beforeIndex, widget);
}
+ @Override
public boolean isAnimationEnabled() {
return isAnimationEnabled;
}
+ @Override
public Iterator<Widget> iterator() {
final Widget[] widgets = new Widget[childWidgets.size()];
childWidgets.keySet().toArray(widgets);
@@ -626,7 +656,7 @@
// The click event should have given focus to this element
already.
// Avoid moving focus back up to the tree (so that focusable
widgets
// attached to TreeItems can receive keyboard events).
- } else if (curSelection != null) {
+ } else if ((curSelection != null) &&
curSelection.getContentElem().isOrHasChild(e)) {
setFocus(true);
}
break;
@@ -686,6 +716,7 @@
super.onBrowserEvent(event);
}
+ @Override
public boolean remove(Widget w) {
// Validate.
TreeItem item = childWidgets.get(w);
@@ -703,6 +734,7 @@
*
* @see #remove(Widget)
*/
+ @Override
public boolean remove(IsWidget w) {
return this.remove(w.asWidget());
}
@@ -711,6 +743,7 @@
* @deprecated Use the {@link HandlerRegistration#removeHandler} method
on the
* object returned by {@link #addFocusHandler} instead
*/
+ @Override
@Deprecated
public void removeFocusListener(FocusListener listener) {
ListenerWrapper.WrappedFocusListener.remove(this, listener);
@@ -721,6 +754,7 @@
*
* @param item the item to be removed
*/
+ @Override
public void removeItem(TreeItem item) {
root.removeItem(item);
}
@@ -730,6 +764,7 @@
*
* @param isItem the wrapper of item to be removed
*/
+ @Override
public void removeItem(IsTreeItem isItem) {
if (isItem != null) {
TreeItem item = isItem.asTreeItem();
@@ -740,6 +775,7 @@
/**
* Removes all items from the root level of this tree.
*/
+ @Override
public void removeItems() {
while (getItemCount() > 0) {
removeItem(getItem(0));
@@ -750,6 +786,7 @@
* @deprecated Use the {@link HandlerRegistration#removeHandler} method
on the
* object returned by an add*Handler method instead
*/
+ @Override
@Deprecated
public void removeKeyboardListener(KeyboardListener listener) {
ListenerWrapper.WrappedKeyboardListener.remove(this, listener);
@@ -759,6 +796,7 @@
* @deprecated Use the {@link HandlerRegistration#removeHandler} method
on the
* object returned by an add*Handler method instead
*/
+ @Override
@Deprecated
public void removeMouseListener(MouseListener listener) {
ListenerWrapper.WrappedMouseListener.remove(this, listener);
@@ -768,19 +806,23 @@
* @deprecated Use the {@link HandlerRegistration#removeHandler} method
on the
* object returned by an add*Handler method instead
*/
+ @Override
@Deprecated
public void removeTreeListener(TreeListener listener) {
ListenerWrapper.WrappedTreeListener.remove(this, listener);
}
+ @Override
public void setAccessKey(char key) {
FocusPanel.impl.setAccessKey(focusable, key);
}
+ @Override
public void setAnimationEnabled(boolean enable) {
isAnimationEnabled = enable;
}
+ @Override
public void setFocus(boolean focus) {
if (focus) {
FocusPanel.impl.focus(focusable);
@@ -819,6 +861,7 @@
onSelection(item, fireEvents, true);
}
+ @Override
public void setTabIndex(int index) {
FocusPanel.impl.setTabIndex(focusable, index);
}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors