ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

htmlevent.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.