From a1b4ee8866c6ed7ed0a62f604ac8426a2e9631da Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 28 Jan 2009 16:59:34 +1100 Subject: [PATCH] mshtml: Add missing interfaces. --- dlls/mshtml/htmlcomment.c | 4 +- dlls/mshtml/htmltextnode.c | 4 +- include/mshtml.idl | 453 +++++++++++++++++++++++++++++++++++++ 3 files changed, 457 insertions(+), 4 deletions(-) diff --git a/dlls/mshtml/htmlcomment.c b/dlls/mshtml/htmlcomment.c index 4578361a6b1..82e05b3e070 100644 --- a/dlls/mshtml/htmlcomment.c +++ b/dlls/mshtml/htmlcomment.c @@ -32,10 +32,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml); -typedef struct { +struct HTMLCommentElement { HTMLElement element; const IHTMLCommentElementVtbl *lpIHTMLCommentElementVtbl; -} HTMLCommentElement; +}; #define HTMLCOMMENT(x) ((IHTMLCommentElement*) &(x)->lpIHTMLCommentElementVtbl) diff --git a/dlls/mshtml/htmltextnode.c b/dlls/mshtml/htmltextnode.c index d6453b1d9e4..76199613a4a 100644 --- a/dlls/mshtml/htmltextnode.c +++ b/dlls/mshtml/htmltextnode.c @@ -32,10 +32,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml); -typedef struct { +struct HTMLDOMTextNode { HTMLDOMNode node; const IHTMLDOMTextNodeVtbl *lpIHTMLDOMTextNodeVtbl; -} HTMLDOMTextNode; +}; #define HTMLTEXT(x) ((IHTMLDOMTextNode*) &(x)->lpIHTMLDOMTextNodeVtbl) diff --git a/include/mshtml.idl b/include/mshtml.idl index 4fdd5d3fe70..1e178578b72 100644 --- a/include/mshtml.idl +++ b/include/mshtml.idl @@ -3445,6 +3445,46 @@ interface IHTMLDOMTextNode : IDispatch [out, retval] IHTMLDOMNode **pRetNode); } +/***************************************************************************** + * IHTMLDOMTextNode2 interface + */ +[ + odl, + oleautomation, + dual, + uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b) +] +interface IHTMLDOMTextNode2 : IDispatch +{ + [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)] + HRESULT substringData([in] long offset,[in] long Count,[retval, out] BSTR* pbstrsubString); + + [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)] + HRESULT appendData([in] BSTR bstrstring); + + [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)] + HRESULT insertData([in] long offset,[in] BSTR bstrstring); + + [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)] + HRESULT deleteData([in] long offset,[in] long Count); + + [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)] + HRESULT replaceData([in] long offset,[in] long Count,[in] BSTR bstrstring); +} + +[ + noncreatable, + uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b) +] +coclass HTMLDOMTextNode +{ + [default] dispinterface DispHTMLDOMTextNode; + interface IHTMLDOMTextNode; + interface IHTMLDOMTextNode2; + interface IHTMLDOMNode; + interface IHTMLDOMNode2; +} + /***************************************************************************** * IHTMLDOMImplementation interface */ @@ -16826,6 +16866,419 @@ methods: [in] BSTR bstrstring); } +[ + hidden, + uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b) +] +dispinterface HTMLElementEvents2 +{ +properties: +methods: + [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] + VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] + VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] + VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] + VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] + void onkeydown([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] + void onkeyup([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] + void onmouseout([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] + void onmouseover([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] + void onmousemove([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] + void onmousedown([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] + void onmouseup([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] + VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] + void onfilterchange([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] + VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] + VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] + void onafterupdate([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] + VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] + VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] + void onrowenter([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] + void ondatasetchanged([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] + void ondataavailable([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] + void ondatasetcomplete([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] + void onlosecapture([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] + void onpropertychange([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] + void onscroll([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] + void onfocus([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] + void onblur([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] + void onresize([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] + VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] + void ondragend([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] + VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] + VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] + void ondragleave([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] + VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] + VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] + VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] + VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] + VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] + VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] + VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] + VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] + void onrowsdelete([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] + void onrowsinserted([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] + void oncellchange([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] + void onreadystatechange([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] + void onlayoutcomplete([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] + void onpage([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] + void onmouseenter([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] + void onmouseleave([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] + void onactivate([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] + void ondeactivate([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] + VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] + VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] + void onfocusin([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] + void onfocusout([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] + void onmove([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] + VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] + VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] + void onmoveend([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] + VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] + void onresizeend([in] IHTMLEventObj* pEvtObj); + + [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] + VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj); +}; +[ + hidden, + uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b) +] +dispinterface HTMLElementEvents +{ +properties: +methods: + [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] + VARIANT_BOOL onhelp(); + + [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] + VARIANT_BOOL onclick(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] + VARIANT_BOOL ondblclick(); + + [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] + VARIANT_BOOL onkeypress(); + + [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] + void onkeydown(); + + [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] + void onkeyup(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] + void onmouseout(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] + void onmouseover(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] + void onmousemove(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] + void onmousedown(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] + void onmouseup(); + + [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] + VARIANT_BOOL onselectstart(); + + [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] + void onfilterchange(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] + VARIANT_BOOL ondragstart(); + + [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] + VARIANT_BOOL onbeforeupdate(); + + [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] + void onafterupdate(); + + [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] + VARIANT_BOOL onerrorupdate(); + + [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] + VARIANT_BOOL onrowexit(); + + [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] + void onrowenter(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] + void ondatasetchanged(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] + void ondataavailable(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] + void ondatasetcomplete(); + + [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] + void onlosecapture(); + + [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] + void onpropertychange(); + + [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] + void onscroll(); + + [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] + void onfocus(); + + [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] + void onblur(); + + [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] + void onresize(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] + VARIANT_BOOL ondrag(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] + void ondragend(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] + VARIANT_BOOL ondragenter(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] + VARIANT_BOOL ondragover(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] + void ondragleave(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] + VARIANT_BOOL ondrop(); + + [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] + VARIANT_BOOL onbeforecut(); + + [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] + VARIANT_BOOL oncut(); + + [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] + VARIANT_BOOL onbeforecopy(); + + [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] + VARIANT_BOOL oncopy(); + + [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] + VARIANT_BOOL onbeforepaste(); + + [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] + VARIANT_BOOL onpaste(); + + [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] + VARIANT_BOOL oncontextmenu(); + + [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] + void onrowsdelete(); + + [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] + void onrowsinserted(); + + [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] + void oncellchange(); + + [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] + void onreadystatechange(); + + [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] + void onbeforeeditfocus(); + + [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] + void onlayoutcomplete(); + + [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] + void onpage(); + + [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] + VARIANT_BOOL onbeforedeactivate(); + + [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] + VARIANT_BOOL onbeforeactivate(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] + void onmove(); + + [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] + VARIANT_BOOL oncontrolselect(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] + VARIANT_BOOL onmovestart(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] + void onmoveend(); + + [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] + VARIANT_BOOL onresizestart(); + + [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] + void onresizeend(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] + void onmouseenter(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] + void onmouseleave(); + + [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] + VARIANT_BOOL onmousewheel(); + + [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] + void onactivate(); + + [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] + void ondeactivate(); + + [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] + void onfocusin(); + + [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] + void onfocusout(); + +}; + +[ + noncreatable, + uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b) +] +coclass HTMLCommentElement +{ + [default] dispinterface DispHTMLCommentElement; + [source, default] dispinterface HTMLElementEvents; + [source] dispinterface HTMLElementEvents2; + interface IHTMLElement; + interface IHTMLElement2; + interface IHTMLElement3; + interface IHTMLElement4; + interface IHTMLUniqueName; + interface IHTMLDOMNode; + interface IHTMLDOMNode2; + interface IHTMLCommentElement; + interface IHTMLCommentElement2; +} + /***************************************************************************** * HTMLTableEvents dispinterface */