Jacek Caban : mshtml: Move remaining commands to tables.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jun 11 08:46:33 CDT 2007
Module: wine
Branch: master
Commit: eb8b3417e08c1773dce88ca6f3e557b976d9d302
URL: http://source.winehq.org/git/wine.git/?a=commit;h=eb8b3417e08c1773dce88ca6f3e557b976d9d302
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Jun 10 11:31:04 2007 +0200
mshtml: Move remaining commands to tables.
---
dlls/mshtml/editor.c | 88 +++++++++++++++++++++++++++++++
dlls/mshtml/olecmd.c | 139 +++----------------------------------------------
2 files changed, 97 insertions(+), 130 deletions(-)
diff --git a/dlls/mshtml/editor.c b/dlls/mshtml/editor.c
index 4b455a0..2b2596a 100644
--- a/dlls/mshtml/editor.c
+++ b/dlls/mshtml/editor.c
@@ -41,7 +41,12 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
#define NSCMD_BOLD "cmd_bold"
#define NSCMD_FONTCOLOR "cmd_fontColor"
#define NSCMD_FONTFACE "cmd_fontFace"
+#define NSCMD_INDENT "cmd_indent"
+#define NSCMD_INSERTHR "cmd_insertHR"
#define NSCMD_ITALIC "cmd_italic"
+#define NSCMD_OL "cmd_ol"
+#define NSCMD_OUTDENT "cmd_outdent"
+#define NSCMD_UL "cmd_ul"
#define NSCMD_UNDERLINE "cmd_underline"
#define NSSTATE_ATTRIBUTE "state_attribute"
@@ -722,6 +727,83 @@ static HRESULT exec_underline(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
return S_OK;
}
+static HRESULT exec_horizontalline(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
+{
+ TRACE("(%p)\n", This);
+
+ if(in || out)
+ FIXME("unsupported args\n");
+
+ if(This->nscontainer)
+ do_ns_command(This->nscontainer, NSCMD_INSERTHR, NULL);
+
+ return S_OK;
+}
+
+static HRESULT exec_orderlist(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
+{
+ TRACE("(%p)\n", This);
+
+ if(in || out)
+ FIXME("unsupported args\n");
+
+ if(This->nscontainer)
+ do_ns_command(This->nscontainer, NSCMD_OL, NULL);
+
+ return S_OK;
+}
+
+static HRESULT exec_unorderlist(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
+{
+ TRACE("(%p)\n", This);
+
+ if(in || out)
+ FIXME("unsupported args\n");
+
+ if(This->nscontainer)
+ do_ns_command(This->nscontainer, NSCMD_UL, NULL);
+
+ return S_OK;
+}
+
+static HRESULT exec_indent(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
+{
+ TRACE("(%p)\n", This);
+
+ if(in || out)
+ FIXME("unsupported args\n");
+
+ if(This->nscontainer)
+ do_ns_command(This->nscontainer, NSCMD_INDENT, NULL);
+
+ return S_OK;
+}
+
+static HRESULT exec_outdent(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
+{
+ TRACE("(%p)\n", This);
+
+ if(in || out)
+ FIXME("unsupported args\n");
+
+ if(This->nscontainer)
+ do_ns_command(This->nscontainer, NSCMD_OUTDENT, NULL);
+
+ return S_OK;
+}
+
+static HRESULT exec_composesettings(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
+{
+ if(out || !in || V_VT(in) != VT_BSTR) {
+ WARN("invalid arg\n");
+ return E_INVALIDARG;
+ }
+
+ FIXME("%s\n", debugstr_w(V_BSTR(in)));
+
+ return S_OK;
+}
+
const cmdtable_t editmode_cmds[] = {
{IDM_FONTNAME, NULL, exec_fontname},
{IDM_FONTSIZE, NULL, exec_fontsize},
@@ -732,5 +814,11 @@ const cmdtable_t editmode_cmds[] = {
{IDM_JUSTIFYRIGHT, NULL, exec_justifyright},
{IDM_JUSTIFYLEFT, NULL, exec_justifyleft},
{IDM_UNDERLINE, NULL, exec_underline},
+ {IDM_HORIZONTALLINE, NULL, exec_horizontalline},
+ {IDM_ORDERLIST, NULL, exec_orderlist},
+ {IDM_UNORDERLIST, NULL, exec_unorderlist},
+ {IDM_INDENT, NULL, exec_indent},
+ {IDM_OUTDENT, NULL, exec_outdent},
+ {IDM_COMPOSESETTINGS, NULL, exec_composesettings},
{0,NULL,NULL}
};
diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c
index 966a103..edb02c5 100644
--- a/dlls/mshtml/olecmd.c
+++ b/dlls/mshtml/olecmd.c
@@ -461,36 +461,6 @@ static HRESULT exec_get_print_template(HTMLDocument *This, DWORD nCmdexecopt, VA
return E_NOTIMPL;
}
-static void do_ns_command(NSContainer *This, const char *cmd, nsICommandParams *nsparam)
-{
- nsICommandManager *cmdmgr;
- nsIInterfaceRequestor *iface_req;
- nsresult nsres;
-
- TRACE("(%p)\n", This);
-
- nsres = nsIWebBrowser_QueryInterface(This->webbrowser,
- &IID_nsIInterfaceRequestor, (void**)&iface_req);
- if(NS_FAILED(nsres)) {
- ERR("Could not get nsIInterfaceRequestor: %08x\n", nsres);
- return;
- }
-
- nsres = nsIInterfaceRequestor_GetInterface(iface_req, &IID_nsICommandManager,
- (void**)&cmdmgr);
- nsIInterfaceRequestor_Release(iface_req);
- if(NS_FAILED(nsres)) {
- ERR("Could not get nsICommandManager: %08x\n", nsres);
- return;
- }
-
- nsres = nsICommandManager_DoCommand(cmdmgr, cmd, nsparam, NULL);
- if(NS_FAILED(nsres))
- ERR("DoCommand(%s) failed: %08x\n", debugstr_a(cmd), nsres);
-
- nsICommandManager_Release(cmdmgr);
-}
-
static nsresult get_ns_command_state(NSContainer *This, const char *cmd, nsICommandParams *nsparam)
{
nsICommandManager *cmdmgr;
@@ -681,84 +651,22 @@ static HRESULT exec_editmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
return IPersistMoniker_Load(PERSISTMON(This), TRUE, mon, NULL, 0);
}
-static HRESULT exec_baselinefont3(HTMLDocument *This)
-{
- FIXME("(%p)\n", This);
- return S_OK;
-}
-
-static HRESULT exec_horizontalline(HTMLDocument *This)
-{
- TRACE("(%p)\n", This);
-
- if(This->nscontainer)
- do_ns_command(This->nscontainer, NSCMD_INSERTHR, NULL);
-
- return S_OK;
-}
-
-static HRESULT exec_orderlist(HTMLDocument *This)
-{
- TRACE("(%p)\n", This);
-
- if(This->nscontainer)
- do_ns_command(This->nscontainer, NSCMD_OL, NULL);
-
- return S_OK;
-}
-
-static HRESULT exec_unorderlist(HTMLDocument *This)
-{
- TRACE("(%p)\n", This);
-
- if(This->nscontainer)
- do_ns_command(This->nscontainer, NSCMD_UL, NULL);
-
- return S_OK;
-}
-
-static HRESULT exec_indent(HTMLDocument *This)
-{
- TRACE("(%p)\n", This);
-
- if(This->nscontainer)
- do_ns_command(This->nscontainer, NSCMD_INDENT, NULL);
-
- return S_OK;
-}
-
-static HRESULT exec_outdent(HTMLDocument *This)
-{
- TRACE("(%p)\n", This);
-
- if(This->nscontainer)
- do_ns_command(This->nscontainer, NSCMD_OUTDENT, NULL);
-
- return S_OK;
-}
-
static HRESULT exec_htmleditmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
{
FIXME("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out);
return S_OK;
}
-static HRESULT exec_composesettings(HTMLDocument *This, VARIANT *in)
+static HRESULT exec_setdirty(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
{
- if(!in || V_VT(in) != VT_BSTR) {
- WARN("invalid arg\n");
- return E_INVALIDARG;
- }
-
- FIXME("%s\n", debugstr_w(V_BSTR(in)));
-
- return S_OK;
+ FIXME("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out);
+ return E_NOTIMPL;
}
-static HRESULT exec_setdirty(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
+static HRESULT exec_baselinefont3(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
{
FIXME("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out);
- return E_NOTIMPL;
+ return S_OK;
}
static const struct {
@@ -815,6 +723,7 @@ static const cmdtable_t base_cmds[] = {
{IDM_PRINT, NULL, exec_print},
{IDM_SETDIRTY, NULL, exec_setdirty},
{IDM_HTMLEDITMODE, NULL, exec_htmleditmode},
+ {IDM_BASELINEFONT3, NULL, exec_baselinefont3},
{0,NULL,NULL}
};
@@ -1023,40 +932,10 @@ static HRESULT WINAPI OleCommandTarget_Exec(IOleCommandTarget *iface, const GUID
if(hres == OLECMDERR_E_NOTSUPPORTED)
hres = exec_from_table(This, editmode_cmds, nCmdID,
nCmdexecopt, pvaIn, pvaOut);
- if(hres != OLECMDERR_E_NOTSUPPORTED)
- return hres;
-
- switch(nCmdID) {
- case IDM_BASELINEFONT3:
- return exec_baselinefont3(This);
- case IDM_HORIZONTALLINE:
- if(pvaIn || pvaOut)
- FIXME("unsupported arguments\n");
- return exec_horizontalline(This);
- case IDM_ORDERLIST:
- if(pvaIn || pvaOut)
- FIXME("unsupported arguments\n");
- return exec_orderlist(This);
- case IDM_UNORDERLIST:
- if(pvaIn || pvaOut)
- FIXME("unsupported arguments\n");
- return exec_unorderlist(This);
- case IDM_INDENT:
- if(pvaIn || pvaOut)
- FIXME("unsupported arguments\n");
- return exec_indent(This);
- case IDM_OUTDENT:
- if(pvaIn || pvaOut)
- FIXME("unsupported arguments\n");
- return exec_outdent(This);
- case IDM_COMPOSESETTINGS:
- if(pvaOut)
- FIXME("unsupported arguments\n");
- return exec_composesettings(This, pvaIn);
- default:
+ if(hres == OLECMDERR_E_NOTSUPPORTED)
FIXME("unsupported nCmdID %d of CGID_MSHTML group\n", nCmdID);
- return OLECMDERR_E_NOTSUPPORTED;
- }
+
+ return hres;
}
FIXME("Unsupported pguidCmdGroup %s\n", debugstr_guid(pguidCmdGroup));
More information about the wine-cvs
mailing list