mshtml: Added IDispatchEx support to IHTMLTable.

This commit is contained in:
Jacek Caban 2008-09-30 17:40:58 +02:00 committed by Alexandre Julliard
parent ea36413683
commit 630252c12d
4 changed files with 24 additions and 3 deletions

View File

@ -77,6 +77,7 @@ static REFIID tid_ids[] = {
&DIID_DispHTMLOptionElement, &DIID_DispHTMLOptionElement,
&DIID_DispHTMLSelectElement, &DIID_DispHTMLSelectElement,
&DIID_DispHTMLStyle, &DIID_DispHTMLStyle,
&DIID_DispHTMLTable,
&DIID_DispHTMLTableRow, &DIID_DispHTMLTableRow,
&DIID_DispHTMLUnknownElement, &DIID_DispHTMLUnknownElement,
&DIID_DispHTMLWindow2, &DIID_DispHTMLWindow2,
@ -103,6 +104,7 @@ static REFIID tid_ids[] = {
&IID_IHTMLOptionElement, &IID_IHTMLOptionElement,
&IID_IHTMLSelectElement, &IID_IHTMLSelectElement,
&IID_IHTMLStyle, &IID_IHTMLStyle,
&IID_IHTMLTable,
&IID_IHTMLTableRow, &IID_IHTMLTableRow,
&IID_IHTMLTextContainer, &IID_IHTMLTextContainer,
&IID_IHTMLUniqueName, &IID_IHTMLUniqueName,

View File

@ -539,15 +539,32 @@ static const NodeImplVtbl HTMLTableImplVtbl = {
HTMLTable_destructor HTMLTable_destructor
}; };
static const tid_t HTMLTable_iface_tids[] = {
IHTMLDOMNode_tid,
IHTMLDOMNode2_tid,
IHTMLElement_tid,
IHTMLElement2_tid,
IHTMLTable_tid,
0
};
static dispex_static_data_t HTMLTable_dispex = {
NULL,
DispHTMLTable_tid,
NULL,
HTMLTable_iface_tids
};
HTMLElement *HTMLTable_Create(nsIDOMHTMLElement *nselem) HTMLElement *HTMLTable_Create(nsIDOMHTMLElement *nselem)
{ {
HTMLTable *ret = heap_alloc_zero(sizeof(HTMLTable)); HTMLTable *ret = heap_alloc_zero(sizeof(HTMLTable));
HTMLElement_Init(&ret->element);
ret->element.node.vtbl = &HTMLTableImplVtbl; ret->element.node.vtbl = &HTMLTableImplVtbl;
ret->lpHTMLTableVtbl = &HTMLTableVtbl; ret->lpHTMLTableVtbl = &HTMLTableVtbl;
init_dispex(&ret->element.node.dispex, (IUnknown*)HTMLTABLE(ret), &HTMLTable_dispex);
HTMLElement_Init(&ret->element);
ConnectionPoint_Init(&ret->cp, &ret->element.cp_container, &DIID_HTMLTableEvents); ConnectionPoint_Init(&ret->cp, &ret->element.cp_container, &DIID_HTMLTableEvents);
return &ret->element; return &ret->element;

View File

@ -73,6 +73,7 @@ typedef enum {
DispHTMLOptionElement_tid, DispHTMLOptionElement_tid,
DispHTMLSelectElement_tid, DispHTMLSelectElement_tid,
DispHTMLStyle_tid, DispHTMLStyle_tid,
DispHTMLTable_tid,
DispHTMLTableRow_tid, DispHTMLTableRow_tid,
DispHTMLUnknownElement_tid, DispHTMLUnknownElement_tid,
DispHTMLWindow2_tid, DispHTMLWindow2_tid,
@ -99,6 +100,7 @@ typedef enum {
IHTMLOptionElement_tid, IHTMLOptionElement_tid,
IHTMLSelectElement_tid, IHTMLSelectElement_tid,
IHTMLStyle_tid, IHTMLStyle_tid,
IHTMLTable_tid,
IHTMLTableRow_tid, IHTMLTableRow_tid,
IHTMLTextContainer_tid, IHTMLTextContainer_tid,
IHTMLUniqueName_tid, IHTMLUniqueName_tid,

View File

@ -279,7 +279,7 @@ static const elem_type_info_t elem_type_infos[] = {
{"BLOCKQUOTE",elem_iids, NULL}, {"BLOCKQUOTE",elem_iids, NULL},
{"P", elem_iids, NULL}, {"P", elem_iids, NULL},
{"BR", elem_iids, NULL}, {"BR", elem_iids, NULL},
{"TABLE", table_iids, NULL}, {"TABLE", table_iids, &DIID_DispHTMLTable},
{"TBODY", elem_iids, NULL}, {"TBODY", elem_iids, NULL},
{"SCRIPT", script_iids, NULL}, {"SCRIPT", script_iids, NULL},
{"TEST", elem_iids, &DIID_DispHTMLUnknownElement}, {"TEST", elem_iids, &DIID_DispHTMLUnknownElement},