[PATCH v4 1/8] include: Add dhtmled.idl and dhtmldid.h

Alex Henrie alexhenrie24 at gmail.com
Thu Dec 7 14:13:29 CST 2017


Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
v4: Added threading attribute to DHTMLEdit and DHTMLSafe
---
 include/Makefile.in |   2 +
 include/dhtmldid.h  |  67 +++++
 include/dhtmled.idl | 718 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 787 insertions(+)
 create mode 100644 include/dhtmldid.h
 create mode 100644 include/dhtmled.idl

diff --git a/include/Makefile.in b/include/Makefile.in
index fa1e42738b..430c4733af 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -58,6 +58,7 @@ IDL_SRCS = \
 	ddstream.idl \
 	devenum.idl \
 	devicetopology.idl \
+	dhtmled.idl \
 	dimm.idl \
 	dispex.idl \
 	docobj.idl \
@@ -342,6 +343,7 @@ HEADER_SRCS = \
 	devpkey.h \
 	devpropdef.h \
 	dhcpcsdk.h \
+	dhtmldid.h \
 	difxapi.h \
 	digitalv.h \
 	dinput.h \
diff --git a/include/dhtmldid.h b/include/dhtmldid.h
new file mode 100644
index 0000000000..85c286a102
--- /dev/null
+++ b/include/dhtmldid.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2017 Alex Henrie
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define DISPID_LOADDOCUMENT                  1
+#define DISPID_EXECCOMMAND                   2
+#define DISPID_QUERYSTATUS                   3
+#define DISPID_SAVEDOCUMENT                  4
+#define DISPID_SETCONTEXTMENU                5
+#define DISPID_DOCUMENT                      6
+#define DISPID_ACTIVATEAPPLETS               7
+#define DISPID_ACTIVATEACTIVEXCONTROLS       8
+#define DISPID_ACTIVATEDTCS                  9
+#define DISPID_SHOWDETAILS                  11
+#define DISPID_SHOWBORDERS                  12
+#define DISPID_DHTMLEDITAPPEARANCE          13
+#define DISPID_DHTMLEDITSCROLLBARS          14
+#define DISPID_SCROLLBARAPPEARANCE          15
+#define DISPID_SOURCECODEPRESERVATION       16
+#define DISPID_DOCUMENTHTML                 17
+#define DISPID_ABSOLUTEDROPMODE             18
+#define DISPID_SNAPTOGRIDX                  19
+#define DISPID_SNAPTOGRIDY                  20
+#define DISPID_SNAPTOGRID                   21
+#define DISPID_ISDIRTY                      22
+#define DISPID_CURRENTDOCUMENTPATH          23
+#define DISPID_BASEURL                      24
+#define DISPID_DOCUMENTTITLE                25
+#define DISPID_BROWSEMODE                   26
+#define DISPID_NEWDOCUMENT                  27
+#define DISPID_PRINT                        28
+#define DISPID_LOADURL                      29
+#define DISPID_USEDIVONCR                   30
+#define DISPID_FILTERSRCCODE                31
+#define DISPID_REFRESHDOC                   32
+#define DISPID_BUSY                         33
+
+#define DISPID_DOCUMENTCOMPLETE              1
+#define DISPID_DISPLAYCHANGED                2
+#define DISPID_SHOWCONTEXTMENU               3
+#define DISPID_CONTEXTMENUACTION             4
+#define DISPID_ONMOUSEDOWN                   5
+#define DISPID_ONMOUSEMOVE                   6
+#define DISPID_ONMOUSEUP                     7
+#define DISPID_ONMOUSEOUT                    8
+#define DISPID_ONMOUSEOVER                   9
+#define DISPID_ONCLICK                      10
+#define DISPID_ONDBLCLICK                   11
+#define DISPID_ONKEYDOWN                    12
+#define DISPID_ONKEYPRESS                   13
+#define DISPID_ONKEYUP                      14
+#define DISPID_ONBLUR                       15
+#define DISPID_ONREADYSTATECHANGE           16
diff --git a/include/dhtmled.idl b/include/dhtmled.idl
new file mode 100644
index 0000000000..ce65fb98d2
--- /dev/null
+++ b/include/dhtmled.idl
@@ -0,0 +1,718 @@
+/*
+ * Copyright 2017 Alex Henrie
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "oaidl.idl";
+import "ocidl.idl";
+import "docobj.idl";
+import "mshtml.idl";
+
+#include "dhtmldid.h"
+
+[
+    uuid(683364a1-b37d-11d1-adc5-006008a5848c),
+    version(1.0)
+]
+library DHTMLEDLib
+{
+    importlib("stdole2.tlb");
+
+    typedef
+    [
+        uuid(7179FC44-B2E4-11d1-ADC5-006008A5848C)
+    ]
+    enum DHTMLEDITAPPEARANCE {
+        DEAPPEARANCE_FLAT,
+        DEAPPEARANCE_3D
+    } DHTMLEDITAPPEARANCE;
+
+    typedef
+    [
+        uuid(bf82426a-b961-11d1-adc5-006008a5848c)
+    ]
+    enum DHTMLEDITCMDF {
+        DECMDF_NOTSUPPORTED = 0,
+        DECMDF_DISABLED = 1,
+        DECMDF_ENABLED = 3,
+        DECMDF_LATCHED = 7,
+        DECMDF_NINCHED = 11
+    } DHTMLEDITCMDF;
+
+    typedef enum DHTMLEDITCMDID {
+        DECMD_BOLD = 5000,
+        DECMD_COPY = 5002,
+        DECMD_CUT,
+        DECMD_DELETE,
+        DECMD_DELETECELLS,
+        DECMD_DELETECOLS,
+        DECMD_DELETEROWS,
+        DECMD_FINDTEXT,
+        DECMD_FONT,
+        DECMD_GETBACKCOLOR,
+        DECMD_GETBLOCKFMT,
+        DECMD_GETBLOCKFMTNAMES,
+        DECMD_GETFONTNAME,
+        DECMD_GETFONTSIZE,
+        DECMD_GETFORECOLOR,
+        DECMD_HYPERLINK,
+        DECMD_IMAGE,
+        DECMD_INDENT,
+        DECMD_INSERTCELL,
+        DECMD_INSERTCOL,
+        DECMD_INSERTROW,
+        DECMD_INSERTTABLE,
+        DECMD_ITALIC,
+        DECMD_JUSTIFYCENTER,
+        DECMD_JUSTIFYLEFT,
+        DECMD_JUSTIFYRIGHT,
+        DECMD_LOCK_ELEMENT,
+        DECMD_MAKE_ABSOLUTE,
+        DECMD_MERGECELLS,
+        DECMD_ORDERLIST,
+        DECMD_OUTDENT,
+        DECMD_PASTE,
+        DECMD_REDO,
+        DECMD_REMOVEFORMAT,
+        DECMD_SELECTALL,
+        DECMD_SEND_BACKWARD,
+        DECMD_BRING_FORWARD,
+        DECMD_SEND_BELOW_TEXT,
+        DECMD_BRING_ABOVE_TEXT,
+        DECMD_SEND_TO_BACK,
+        DECMD_BRING_TO_FRONT,
+        DECMD_SETBACKCOLOR,
+        DECMD_SETBLOCKFMT,
+        DECMD_SETFONTNAME,
+        DECMD_SETFONTSIZE,
+        DECMD_SETFORECOLOR,
+        DECMD_SPLITCELL,
+        DECMD_UNDERLINE,
+        DECMD_UNDO,
+        DECMD_UNLINK,
+        DECMD_UNORDERLIST,
+        DECMD_PROPERTIES
+    } DHTMLEDITCMDID;
+
+    [
+        object,
+        uuid(ce04b590-2b1f-11d2-8d1e-00a0c959bc0a),
+        dual,
+        pointer_default(unique)
+    ]
+    interface IDHTMLSafe : IDispatch
+    {
+        [
+            id(DISPID_EXECCOMMAND)
+        ]
+        HRESULT ExecCommand(
+            [in] DHTMLEDITCMDID cmd_id,
+            [in, defaultvalue(OLECMDEXECOPT_DODEFAULT)] OLECMDEXECOPT options,
+            [in, optional] VARIANT *code_in,
+            [out, retval] VARIANT *code_out
+        );
+
+        [
+            id(DISPID_QUERYSTATUS)
+        ]
+        HRESULT QueryStatus(
+            [in] DHTMLEDITCMDID cmd_id,
+            [out, retval] DHTMLEDITCMDF *status
+        );
+
+        [
+            id(DISPID_SETCONTEXTMENU)
+        ]
+        HRESULT SetContextMenu(
+            [in] VARIANT *strings,
+            [in] VARIANT *states
+        );
+
+        [
+            id(DISPID_NEWDOCUMENT)
+        ]
+        HRESULT NewDocument();
+
+        [
+            id(DISPID_LOADURL)
+        ]
+        HRESULT LoadURL(
+            [in] BSTR url
+        );
+
+        [
+            id(DISPID_FILTERSRCCODE)
+        ]
+        HRESULT FilterSourceCode(
+            [in] BSTR in,
+            [out, retval] BSTR *out
+        );
+
+        [
+            id(DISPID_REFRESHDOC)
+        ]
+        HRESULT Refresh();
+
+        [
+            propget,
+            id(DISPID_DOCUMENT)
+        ]
+        HRESULT DOM(
+            [out, retval] IHTMLDocument2 **value
+        );
+
+        [
+            propget,
+            id(DISPID_DOCUMENTHTML)
+        ]
+        HRESULT DocumentHTML(
+            [out, retval] BSTR *value
+        );
+
+        [
+            propput,
+            id(DISPID_DOCUMENTHTML)
+        ]
+        HRESULT DocumentHTML(
+            [in] BSTR html
+        );
+
+        [
+            propget,
+            id(DISPID_ACTIVATEAPPLETS)
+        ]
+        HRESULT ActivateApplets(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_ACTIVATEAPPLETS)
+        ]
+        HRESULT ActivateApplets(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_ACTIVATEACTIVEXCONTROLS)
+        ]
+        HRESULT ActivateActiveXControls(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_ACTIVATEACTIVEXCONTROLS)
+        ]
+        HRESULT ActivateActiveXControls(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_ACTIVATEDTCS)
+        ]
+        HRESULT ActivateDTCs(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_ACTIVATEDTCS)
+        ]
+        HRESULT ActivateDTCs(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_SHOWDETAILS)
+        ]
+        HRESULT ShowDetails(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_SHOWDETAILS)
+        ]
+        HRESULT ShowDetails(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_SHOWBORDERS)
+        ]
+        HRESULT ShowBorders(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_SHOWBORDERS)
+        ]
+        HRESULT ShowBorders(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_DHTMLEDITAPPEARANCE)
+        ]
+        HRESULT Appearance(
+            [out, retval] DHTMLEDITAPPEARANCE *value
+        );
+
+        [
+            propput,
+            id(DISPID_DHTMLEDITAPPEARANCE)
+        ]
+        HRESULT Appearance(
+            [in] DHTMLEDITAPPEARANCE value
+        );
+
+        [
+            propget,
+            id(DISPID_DHTMLEDITSCROLLBARS)
+        ]
+        HRESULT Scrollbars(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_DHTMLEDITSCROLLBARS)
+        ]
+        HRESULT Scrollbars(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_SCROLLBARAPPEARANCE)
+        ]
+        HRESULT ScrollbarAppearance(
+            [out, retval] DHTMLEDITAPPEARANCE *value
+        );
+
+        [
+            propput,
+            id(DISPID_SCROLLBARAPPEARANCE)
+        ]
+        HRESULT ScrollbarAppearance(
+            [in] DHTMLEDITAPPEARANCE value
+        );
+
+        [
+            propget,
+            id(DISPID_SOURCECODEPRESERVATION)
+        ]
+        HRESULT SourceCodePreservation(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_SOURCECODEPRESERVATION)
+        ]
+        HRESULT SourceCodePreservation(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_ABSOLUTEDROPMODE)
+        ]
+        HRESULT AbsoluteDropMode(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_ABSOLUTEDROPMODE)
+        ]
+        HRESULT AbsoluteDropMode(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_SNAPTOGRIDX)
+        ]
+        HRESULT SnapToGridX(
+            [out, retval] long *value
+        );
+
+        [
+            propput,
+            id(DISPID_SNAPTOGRIDX)
+        ]
+        HRESULT SnapToGridX(
+            [in] long value
+        );
+
+        [
+            propget,
+            id(DISPID_SNAPTOGRIDY)
+        ]
+        HRESULT SnapToGridY(
+            [out, retval] long *value
+        );
+
+        [
+            propput,
+            id(DISPID_SNAPTOGRIDY)
+        ]
+        HRESULT SnapToGridY(
+            [in] long value
+        );
+
+        [
+            propget,
+            id(DISPID_SNAPTOGRID)
+        ]
+        HRESULT SnapToGrid(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_SNAPTOGRID)
+        ]
+        HRESULT SnapToGrid(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_ISDIRTY)
+        ]
+        HRESULT IsDirty(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propget,
+            id(DISPID_CURRENTDOCUMENTPATH)
+        ]
+        HRESULT CurrentDocumentPath(
+            [out, retval] BSTR *value
+        );
+
+        [
+            propget,
+            id(DISPID_BASEURL)
+        ]
+        HRESULT BaseURL(
+            [out, retval] BSTR *value
+        );
+
+        [
+            propput,
+            id(DISPID_BASEURL)
+        ]
+        HRESULT BaseURL(
+            [in] BSTR value
+        );
+
+        [
+            propget,
+            id(DISPID_DOCUMENTTITLE)
+        ]
+        HRESULT DocumentTitle(
+            [out, retval] BSTR *value
+        );
+
+        [
+            propget,
+            id(DISPID_USEDIVONCR)
+        ]
+        HRESULT UseDivOnCarriageReturn(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_USEDIVONCR)
+        ]
+        HRESULT UseDivOnCarriageReturn(
+            [in] VARIANT_BOOL value
+        );
+
+        [
+            propget,
+            id(DISPID_BUSY)
+        ]
+        HRESULT Busy(
+            [out, retval] VARIANT_BOOL *value
+        );
+    };
+
+    [
+        uuid(d1fc78e8-b380-11d1-adc5-006008a5848c)
+    ]
+    dispinterface _DHTMLSafeEvents
+    {
+    properties:
+    methods:
+        [
+            id(DISPID_DOCUMENTCOMPLETE)
+        ]
+        void DocumentComplete();
+
+        [
+            id(DISPID_DISPLAYCHANGED)
+        ]
+        void DisplayChanged();
+
+        [
+            id(DISPID_SHOWCONTEXTMENU)
+        ]
+        void ShowContextMenu(
+            [in] long x,
+            [in] long y
+        );
+
+        [
+            id(DISPID_CONTEXTMENUACTION)
+        ]
+        void ContextMenuAction(
+            [in] long index
+        );
+
+        [
+            id(DISPID_ONMOUSEDOWN)
+        ]
+        void onmousedown();
+
+        [
+            id(DISPID_ONMOUSEMOVE)
+        ]
+        void onmousemove();
+
+        [
+            id(DISPID_ONMOUSEUP)
+        ]
+        void onmouseup();
+
+        [
+            id(DISPID_ONMOUSEOUT)
+        ]
+        void onmouseout();
+
+        [
+            id(DISPID_ONMOUSEOVER)
+        ]
+        void onmouseover();
+
+        [
+            id(DISPID_ONCLICK)
+        ]
+        void onclick();
+
+        [
+            id(DISPID_ONDBLCLICK)
+        ]
+        void ondblclick();
+
+        [
+            id(DISPID_ONKEYDOWN)
+        ]
+        void onkeydown();
+
+        [
+            id(DISPID_ONKEYPRESS)
+        ]
+        void onkeypress();
+
+        [
+            id(DISPID_ONKEYUP)
+        ]
+        void onkeyup();
+
+        [
+            id(DISPID_ONBLUR)
+        ]
+        void onblur();
+
+        [
+            id(DISPID_ONREADYSTATECHANGE)
+        ]
+        void onreadystatechange();
+    };
+
+    [
+        uuid(2d360201-fff5-11d1-8d03-00a0c959bc0a),
+        threading(apartment)
+    ]
+    coclass DHTMLSafe
+    {
+        [default] interface IDHTMLSafe;
+        [default, source] interface _DHTMLSafeEvents;
+    };
+
+    [
+        uuid(ce04b591-2b1f-11d2-8d1e-00a0c959bc0a),
+        dual,
+        pointer_default(unique)
+    ]
+    interface IDHTMLEdit : IDHTMLSafe
+    {
+        [
+            id(DISPID_LOADDOCUMENT)
+        ]
+        HRESULT LoadDocument(
+            [in] VARIANT *path,
+            [in, optional] VARIANT *prompt
+        );
+
+        [
+            id(DISPID_SAVEDOCUMENT)
+        ]
+        HRESULT SaveDocument(
+            [in] VARIANT *path,
+            [in, optional] VARIANT *prompt
+        );
+
+        [
+            id(DISPID_PRINT)
+        ]
+        HRESULT PrintDocument(
+            [in, optional] VARIANT *prompt
+        );
+
+        [
+            propget,
+            id(DISPID_BROWSEMODE)
+        ]
+        HRESULT BrowseMode(
+            [out, retval] VARIANT_BOOL *value
+        );
+
+        [
+            propput,
+            id(DISPID_BROWSEMODE)
+        ]
+        HRESULT BrowseMode(
+            [in] VARIANT_BOOL value
+        );
+    };
+
+    [
+        uuid(588d5040-cf28-11d1-8cd3-00a0c959bc0a)
+    ]
+    dispinterface _DHTMLEditEvents
+    {
+    properties:
+    methods:
+        [
+            id(DISPID_DOCUMENTCOMPLETE)
+        ]
+        void DocumentComplete();
+
+        [
+            id(DISPID_DISPLAYCHANGED)
+        ]
+        void DisplayChanged();
+
+        [
+            id(DISPID_SHOWCONTEXTMENU)
+        ]
+        void ShowContextMenu(
+            [in] long x,
+            [in] long y
+        );
+
+        [
+            id(DISPID_CONTEXTMENUACTION)
+        ]
+        void ContextMenuAction(
+            [in] long index
+        );
+
+        [
+            id(DISPID_ONMOUSEDOWN)
+        ]
+        void onmousedown();
+
+        [
+            id(DISPID_ONMOUSEMOVE)
+        ]
+        void onmousemove();
+
+        [
+            id(DISPID_ONMOUSEUP)
+        ]
+        void onmouseup();
+
+        [
+            id(DISPID_ONMOUSEOUT)
+        ]
+        void onmouseout();
+
+        [
+            id(DISPID_ONMOUSEOVER)
+        ]
+        void onmouseover();
+
+        [
+            id(DISPID_ONCLICK)
+        ]
+        void onclick();
+
+        [
+            id(DISPID_ONDBLCLICK)
+        ]
+        void ondblclick();
+
+        [
+            id(DISPID_ONKEYDOWN)
+        ]
+        void onkeydown();
+
+        [
+            id(DISPID_ONKEYPRESS)
+        ]
+        void onkeypress();
+
+        [
+            id(DISPID_ONKEYUP)
+        ]
+        void onkeyup();
+
+        [
+            id(DISPID_ONBLUR)
+        ]
+        void onblur();
+
+        [
+            id(DISPID_ONREADYSTATECHANGE)
+        ]
+        void onreadystatechange();
+    };
+
+    [
+        uuid(2d360200-fff5-11d1-8d03-00a0c959bc0a),
+        threading(apartment)
+    ]
+    coclass DHTMLEdit
+    {
+        [default] interface IDHTMLEdit;
+        [default, source] interface _DHTMLEditEvents;
+    };
+}
-- 
2.15.1




More information about the wine-devel mailing list