[1/2] vbscript: Support vb* constants for message box buttons (try2)

Nikolay Sivov nsivov at codeweavers.com
Wed Oct 3 07:00:34 CDT 2012


try2: use winuser.h defines

-------------- next part --------------
>From 3c2ba7539938f7a5375dcb9e61989b3c0b4f60ab Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed, 3 Oct 2012 15:53:42 +0400
Subject: [PATCH 1/2] Support vb* constants for message box buttons

---
 dlls/vbscript/global.c      |   24 ++++++++++++------------
 dlls/vbscript/tests/api.vbs |   13 +++++++++++++
 dlls/vbscript/vbsglobal.idl |    2 +-
 3 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c
index e2319ae..32eebdc 100644
--- a/dlls/vbscript/global.c
+++ b/dlls/vbscript/global.c
@@ -1594,38 +1594,38 @@ static HRESULT Global_vbFirstFullWeek(vbdisp_t *This, VARIANT *arg, unsigned arg
 
 static HRESULT Global_vbOKOnly(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    TRACE("\n");
+    return return_short(res, MB_OK);
 }
 
 static HRESULT Global_vbOKCancel(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    TRACE("\n");
+    return return_short(res, MB_OKCANCEL);
 }
 
 static HRESULT Global_vbAbortRetryIgnore(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    TRACE("\n");
+    return return_short(res, MB_ABORTRETRYIGNORE);
 }
 
 static HRESULT Global_vbYesNoCancel(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    TRACE("\n");
+    return return_short(res, MB_YESNOCANCEL);
 }
 
 static HRESULT Global_vbYesNo(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    TRACE("\n");
+    return return_short(res, MB_YESNO);
 }
 
 static HRESULT Global_vbRetryCancel(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    TRACE("\n");
+    return return_short(res, MB_RETRYCANCEL);
 }
 
 static HRESULT Global_vbCritical(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
diff --git a/dlls/vbscript/tests/api.vbs b/dlls/vbscript/tests/api.vbs
index 6bcded8..fc87c59 100644
--- a/dlls/vbscript/tests/api.vbs
+++ b/dlls/vbscript/tests/api.vbs
@@ -299,4 +299,17 @@ end if
 
 Call ok(getVT(Now()) = "VT_DATE", "getVT(Now()) = " & getVT(Now()))
 
+Call ok(vbOKOnly = 0, "vbOKOnly = " & vbOKOnly)
+Call ok(getVT(vbOKOnly) = "VT_I2", "getVT(vbOKOnly) = " & getVT(vbOKOnly))
+Call ok(vbOKCancel = 1, "vbOKCancel = " & vbOKCancel)
+Call ok(getVT(vbOKCancel) = "VT_I2", "getVT(vbOKCancel) = " & getVT(vbOKCancel))
+Call ok(vbAbortRetryIgnore = 2, "vbAbortRetryIgnore = " & vbAbortRetryIgnore)
+Call ok(getVT(vbAbortRetryIgnore) = "VT_I2", "getVT(vbAbortRetryIgnore) = " & getVT(vbAbortRetryIgnore))
+Call ok(vbYesNoCancel = 3, "vbYesNoCancel = " & vbYesNoCancel)
+Call ok(getVT(vbYesNoCancel) = "VT_I2", "getVT(vbYesNoCancel) = " & getVT(vbYesNoCancel))
+Call ok(vbYesNo = 4, "vbYesNo = " & vbYesNo)
+Call ok(getVT(vbYesNo) = "VT_I2", "getVT(vbYesNo) = " & getVT(vbYesNo))
+Call ok(vbRetryCancel = 5, "vbRetryCancel = " & vbRetryCancel)
+Call ok(getVT(vbRetryCancel) = "VT_I2", "getVT(vbRetryCancel) = " & getVT(vbRetryCancel))
+
 Call reportSuccess()
diff --git a/dlls/vbscript/vbsglobal.idl b/dlls/vbscript/vbsglobal.idl
index 5487cdc..fb847c1 100644
--- a/dlls/vbscript/vbsglobal.idl
+++ b/dlls/vbscript/vbsglobal.idl
@@ -85,7 +85,7 @@ library VBScript_Global
         [id(DISPID_GLOBAL_VBYESNO), readonly]
         VARIANT vbYesNo;
 
-        [id(DISPID_GLOBAL_VBYESNOCANCEL), readonly]
+        [id(DISPID_GLOBAL_VBRETRYCANCEL), readonly]
         VARIANT vbRetryCancel;
 
         [id(DISPID_GLOBAL_VBCRITICAL), readonly]
-- 
1.5.6.5




More information about the wine-patches mailing list