/* * Copyright 2007 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.gwt.user.client.ui; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Event; import java.util.ArrayList; /** * A helper class for implementers of the * {@link com.google.gwt.user.client.ui.SourcesFocusEvents} interface. This * subclass of {@link ArrayList} assumes that all objects added to it will be of * type {@link com.google.gwt.user.client.ui.FocusListener} * * @deprecated Widgets should now manage their own handlers via {@link Widget#addDomHandler} */ @Deprecated public class FocusListenerCollection extends ArrayList<FocusListener> { /** * Fires a focus event to all listeners. * * @param sender the widget sending the event. */ public void fireFocus(Widget sender) { for (FocusListener listener : this) { listener.onFocus(sender); } } /** * A helper for widgets that source focus events. * * @param sender the widget sending the event. * @param event the {@link Event DOM event} received by the widget. */ public void fireFocusEvent(Widget sender, Event event) { switch (DOM.eventGetType(event)) { case Event.ONFOCUS: fireFocus(sender); break; case Event.ONBLUR: fireLostFocus(sender); break; } } /** * Fires a lost-focus event to all listeners. * * @param sender the widget sending the event. */ public void fireLostFocus(Widget sender) { for (FocusListener listener : this) { listener.onLostFocus(sender); } } }