You should be able to bubble custom events using the attachHandler and 
fireEvents method on a widget. 

I am still trying to conceive an example where you would need a custom event. 
Most of the widely used events for all widgets have handlers defined. 

I have not personally tried attaching a custom handlers to a widget but have 
created custom widgets by extending existing widgets like Cell where you can 
specify the events you want to listen on. 

~ashwin  

Sent from my iPhone

On Jun 27, 2011, at 3:47 AM, isern <[email protected]> wrote:

> In the @UIHandler example, you have a direct reference to the button
> and you register a handler directly on the event source.
> 
> I was wondering if there's the possibility that some custom event goes
> up in the UI hierarchy.
> 
> To illustrate, in this situation I could perfectly bind a handler to
> the widget that contains those buttons, and I still catch the click
> event because of the principle of event bubbling, that's the default
> behavior in JS DOM events.
> 
> Now my question was if I can use event bubbling with custom events
> created by me.
> 
> 
> On Jun 26, 2:40 am, "[email protected]"
> <[email protected]> wrote:
>> for listening on events on your widget you can define UiHandler or Attach /
>> Add handlers
>> 
>> for example, if you have a button defined in your UIBinder
>> 
>> <g:Button ui:field = 'button1'>Hello</g:Button>
>> 
>> now if you want to listen on click event of this button, you can do either
>> of these two operations
>> 
>> @UiHandler("button1")
>> public void OnButton1Click(ClickEvent event) {
>>  ///do what ever you want on button click
>> 
>> }
>> 
>> when you are not using a UiBinder you can define
>> 
>> button1.addClickHandler(new ClickHandler() {
>>  @Override
>> public void onClick(ClickEvent arg0) {
>> //do your opertaions
>> 
>> }
>> })
>> 
>> hope this is clear.
>> 
>> Thanks
>> Ashwin
>> 
>> On Sun, Jun 26, 2011 at 4:40 AM, isern <[email protected]> wrote:
>>> I come from the Flex/JS/Tapestry worlds and a technique commonly used
>>> is to attach listeners to certain events expecting they'll will go up
>>> like a bubble through the component hierarchy. Actually if I'm not
>>> wrong this kind of behavior also occurs with native hardware events in
>>> GWT.
>> 
>>> A typical example is the Accept/Cancel widget. It's a widget because
>>> it's repeated all over the application.
>> 
>>> To reduce coupling to a minimum, I'd like to listen to the events
>>> "accept" and "cancel" on the current widget (that contains accept/
>>> cancel directly or indirectly), being aware that if users click
>>> "accept" the event will be caught and what you do depends on that
>>> context (UI structure)
>> 
>>> The EventBus is okay, but it doesn't seem to take into account this
>>> component hierarchy, all the event handlers are notified without
>>> discrimination.
>> 
>>> I've managed, however, to create a BubbledEvent/BubbledEventHandler
>>> that only is dispatched if the current listener (a visual widget) is a
>>> parent of that which triggered it.
>> 
>>> I hope I was clear,
>> 
>>> Best regards, Juan
>> 
>>> On Jun 25, 3:34 am, Ashwin Desikan <[email protected]> wrote:
>>>> what sort of events are you looking to capture? You can create custom
>>> events
>>>> and register those events with the eventBus. When ever that event occurs
>>> all
>>>> handlers would receive a notification and you can take necessary action.
>> 
>>>> Thanks
>>>> Ashwin
>> 
>>> --
>>> 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.
> 
> -- 
> 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.
> 

-- 
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.

Reply via email to