KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > google > gwt > user > client > ui > FocusListenerCollection


1 /*
2  * Copyright 2007 Google Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */

16 package com.google.gwt.user.client.ui;
17
18 import com.google.gwt.user.client.DOM;
19 import com.google.gwt.user.client.Event;
20
21 import java.util.ArrayList JavaDoc;
22 import java.util.Iterator JavaDoc;
23
24 /**
25  * A helper class for implementers of the
26  * {@link com.google.gwt.user.client.ui.SourcesFocusEvents} interface. This
27  * subclass of {@linkArrayList} assumes that all objects added to it will be of
28  * type {@link com.google.gwt.user.client.ui.FocusListener}.
29  */

30 public class FocusListenerCollection extends ArrayList JavaDoc {
31
32   /**
33    * Fires a focus event to all listeners.
34    *
35    * @param sender the widget sending the event.
36    */

37   public void fireFocus(Widget sender) {
38     for (Iterator JavaDoc it = iterator(); it.hasNext();) {
39       FocusListener listener = (FocusListener) it.next();
40       listener.onFocus(sender);
41     }
42   }
43
44   /**
45    * A helper for widgets that source focus events.
46    *
47    * @param sender the widget sending the event.
48    * @param event the {@link Event DOM event} received by the widget.
49    */

50   public void fireFocusEvent(Widget sender, Event event) {
51     switch (DOM.eventGetType(event)) {
52       case Event.ONFOCUS:
53         fireFocus(sender);
54         break;
55
56       case Event.ONBLUR:
57         fireLostFocus(sender);
58         break;
59     }
60   }
61
62   /**
63    * Fires a lost-focus event to all listeners.
64    *
65    * @param sender the widget sending the event.
66    */

67   public void fireLostFocus(Widget sender) {
68     for (Iterator JavaDoc it = iterator(); it.hasNext();) {
69       FocusListener listener = (FocusListener) it.next();
70       listener.onLostFocus(sender);
71     }
72   }
73 }
74
Popular Tags