1/* 2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. 3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Library General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Library General Public License for more details. 14 * 15 * You should have received a copy of the GNU Library General Public License 16 * along with this library; see the file COPYING.LIB. If not, write to 17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 * Boston, MA 02110-1301, USA. 19 */ 20 21module events { 22 23 // Introduced in DOM Level 2: 24 interface [ 25 CustomToJS, 26 GenerateConstructor, 27 NoStaticTables, 28 Polymorphic, 29 InterfaceUUID=D17495FA-ACAD-4d27-9362-E19E057B189D, 30 ImplementationUUID=CFDCDDB2-5B3F-412d-BDA4-80B23C721549 31 ] Event { 32 33 // DOM PhaseType 34 const unsigned short CAPTURING_PHASE = 1; 35 const unsigned short AT_TARGET = 2; 36 const unsigned short BUBBLING_PHASE = 3; 37 38#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C 39 // Reverse-engineered from Netscape 40 const unsigned short MOUSEDOWN = 1; 41 const unsigned short MOUSEUP = 2; 42 const unsigned short MOUSEOVER = 4; 43 const unsigned short MOUSEOUT = 8; 44 const unsigned short MOUSEMOVE = 16; 45 const unsigned short MOUSEDRAG = 32; 46 const unsigned short CLICK = 64; 47 const unsigned short DBLCLICK = 128; 48 const unsigned short KEYDOWN = 256; 49 const unsigned short KEYUP = 512; 50 const unsigned short KEYPRESS = 1024; 51 const unsigned short DRAGDROP = 2048; 52 const unsigned short FOCUS = 4096; 53 const unsigned short BLUR = 8192; 54 const unsigned short SELECT = 16384; 55 const unsigned short CHANGE = 32768; 56#endif 57 58 readonly attribute DOMString type; 59 readonly attribute EventTarget target; 60 readonly attribute EventTarget currentTarget; 61 readonly attribute unsigned short eventPhase; 62 readonly attribute boolean bubbles; 63 readonly attribute boolean cancelable; 64#if !defined(LANGUAGE_COM) || !LANGUAGE_COM 65 readonly attribute DOMTimeStamp timeStamp; 66#endif 67 void stopPropagation(); 68 void preventDefault(); 69 [OldStyleObjC] void initEvent(in DOMString eventTypeArg, 70 in boolean canBubbleArg, 71 in boolean cancelableArg); 72 73 // IE Extensions 74 readonly attribute EventTarget srcElement; 75 attribute boolean returnValue; 76 attribute boolean cancelBubble; 77 78#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT 79 readonly attribute [Custom] Clipboard clipboardData; 80#endif 81 82 }; 83 84} 85