Hi Eduardo,

     Here's your solution:

public class BocaJrsTable extends FlexTable implements
HasMouseOutHandlers {

        private HandlerManager manager = new HandlerManager(this);

        public BocaJrsTable(){
                super();
                addDomHandler(new MouseOutHandler() {
                        @Override
                        public void onMouseOut(MouseOutEvent event) {
                                fireEvent(event);
                        }
                }, MouseOutEvent.getType());

        }

        @Override
        public HandlerRegistration addMouseOutHandler(MouseOutHandler
handler) {
                return manager.addHandler(MouseOutEvent.getType(), handler);
        }


        @Override
        public void fireEvent(GwtEvent<?> event) {
                manager.fireEvent(event);
        }

}

Good luck !

On Jun 12, 5:40 pm, Eduardo Nunes <esnu...@gmail.com> wrote:
> I already tried it, but it didn't work. I found a solution, but a very ugly 
> one:
>
>     private class FlexTableTd extends UIObject implements HasMouseOutHandlers,
>             HasMouseOverHandlers, EventListener {
>
>         public FlexTableTd(Element element) {
>             this.setElement(element);
>             DOM.setEventListener(this.getElement(), this);
>         }
>
>         public HandlerRegistration addMouseOutHandler(MouseOutHandler 
> handler) {
>             this.sinkEvents(Event.ONMOUSEOUT);
>             return
> ensureHandlers().addHandler(MouseOutEvent.getType(), handler);
>         }
>
>         public HandlerRegistration
> addMouseOverHandler(MouseOverHandler handler) {
>             this.sinkEvents(Event.ONMOUSEOVER);
>             return
> ensureHandlers().addHandler(MouseOverEvent.getType(), handler);
>         }
>
>         public void fireEvent(GwtEvent<?> event) {
>             ensureHandlers().fireEvent(event);
>         }
>
>         public void onBrowserEvent(Event event) {
>             switch (DOM.eventGetType(event)) {
>                 case Event.ONMOUSEOVER:
>                 case Event.ONMOUSEOUT:
>                     Element related = event.getRelatedTarget();
>                     if (related != null && 
> getElement().isOrHasChild(related)) {
>                         return;
>                     }
>                     break;
>             }
>             DomEvent.fireNativeEvent(event, this, this.getElement());
>         }
>         private HandlerManager handlerManager;
>
>         HandlerManager ensureHandlers() {
>             return handlerManager == null ? handlerManager = new
> HandlerManager(this)
>                     : handlerManager;
>         }
>     }
>
>
>
> On Fri, Jun 12, 2009 at 4:46 PM, matthew jones<bigboxe...@gmail.com> wrote:
>
> > Try this instead.
>
> > addMouseOverHandler(MouseOverHandler handler) {
> >            return addDomHandler(handler, MouseOverEvent.getType());
> >        }
>
> > On Jun 12, 12:52 pm, Eduardo Nunes <esnu...@gmail.com> wrote:
> >> Well, the subject says everything, I would like to know how can I add
> >> a MouseOutHandler to a FlexTable cell. I tried a lot of things but
> >> none of them with success. I tried a wrap class:
>
> >>     private class FlexTableTd extends Widget implements 
> >> HasMouseOutHandlers,
> >>             HasMouseOverHandlers {
>
> >>         public FlexTableTd(Element element) {
> >>             setElement(element);
> >>         }
>
> >>         public HandlerRegistration addMouseOutHandler(MouseOutHandler 
> >> handler) {
> >>             return addHandler(handler, MouseOutEvent.getType());
> >>         }
>
> >>         public HandlerRegistration
> >> addMouseOverHandler(MouseOverHandler handler) {
> >>             return addHandler(handler, MouseOverEvent.getType());
> >>         }
> >>     }
>
> >> and I tried
>
> >> FlexTableTd td = new 
> >> FlexTableTd(table.getFlexCellFormatter().getElement(0, 0));
> >> td.addMouseOverHandler(...);
>
> >> but it doesn't work.
>
> >> --
> >> Eduardo S. Nuneshttp://e-nunes.com.br
>
> --
> Eduardo S. Nuneshttp://e-nunes.com.br
--~--~---------~--~----~------------~-------~--~----~
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 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to