From 080d6462dfa7defedd2b0aa904ea61bf471dc1bf Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 22 Dec 2010 21:25:44 +0100 Subject: [PATCH] include: Define the Scriptlet class in mshtml.idl. --- include/mshtmdid.h | 20 ++++++++ include/mshtml.idl | 116 +++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 127 insertions(+), 9 deletions(-) diff --git a/include/mshtmdid.h b/include/mshtmdid.h index 1e9ab77dfeb..c6dc2e7fc45 100644 --- a/include/mshtmdid.h +++ b/include/mshtmdid.h @@ -946,6 +946,26 @@ #define DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID DISPID_OMDOCUMENT+105 #define DISPID_IHTMLDOCUMENT6_UPDATESETTINGS DISPID_OMDOCUMENT+106 +/* DWebBridgeEvents */ +#define DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT 1 +#define DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE +#define DISPID_DWEBBRIDGEEVENTS_ONCLICK DISPID_HTMLDOCUMENTEVENTS_ONCLICK +#define DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK +#define DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN +#define DISPID_DWEBBRIDGEEVENTS_ONKEYUP DISPID_HTMLDOCUMENTEVENTS_ONKEYUP +#define DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS +#define DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN +#define DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE +#define DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP + +/* IWebBridge */ +#define DISPID_IWEBBRIDGE_URL 1 +#define DISPID_IWEBBRIDGE_SCROLLBAR 2 +#define DISPID_IWEBBRIDGE_EMBED 3 +#define DISPID_IWEBBRIDGE_EVENT DISPID_IHTMLWINDOW2_EVENT +#define DISPID_IWEBBRIDGE_READYSTATE DISPID_READYSTATE +#define DISPID_IWEBBRIDGE_ABOUTBOX DISPID_ABOUTBOX + /* IHTMLEmbedElement */ #define DISPID_IHTMLEMBEDELEMENT_HIDDEN DISPID_OBJECT+10 #define DISPID_IHTMLEMBEDELEMENT_PALETTE DISPID_OBJECT+4 diff --git a/include/mshtml.idl b/include/mshtml.idl index 0269b66b8a9..f7dde54715d 100644 --- a/include/mshtml.idl +++ b/include/mshtml.idl @@ -92,6 +92,15 @@ typedef enum _SELECTION_TYPE { SELECTION_TYPE_Max = 2147483647 } SELECTION_TYPE; +[ + version(4.0), + uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B) +] +library MSHTML +{ + +importlib("stdole2.tlb"); + [ odl, oleautomation, @@ -143,15 +152,6 @@ interface IHTMLFiltersCollection : IDispatch [retval, out] VARIANT *pvarResult); } -[ - version(4.0), - uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B) -] -library MSHTML -{ - -importlib("stdole2.tlb"); - /***************************************************************************** * IHTMLStyle interface */ @@ -13137,6 +13137,104 @@ coclass HTMLDocument interface IHTMLDOMNode2; } +/***************************************************************************** + * DWebBridgeEvents dispinterface + */ +[ + hidden, + uuid(a6d897ff-0a95-11d1-b0ba-006008166e11) +] +dispinterface DWebBridgeEvents +{ +properties: +methods: + [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)] + void onscriptletevent([in] BSTR name,[in] VARIANT eventData); + + [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)] + void onreadystatechange(); + + [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)] + VARIANT_BOOL onclick(); + + [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)] + VARIANT_BOOL ondblclick(); + + [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)] + void onkeydown(); + + [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)] + void onkeyup(); + + [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)] + VARIANT_BOOL onkeypress(); + + [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)] + void onmousedown(); + + [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)] + void onmousemove(); + + [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)] + void onmouseup(); +} + +/***************************************************************************** + * IWebBridge interface + */ +[ + odl, + oleautomation, + dual, + uuid(ae24fdad-03c6-11d1-8b76-0080c744f389) +] +interface IWebBridge : IDispatch +{ + [propput, id(DISPID_IWEBBRIDGE_URL)] + HRESULT URL([in] BSTR v); + + [propget, id(DISPID_IWEBBRIDGE_URL)] + HRESULT URL([retval, out] BSTR * p); + + [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)] + HRESULT Scrollbar([in] VARIANT_BOOL v); + + [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)] + HRESULT Scrollbar([retval, out] VARIANT_BOOL * p); + + [propput, id(DISPID_IWEBBRIDGE_EMBED)] + HRESULT embed([in] VARIANT_BOOL v); + + [propget, id(DISPID_IWEBBRIDGE_EMBED)] + HRESULT embed([retval, out] VARIANT_BOOL * p); + + [propget, id(DISPID_IWEBBRIDGE_EVENT)] + HRESULT event([retval, out] IDispatch* * p); + + [propget, id(DISPID_IWEBBRIDGE_READYSTATE)] + HRESULT readyState([retval, out] long * p); + + [id(DISPID_IWEBBRIDGE_ABOUTBOX)] + HRESULT AboutBox(); +} + +/***************************************************************************** + * Scriptlet coclass + */ +[ + control, + helpstring("Microsoft Scriptlet Component"), + progid("ScriptBridge.ScriptBridge.1"), + vi_progid("ScriptBridge.ScriptBridge"), + threading(apartment), + uuid(ae24fdae-03c6-11d1-8b76-0080c744f389) +] +coclass Scriptlet +{ + [default] interface IWebBridge; + [source, default] dispinterface DWebBridgeEvents; +} + /***************************************************************************** * IHTMLEmbedElement interface */