Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/eclipse/swt/widgets/TypedListener.java


1   /*******************************************************************************
2    * Copyright (c) 2000, 2003 IBM Corporation and others.
3    * All rights reserved. This program and the accompanying materials 
4    * are made available under the terms of the Common Public License v1.0
5    * which accompanies this distribution, and is available at
6    * http://www.eclipse.org/legal/cpl-v10.html
7    * 
8    * Contributors:
9    *     IBM Corporation - initial API and implementation
10   *******************************************************************************/
11  package org.eclipse.swt.widgets;
12  
13  
14  import org.eclipse.swt.internal.SWTEventListener;
15  import org.eclipse.swt.*;
16  import org.eclipse.swt.events.*;
17  
18  /**   
19   * Instances of this class are <em>internal SWT implementation</em>
20   * objects which provide a mapping between the typed and untyped 
21   * listener mechanisms that SWT supports.
22   * <p>
23   * <b>IMPORTANT:</b> This class is <em>not</em> part of the SWT
24   * public API. It is marked public only so that it can be shared
25   * within the packages provided by SWT. It should never be
26   * referenced from application code.
27   * </p>
28   *
29   * @see Listener
30   */
31  public class TypedListener implements Listener {
32    
33    /**
34     * The receiver's event listener
35     */
36    protected SWTEventListener eventListener;
37  
38  /**
39   * Constructs a new instance of this class for the given event listener.
40   * <p>
41   * <b>IMPORTANT:</b> This method is <em>not</em> part of the SWT
42   * public API. It is marked public only so that it can be shared
43   * within the packages provided by SWT. It should never be
44   * referenced from application code.
45   * </p>
46   *
47   * @param listener the event listener to store in the receiver
48   */
49  public TypedListener (SWTEventListener listener) {
50    eventListener = listener;
51  }
52  
53  /**
54   * Returns the receiver's event listener.
55   * <p>
56   * <b>IMPORTANT:</b> This method is <em>not</em> part of the SWT
57   * public API. It is marked public only so that it can be shared
58   * within the packages provided by SWT. It should never be
59   * referenced from application code.
60   * </p>
61   *
62   * @return the receiver's event listener
63   */
64  public SWTEventListener getEventListener () {
65    return eventListener;
66  }
67  
68  /**
69   * Handles the given event.
70   * <p>
71   * <b>IMPORTANT:</b> This method is <em>not</em> part of the SWT
72   * public API. It is marked public only so that it can be shared
73   * within the packages provided by SWT. It should never be
74   * referenced from application code.
75   * </p>
76   */
77  public void handleEvent (Event e) {
78    switch (e.type) {
79      case SWT.Paint: {
80        /* Field set by Control */
81        PaintEvent event = new PaintEvent (e);
82        ((PaintListener) eventListener).paintControl (event);
83        e.gc = event.gc;
84        break;
85      }      
86      case SWT.Selection: {
87        /* Fields set by Sash */
88        SelectionEvent event = new SelectionEvent (e);
89        ((SelectionListener) eventListener).widgetSelected (event);      
90        e.x = event.x;
91        e.y = event.y;
92        e.doit = event.doit;
93        break;
94      }
95      case SWT.DefaultSelection: {
96        ((SelectionListener)eventListener).widgetDefaultSelected(new SelectionEvent(e));
97        break;
98      }
99      case SWT.Dispose: {
100       ((DisposeListener) eventListener).widgetDisposed(new DisposeEvent(e));
101       break;
102     }
103     case SWT.FocusIn: {
104       ((FocusListener) eventListener).focusGained(new FocusEvent(e));
105       break;
106     }
107     case SWT.FocusOut: {
108       ((FocusListener) eventListener).focusLost(new FocusEvent(e));
109       break;
110     }
111     case SWT.Hide: {
112       ((MenuListener) eventListener).menuHidden(new MenuEvent(e));
113       break;
114     }
115     case SWT.Show: {
116       ((MenuListener) eventListener).menuShown(new MenuEvent(e));
117       break;
118     }
119     case SWT.KeyDown: {
120       KeyEvent event = new KeyEvent(e);
121       ((KeyListener) eventListener).keyPressed(event);
122       e.doit = event.doit;
123       break;
124     }
125     case SWT.KeyUp: {
126       KeyEvent event = new KeyEvent(e);
127       ((KeyListener) eventListener).keyReleased(event);
128       e.doit = event.doit;
129       break;
130     }
131     case SWT.MouseDown: {
132       ((MouseListener) eventListener).mouseDown(new MouseEvent(e));
133       break;
134     }
135     case SWT.MouseUp: {
136       ((MouseListener) eventListener).mouseUp(new MouseEvent(e));
137       break;
138     }
139     case SWT.MouseDoubleClick: {
140       ((MouseListener) eventListener).mouseDoubleClick(new MouseEvent(e));
141       break;
142     }
143     case SWT.MouseMove: {
144       ((MouseMoveListener) eventListener).mouseMove(new MouseEvent(e));
145       return;
146     }
147     case SWT.Resize: {
148       ((ControlListener) eventListener).controlResized(new ControlEvent(e));
149       break;
150     }
151     case SWT.Move: {
152       ((ControlListener) eventListener).controlMoved(new ControlEvent(e));
153       break;
154     }
155     case SWT.Close: {
156       /* Fields set by Decorations */
157       ShellEvent event = new ShellEvent (e);
158       ((ShellListener) eventListener).shellClosed(event);
159       e.doit = event.doit;
160       break;
161     }
162     case SWT.Activate: {
163       ((ShellListener) eventListener).shellActivated(new ShellEvent(e));
164       break;
165     }
166     case SWT.Deactivate: {
167       ((ShellListener) eventListener).shellDeactivated(new ShellEvent(e));
168       break;
169     }
170     case SWT.Iconify: {
171       ((ShellListener) eventListener).shellIconified(new ShellEvent(e));
172       break;
173     }
174     case SWT.Deiconify: {
175       ((ShellListener) eventListener).shellDeiconified(new ShellEvent(e));
176       break;
177     }
178     case SWT.Expand: {
179       ((TreeListener) eventListener).treeExpanded(new TreeEvent(e));
180       break;
181     }
182     case SWT.Collapse: {
183       ((TreeListener) eventListener).treeCollapsed(new TreeEvent(e));
184       break;
185     }
186     case SWT.Modify: {
187       ((ModifyListener) eventListener).modifyText(new ModifyEvent(e));
188       break;
189     }
190     case SWT.Verify: {
191       /* Fields set by Text, RichText */
192       VerifyEvent event = new VerifyEvent (e);
193       ((VerifyListener) eventListener).verifyText (event);
194       e.text = event.text;
195       e.doit = event.doit;
196       break;
197     }
198     case SWT.Help: {
199       ((HelpListener) eventListener).helpRequested (new HelpEvent (e));
200       break;
201     }
202     case SWT.Arm: {
203       ((ArmListener) eventListener).widgetArmed (new ArmEvent (e));
204       break;
205     }
206     case SWT.MouseExit: {
207       ((MouseTrackListener) eventListener).mouseExit (new MouseEvent (e));
208       break;
209     }
210     case SWT.MouseEnter: {
211       ((MouseTrackListener) eventListener).mouseEnter (new MouseEvent (e));
212       break;
213     }
214     case SWT.MouseHover: {
215       ((MouseTrackListener) eventListener).mouseHover (new MouseEvent (e));
216       break;
217     }
218     case SWT.Traverse: {
219       /* Fields set by Control */
220       TraverseEvent event = new TraverseEvent (e);
221       ((TraverseListener) eventListener).keyTraversed (event);
222       e.detail = event.detail;
223       e.doit = event.doit;
224       break;
225     }
226     
227   }
228 }
229 
230 }