~oif-team/ubuntu/natty/qt4-x11/xi2.1

« back to all changes in this revision

Viewing changes to src/3rdparty/webkit/WebCore/bindings/js/JSEventTargetBase.h

  • Committer: Bazaar Package Importer
  • Author(s): Alessandro Ghersi
  • Date: 2009-11-02 18:30:08 UTC
  • mfrom: (1.2.2 upstream)
  • mto: (15.2.5 experimental)
  • mto: This revision was merged to the branch mainline in revision 88.
  • Revision ID: james.westby@ubuntu.com-20091102183008-b6a4gcs128mvfb3m
Tags: upstream-4.6.0~beta1
ImportĀ upstreamĀ versionĀ 4.6.0~beta1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3
 
 *           (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
4
 
 *
5
 
 * Redistribution and use in source and binary forms, with or without
6
 
 * modification, are permitted provided that the following conditions
7
 
 * are met:
8
 
 * 1. Redistributions of source code must retain the above copyright
9
 
 *    notice, this list of conditions and the following disclaimer.
10
 
 * 2. Redistributions in binary form must reproduce the above copyright
11
 
 *    notice, this list of conditions and the following disclaimer in the
12
 
 *    documentation and/or other materials provided with the distribution.
13
 
 *
14
 
 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
15
 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17
 
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
18
 
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19
 
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20
 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21
 
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22
 
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24
 
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
25
 
 */
26
 
 
27
 
#ifndef JSEventTargetBase_h
28
 
#define JSEventTargetBase_h
29
 
 
30
 
#include "Event.h"
31
 
#include "EventNames.h"
32
 
#include "JSEvent.h"
33
 
 
34
 
#define JS_EVENT_LISTENER_FOR_EACH_LISTENER(specificEventTarget, macro) \
35
 
    macro(specificEventTarget, OnAbort, abortEvent) \
36
 
    macro(specificEventTarget, OnBlur, blurEvent) \
37
 
    macro(specificEventTarget, OnChange, changeEvent) \
38
 
    macro(specificEventTarget, OnClick, clickEvent) \
39
 
    macro(specificEventTarget, OnContextMenu, contextmenuEvent) \
40
 
    macro(specificEventTarget, OnDblClick, dblclickEvent) \
41
 
    macro(specificEventTarget, OnError, errorEvent) \
42
 
    macro(specificEventTarget, OnFocus, focusEvent) \
43
 
    macro(specificEventTarget, OnInput, inputEvent) \
44
 
    macro(specificEventTarget, OnKeyDown, keydownEvent) \
45
 
    macro(specificEventTarget, OnKeyPress, keypressEvent) \
46
 
    macro(specificEventTarget, OnKeyUp, keyupEvent) \
47
 
    macro(specificEventTarget, OnLoad, loadEvent) \
48
 
    macro(specificEventTarget, OnMouseDown, mousedownEvent) \
49
 
    macro(specificEventTarget, OnMouseMove, mousemoveEvent) \
50
 
    macro(specificEventTarget, OnMouseOut, mouseoutEvent) \
51
 
    macro(specificEventTarget, OnMouseOver, mouseoverEvent) \
52
 
    macro(specificEventTarget, OnMouseUp, mouseupEvent) \
53
 
    macro(specificEventTarget, OnMouseWheel, mousewheelEvent) \
54
 
    macro(specificEventTarget, OnBeforeCut, beforecutEvent) \
55
 
    macro(specificEventTarget, OnCut, cutEvent) \
56
 
    macro(specificEventTarget, OnBeforeCopy, beforecopyEvent) \
57
 
    macro(specificEventTarget, OnCopy, copyEvent) \
58
 
    macro(specificEventTarget, OnBeforePaste, beforepasteEvent) \
59
 
    macro(specificEventTarget, OnPaste, pasteEvent) \
60
 
    macro(specificEventTarget, OnDragEnter, dragenterEvent) \
61
 
    macro(specificEventTarget, OnDragOver, dragoverEvent) \
62
 
    macro(specificEventTarget, OnDragLeave, dragleaveEvent) \
63
 
    macro(specificEventTarget, OnDrop, dropEvent) \
64
 
    macro(specificEventTarget, OnDragStart, dragstartEvent) \
65
 
    macro(specificEventTarget, OnDrag, dragEvent) \
66
 
    macro(specificEventTarget, OnDragEnd, dragendEvent) \
67
 
    macro(specificEventTarget, OnReset, resetEvent) \
68
 
    macro(specificEventTarget, OnResize, resizeEvent) \
69
 
    macro(specificEventTarget, OnScroll, scrollEvent) \
70
 
    macro(specificEventTarget, OnSearch, searchEvent) \
71
 
    macro(specificEventTarget, OnSelect, selectEvent) \
72
 
    macro(specificEventTarget, OnSelectStart, selectstartEvent) \
73
 
    macro(specificEventTarget, OnSubmit, submitEvent) \
74
 
    macro(specificEventTarget, OnUnload, unloadEvent) \
75
 
 
76
 
#define EVENT_LISTENER_GETTER(specificEventTarget, name, event) \
77
 
JSC::JSValuePtr js##specificEventTarget##name(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot& slot) \
78
 
{ \
79
 
    return static_cast<JS##specificEventTarget*>(slot.slotBase())->getListener(event); \
80
 
} \
81
 
 
82
 
#define EVENT_LISTENER_SETTER(specificEventTarget, name, event) \
83
 
void setJS##specificEventTarget##name(JSC::ExecState* exec, JSC::JSObject* baseObject, JSC::JSValuePtr value) \
84
 
{ \
85
 
    static_cast<JS##specificEventTarget*>(baseObject)->setListener(exec, event, value); \
86
 
} \
87
 
 
88
 
#define DECLARE_JS_EVENT_LISTENERS(specificEventTarget) \
89
 
    JS_EVENT_LISTENER_FOR_EACH_LISTENER(specificEventTarget, EVENT_LISTENER_GETTER) \
90
 
    JS_EVENT_LISTENER_FOR_EACH_LISTENER(specificEventTarget, EVENT_LISTENER_SETTER) \
91
 
 
92
 
#endif // JSEventTargetBase_h