| Home >> All >> org >> eclipse >> swt >> [ widgets Javadoc ] |
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 }