GXT 3 is very different than GXT 2 - events are one such example. GXT 3 changed to use an event model more like how GWT events work.

At the time GXT 2 was written, GWT didn't have the event model it has today, so GXT used its own solution. Once GWT had another solution, we decided to follow it in GXT 3 to be more consistent.

Instead of having a BaseEvent for all events, and using EventType instances to compare, GWT has just the GwtEvent type. Subclasses then describe both their own behavior, and the kind of handler that should get called by them.

When listening for an event, it is almost always just as simple as invoking object.addSomeEventHandler(new SomeHandler() {...}). The handler then has a specific method that is called when that particular kind of event goes off, instead of having a general handleEvent() method.

GXT 3 is very different than GXT 2 - events are one such example. GXT 3 changed to use an event model more like how GWT events work.

At the time GXT 2 was written, GWT didn't have the event model it has today, so GXT used its own solution. Once GWT had another solution, we decided to follow it in GXT 3 to be more consistent.

Instead of having a BaseEvent for all events, and using EventType instances to compare, GWT has just the GwtEvent type. Subclasses then describe both their own behavior, and the kind of handler that should get called by them.

When listening for an event, it is almost always just as simple as invoking object.addSomeEventHandler(new SomeHandler() {...}). The handler then has a specific method that is called when that particular kind of event goes off, instead of having a general handleEvent() method.