01: /*******************************************************************************
02: * Copyright (c) 2000, 2007 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: * Darrell Meyer <darrell@mygwt.net> - derived implementation
11: *******************************************************************************/package net.mygwt.ui.client.event;
12:
13: import java.util.EventListener;
14:
15: import net.mygwt.ui.client.Events;
16:
17: /**
18: * Provides a mapping between the typed and untyped listener mechanisms that
19: * MyGWT supports.
20: */
21: public class TypedListener implements Listener {
22:
23: protected EventListener eventListener;
24:
25: /**
26: * Creates a new typed listener.
27: *
28: * @param listener the typed listener
29: */
30: public TypedListener(EventListener listener) {
31: eventListener = listener;
32: }
33:
34: /**
35: * Returns the event listener.
36: *
37: * @return the event listener
38: */
39: public EventListener getEventListener() {
40: return eventListener;
41: }
42:
43: public void handleEvent(BaseEvent be) {
44: switch (be.type) {
45: case Events.EffectStart:
46: ((EffectListener) eventListener).effectStart(be);
47: break;
48: case Events.EffectCancel:
49: ((EffectListener) eventListener).effectCancel(be);
50: break;
51: case Events.EffectComplete:
52: ((EffectListener) eventListener).effectComplete(be);
53: break;
54: case Events.Attach:
55: ((WidgetListener) eventListener).widgetAttached(be);
56: break;
57: case Events.Detach:
58: ((WidgetListener) eventListener).widgetDetached(be);
59: break;
60: case Events.Resize:
61: ((WidgetListener) eventListener).widgetResized(be);
62: break;
63: case Events.Close:
64: ((ShellListener) eventListener).shellClosed(be);
65: break;
66: case Events.Activate:
67: ((ShellListener) eventListener).shellActivated(be);
68: break;
69: case Events.Deactivate:
70: ((ShellListener) eventListener).shellDeactivated(be);
71: break;
72: case Events.Select:
73: ((SelectionListener) eventListener).widgetSelected(be);
74: break;
75: case Events.DragStart:
76: ((DragListener) eventListener).dragStart(be);
77: break;
78: case Events.DragMove:
79: ((DragListener) eventListener).dragMove(be);
80: break;
81: case Events.DragCancel:
82: ((DragListener) eventListener).dragCancel(be);
83: break;
84: case Events.DragEnd:
85: ((DragListener) eventListener).dragEnd(be);
86: break;
87: case Events.Scroll:
88: ((ScrollListener) eventListener).widgetScrolled(be);
89: break;
90: }
91: }
92:
93: }
|