I am just bumping this as I think this is a bug in gwt and want to make sure that the correct people are aware. Should I file a bug?
On Sep 11, 3:25 am, Joe Cole <[EMAIL PROTECTED]> wrote: > Platform: Using GWT1.5 (release) and linux > > When I have a single instance of a popup panel, and it has it's > content & position set in response to rollover of multiple elements, > all works fine until I enable animation. > > To run the test case just use > yourWidget.add(PopupFail.buildFailingTestCase()) to see the error. > > Is there any way to get around this? > > package com.google.gwt.user.client.ui; > > import com.google.gwt.user.client.DOM; > > public class PopupFail { > > public static Widget buildFailingTestCase() { > VerticalPanel p = new VerticalPanel(); > p.setSpacing(5); > p > .add(new Label( > "Run your mouse quickly over > the fail labels to see animation > causing fail.")); > PopupPanel pop = new PopupPanel(true, false); > pop.setWidget(new Label("FAIL!")); > pop.setAnimationEnabled(true); > p.add(new Invoker("Fail 1", pop)); > p.add(new Invoker("Fail 2", pop)); > p.add(new Invoker("Fail 3", pop)); > p.add(new Invoker("Fail 4", pop)); > p > .add(new Label( > "Run your mouse quickly over > the pass labels to see no animation > causing win.")); > pop = new PopupPanel(true, false); > pop.setWidget(new Label("WIN!")); > pop.setAnimationEnabled(false); > p.add(new Invoker("Pass 1", pop)); > p.add(new Invoker("Pass 2", pop)); > p.add(new Invoker("Pass 3", pop)); > p.add(new Invoker("Pass 4", pop)); > return p; > } > > static class Invoker extends Label implements MouseListener { > PopupPanel pop; > > public Invoker(final String text, final PopupPanel pop) { > super(); > this.pop = pop; > addMouseListener(this); > setText(text); > } > > private int getDisplayLocationX(final Widget sender, final > int x) { > return sender.getAbsoluteLeft() + x + > getPageScrollLeft(); > } > > private int getDisplayLocationY(final Widget sender, final > int y) { > return sender.getAbsoluteTop() + y + > getPageScrollTop(); > } > > private int getPageScrollTop() { > return DOM > > .getAbsoluteTop(DOM.getParent(RootPanel.getBodyElement())); > } > > private int getPageScrollLeft() { > return DOM.getAbsoluteLeft(DOM > > .getParent(RootPanel.getBodyElement())); > } > > public void onMouseDown(final Widget sender, final int x, > final int > y) { > > } > > public void onMouseEnter(final Widget sender) { > > pop.show(); > } > > public void onMouseLeave(final Widget sender) { > pop.hide(); > } > > public void onMouseMove(final Widget sender, final int x, > final int > y) { > pop.setPopupPosition(getDisplayLocationX(this, x), > getDisplayLocationY(this, y)); > } > > public void onMouseUp(final Widget sender, final int x, final > int y) > { > > } > } > > } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---