Author: [EMAIL PROTECTED] Date: Mon Nov 10 07:02:34 2008 New Revision: 3995
Modified: branches/1_6_clean_events/user/src/com/google/gwt/event/shared/HandlerManager.java Log: Adding onBeforeFire event to handler manager and making the fire event final. Modified: branches/1_6_clean_events/user/src/com/google/gwt/event/shared/HandlerManager.java ============================================================================== --- branches/1_6_clean_events/user/src/com/google/gwt/event/shared/HandlerManager.java (original) +++ branches/1_6_clean_events/user/src/com/google/gwt/event/shared/HandlerManager.java Mon Nov 10 07:02:34 2008 @@ -131,7 +131,7 @@ * * @param event the event */ - public void fireEvent(GwtEvent<?> event) { + public final void fireEvent(GwtEvent<?> event) { // If it not live we should clear the source and make it live. if (event.isLive() == false) { revive(event); @@ -140,10 +140,12 @@ event.setSource(source); try { firingDepth++; - if (useJs) { - javaScriptRegistry.fireEvent(event); - } else { - javaRegistry.fireEvent(event); + if (onBeforeFire(event)) { + if (useJs) { + javaScriptRegistry.fireEvent(event); + } else { + javaRegistry.fireEvent(event); + } } } finally { firingDepth--; @@ -168,8 +170,7 @@ * @param type the handler's event type * @return the given handler */ - public <H extends EventHandler> H getHandler( - GwtEvent.Type<H> type, int index) { + public <H extends EventHandler> H getHandler(GwtEvent.Type<H> type, int index) { if (useJs) { return javaScriptRegistry.getHandler(type, index); } else { @@ -211,13 +212,23 @@ * @param type the event type * @param handler the handler */ - public <H extends EventHandler> void removeHandler( - GwtEvent.Type<H> type, final H handler) { + public <H extends EventHandler> void removeHandler(GwtEvent.Type<H> type, + final H handler) { if (firingDepth > 0) { enqueueRemove(type, handler); } else { doRemove(type, handler); } + } + + /** + * Called before an event is fired on its handlers. + * + * @param event the event + * @return whether to fire the event + */ + protected boolean onBeforeFire(GwtEvent<?> event) { + return true; } <H extends EventHandler> void enqueueAdd(GwtEvent.Type<H> type, --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---