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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---