Jacek Caban : mshtml: Added Exec(IDM_JUSTIFYCENTER) implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Nov 9 13:57:51 CST 2006


Module: wine
Branch: master
Commit: 8968c399e6e4bd393d11c2b0e2b75a63ab5a8693
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8968c399e6e4bd393d11c2b0e2b75a63ab5a8693

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Nov  9 10:48:07 2006 +0100

mshtml: Added Exec(IDM_JUSTIFYCENTER) implementation.

---

 dlls/mshtml/olecmd.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c
index 28f7189..d8a2154 100644
--- a/dlls/mshtml/olecmd.c
+++ b/dlls/mshtml/olecmd.c
@@ -43,6 +43,7 @@ #define NSCMD_BOLD "cmd_bold"
 #define NSCMD_ITALIC "cmd_italic"
 #define NSCMD_UNDERLINE "cmd_underline"
 #define NSCMD_FONTCOLOR "cmd_fontColor"
+#define NSCMD_ALIGN "cmd_align"
 
 #define NSSTATE_ATTRIBUTE "state_attribute"
 
@@ -323,6 +324,21 @@ static DWORD query_edit_status(HTMLDocum
     return OLECMDF_SUPPORTED | OLECMDF_ENABLED | (b ? OLECMDF_LATCHED : 0);
 }
 
+static void set_ns_align(HTMLDocument *This, const char *align_str)
+{
+    nsICommandParams *nsparam;
+
+    if(!This->nscontainer)
+        return;
+
+    nsparam = create_nscommand_params();
+    nsICommandParams_SetCStringValue(nsparam, NSSTATE_ATTRIBUTE, align_str);
+
+    do_ns_command(This->nscontainer, NSCMD_ALIGN, nsparam);
+
+    nsICommandParams_Release(nsparam);
+}
+
 static HRESULT exec_fontname(HTMLDocument *This, VARIANT *in, VARIANT *out)
 {
     TRACE("(%p)->(%p %p)\n", This, in, out);
@@ -439,6 +455,13 @@ static HRESULT exec_italic(HTMLDocument
     return S_OK;
 }
 
+static HRESULT exec_justifycenter(HTMLDocument *This)
+{
+    TRACE("(%p)\n", This);
+    set_ns_align(This, "center");
+    return S_OK;
+}
+
 static HRESULT exec_underline(HTMLDocument *This)
 {
     TRACE("(%p)\n", This);
@@ -794,6 +817,10 @@ static HRESULT WINAPI OleCommandTarget_E
             if(pvaIn || pvaOut)
                 FIXME("unsupported arguments\n");
             return exec_italic(This);
+        case IDM_JUSTIFYCENTER:
+            if(pvaIn || pvaOut)
+                FIXME("unsupported arguments\n");
+            return exec_justifycenter(This);
         case IDM_UNDERLINE:
             if(pvaIn || pvaOut)
                 FIXME("unsupported arguments\n");




More information about the wine-cvs mailing list