Makes Widget.addDomHandler public, so that helpers can add keyboard handlers to panels without creating new widgets or DOM elements. Review at http://gwt-code-reviews.appspot.com/779802 Review by: jgw@google.com git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@8598 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/ui/Widget.java b/user/src/com/google/gwt/user/client/ui/Widget.java index 1cce9af..3a48ace 100644 --- a/user/src/com/google/gwt/user/client/ui/Widget.java +++ b/user/src/com/google/gwt/user/client/ui/Widget.java
@@ -47,6 +47,37 @@ private Object layoutData; private Widget parent; + /** + * Adds a native event handler to the widget and sinks the corresponding + * native event. If you do not want to sink the native event, use the generic + * addHandler method instead. + * + * @param <H> the type of handler to add + * @param type the event key + * @param handler the handler + * @return {@link HandlerRegistration} used to remove the handler + */ + public final <H extends EventHandler> HandlerRegistration addDomHandler( + final H handler, DomEvent.Type<H> type) { + assert handler != null : "handler must not be null"; + assert type != null : "type must not be null"; + sinkEvents(Event.getTypeInt(type.getName())); + return ensureHandlers().addHandler(type, handler); + } + + /** + * Adds this handler to the widget. + * + * @param <H> the type of handler to add + * @param type the event type + * @param handler the handler + * @return {@link HandlerRegistration} used to remove the handler + */ + public final <H extends EventHandler> HandlerRegistration addHandler( + final H handler, GwtEvent.Type<H> type) { + return ensureHandlers().addHandler(type, handler); + } + public void fireEvent(GwtEvent<?> event) { if (handlerManager != null) { handlerManager.fireEvent(event); @@ -168,37 +199,6 @@ } /** - * Adds a native event handler to the widget and sinks the corresponding - * native event. If you do not want to sink the native event, use the generic - * addHandler method instead. - * - * @param <H> the type of handler to add - * @param type the event key - * @param handler the handler - * @return {@link HandlerRegistration} used to remove the handler - */ - protected final <H extends EventHandler> HandlerRegistration addDomHandler( - final H handler, DomEvent.Type<H> type) { - assert handler != null : "handler must not be null"; - assert type != null : "type must not be null"; - sinkEvents(Event.getTypeInt(type.getName())); - return ensureHandlers().addHandler(type, handler); - } - - /** - * Adds this handler to the widget. - * - * @param <H> the type of handler to add - * @param type the event type - * @param handler the handler - * @return {@link HandlerRegistration} used to remove the handler - */ - protected final <H extends EventHandler> HandlerRegistration addHandler( - final H handler, GwtEvent.Type<H> type) { - return ensureHandlers().addHandler(type, handler); - } - - /** * Creates the {@link HandlerManager} used by this Widget. You can overwrite * this method to create a custom {@link HandlerManager}. *