Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenhtmlevent.h
Go to the documentation of this file.
00001 /* 00002 * Copyright 2008 Jacek Caban for CodeWeavers 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 typedef enum { 00020 EVENTID_BEFOREUNLOAD, 00021 EVENTID_BLUR, 00022 EVENTID_CHANGE, 00023 EVENTID_CLICK, 00024 EVENTID_CONTEXTMENU, 00025 EVENTID_DBLCLICK, 00026 EVENTID_DRAG, 00027 EVENTID_DRAGSTART, 00028 EVENTID_FOCUS, 00029 EVENTID_KEYDOWN, 00030 EVENTID_KEYUP, 00031 EVENTID_LOAD, 00032 EVENTID_MOUSEDOWN, 00033 EVENTID_MOUSEOUT, 00034 EVENTID_MOUSEOVER, 00035 EVENTID_MOUSEUP, 00036 EVENTID_PASTE, 00037 EVENTID_READYSTATECHANGE, 00038 EVENTID_RESIZE, 00039 EVENTID_SELECTSTART, 00040 EVENTID_LAST 00041 } eventid_t; 00042 00043 eventid_t str_to_eid(LPCWSTR); 00044 void check_event_attr(HTMLDocumentNode*,nsIDOMElement*); 00045 void release_event_target(event_target_t*); 00046 void fire_event(HTMLDocumentNode*,eventid_t,BOOL,nsIDOMNode*,nsIDOMEvent*); 00047 HRESULT set_event_handler(event_target_t**,nsIDOMNode*,HTMLDocumentNode*,eventid_t,VARIANT*); 00048 HRESULT get_event_handler(event_target_t**,eventid_t,VARIANT*); 00049 HRESULT attach_event(event_target_t**,nsIDOMNode*,HTMLDocument*,BSTR,IDispatch*,VARIANT_BOOL*); 00050 HRESULT detach_event(event_target_t*,HTMLDocument*,BSTR,IDispatch*); 00051 HRESULT dispatch_event(HTMLDOMNode*,const WCHAR*,VARIANT*,VARIANT_BOOL*); 00052 HRESULT call_event(HTMLDOMNode*,eventid_t); 00053 void update_cp_events(HTMLWindow*,event_target_t**,cp_static_data_t*,nsIDOMNode*); 00054 00055 static inline event_target_t **get_node_event_target(HTMLDOMNode *node) 00056 { 00057 return node->vtbl->get_event_target ? node->vtbl->get_event_target(node) : &node->event_target; 00058 } 00059 00060 static inline HRESULT set_node_event(HTMLDOMNode *node, eventid_t eid, VARIANT *var) 00061 { 00062 return set_event_handler(get_node_event_target(node), node->nsnode, node->doc, eid, var); 00063 } 00064 00065 static inline HRESULT get_node_event(HTMLDOMNode *node, eventid_t eid, VARIANT *var) 00066 { 00067 return get_event_handler(get_node_event_target(node), eid, var); 00068 } 00069 00070 static inline HRESULT set_doc_event(HTMLDocument *doc, eventid_t eid, VARIANT *var) 00071 { 00072 return set_node_event(&doc->doc_node->node, eid, var); 00073 } 00074 00075 static inline HRESULT get_doc_event(HTMLDocument *doc, eventid_t eid, VARIANT *var) 00076 { 00077 return get_node_event(&doc->doc_node->node, eid, var); 00078 } Generated on Fri May 25 2012 04:23:04 for ReactOS by
1.7.6.1
|