Piotr Caban : oleview: Added helpstring to functions.

Alexandre Julliard julliard at winehq.org
Thu Apr 10 04:39:25 CDT 2008


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

Author: Piotr Caban <piotr.caban at gmail.com>
Date:   Wed Apr  9 21:50:16 2008 +0200

oleview: Added helpstring to functions.

---

 programs/oleview/typelib.c |   32 +++++++++++++++++++++++---------
 1 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c
index 355826b..46d5b4d 100644
--- a/programs/oleview/typelib.c
+++ b/programs/oleview/typelib.c
@@ -78,9 +78,10 @@ static const WCHAR wszVT_DATE[] = { 'D','A','T','E','\0' };
 static const WCHAR wszVT_R8[] = { 'd','o','u','b','l','e','\0' };
 static const WCHAR wszVT_SAFEARRAY[] = { 'S','A','F','E','A','R','R','A','Y','\0' };
 
-const WCHAR wszFormat[] = { '0','x','%','.','8','l','x','\0' };
+static const WCHAR wszFormat[] = { '0','x','%','.','8','l','x','\0' };
 static const WCHAR wszStdCall[] = { '_','s','t','d','c','a','l','l','\0' };
 static const WCHAR wszId[] = { 'i','d','\0' };
+static const WCHAR wszHelpstring[] = { 'h','e','l','p','s','t','r','i','n','g','\0' };
 static const WCHAR wszPropPut[] = { 'p','r','o','p','p','u','t','\0' };
 static const WCHAR wszPropGet[] = { 'p','r','o','p','g','e','t','\0' };
 static const WCHAR wszPropPutRef[] = { 'p','r','o','p','p','u','t','r','e','f','\0' };
@@ -494,11 +495,11 @@ static int EnumEnums(ITypeInfo *pTypeInfo, int cVars, HTREEITEM hParent)
 
 static int EnumFuncs(ITypeInfo *pTypeInfo, int cFuncs, HTREEITEM hParent)
 {
-    int i, j, tabSize;
+    int i, j;
     unsigned namesNo;
     TVINSERTSTRUCT tvis;
     FUNCDESC *pFuncDesc;
-    BSTR bstrName, *bstrParamNames;
+    BSTR bstrName, bstrHelpString, *bstrParamNames;
     WCHAR wszText[MAX_LOAD_STRING];
     WCHAR wszAfter[MAX_LOAD_STRING];
     WCHAR szRhs[] = {'r','h','s',0};    /* Right-hand side of a propput */
@@ -514,7 +515,7 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, int cFuncs, HTREEITEM hParent)
 
         if(FAILED(ITypeInfo_GetFuncDesc(pTypeInfo, i, &pFuncDesc))) continue;
         if(FAILED(ITypeInfo_GetDocumentation(pTypeInfo, pFuncDesc->memid, &bstrName,
-                NULL, NULL, NULL))) continue;
+                &bstrHelpString, NULL, NULL))) continue;
 
         bstrParamNames = HeapAlloc(GetProcessHeap(), 0,
                 sizeof(BSTR*)*(pFuncDesc->cParams+1));
@@ -544,6 +545,20 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, int cFuncs, HTREEITEM hParent)
             AddToTLDataStrW(tld, wszCloseBrackets2);
             memset(wszText, 0, sizeof(wszText));
         }
+        if(SysStringLen(bstrHelpString)) {
+            if(bFirst) AddToTLDataStrW(tld, wszOpenBrackets1);
+            else {
+                AddToTLDataStrW(tld, wszComa);
+                AddToTLDataStrW(tld, wszSpace);
+            }
+            bFirst = FALSE;
+            AddToTLDataStrW(tld, wszHelpstring);
+            AddToTLDataStrW(tld, wszOpenBrackets2);
+            AddToTLDataStrW(tld, wszInvertedComa);
+            AddToTLDataStrW(tld, bstrHelpString);
+            AddToTLDataStrW(tld, wszInvertedComa);
+            AddToTLDataStrW(tld, wszCloseBrackets2);
+        }
         CreateTypeInfo(wszText, wszAfter, pFuncDesc->elemdescFunc.tdesc, pTypeInfo);
         switch(pFuncDesc->invkind)
         {
@@ -584,6 +599,7 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, int cFuncs, HTREEITEM hParent)
             AddToTLDataStrW(tld, wszCloseBrackets1);
             AddToTLDataStrW(tld, wszNewLine);
         }
+
         AddToTLDataStrW(tld, wszText);
         AddToTLDataStrW(tld, wszAfter);
         AddToTLDataStrW(tld, wszSpace);
@@ -592,7 +608,6 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, int cFuncs, HTREEITEM hParent)
             AddToTLDataStrW(tld, wszStdCall);
             AddToTLDataStrW(tld, wszSpace);
         }
-        tabSize = tld->idlLen;
         AddToTLDataStrW(tld, bstrName);
         AddToTLDataStrW(tld, wszOpenBrackets2);
 
@@ -602,7 +617,7 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, int cFuncs, HTREEITEM hParent)
             if(pFuncDesc->cParams != 1)
             {
                 AddToTLDataStrW(tld, wszNewLine);
-                AddSpaces(tld, tabSize);
+                AddSpaces(tld, 4);
             }
             bFirst = TRUE;
 #define ENUM_PARAM_FLAG(x)\
@@ -676,6 +691,7 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, int cFuncs, HTREEITEM hParent)
         SendMessage(typelib.hTree, TVM_INSERTITEM, 0, (LPARAM)&tvis);
         HeapFree(GetProcessHeap(), 0, bstrParamNames);
         SysFreeString(bstrName);
+        SysFreeString(bstrHelpString);
         ITypeInfo_ReleaseFuncDesc(pTypeInfo, pFuncDesc);
     }
 
@@ -795,7 +811,6 @@ static void CreateInterfaceInfo(ITypeInfo *pTypeInfo, int cImplTypes, WCHAR *wsz
     const WCHAR wszInterface[] = { 'i','n','t','e','r','f','a','c','e',' ','\0' };
     const WCHAR wszDispinterface[]
         = { 'd','i','s','p','i','n','t','e','r','f','a','c','e',' ','\0' };
-    const WCHAR wszHelpstring[] = { 'h','e','l','p','s','t','r','i','n','g','\0' };
     const WCHAR wszHelpcontext[] = { 'h','e','l','p','c','o','n','t','e','x','t','\0' };
     const WCHAR wszTYPEFLAG_FAPPOBJECT[] = { 'a','p','p','o','b','j','e','c','t','\0' };
     const WCHAR wszTYPEFLAG_FCANCREATE[] = { 'c','a','n','c','r','e','a','t','e','\0' };
@@ -998,7 +1013,6 @@ static int PopulateTree(void)
     const WCHAR wszTKIND_UNION[]
         = { 't','y','p','e','d','e','f',' ','u','n','i','o','n',' ','\0' };
 
-    const WCHAR wszHelpString[] = { 'h','e','l','p','s','t','r','i','n','g','\0' };
     const WCHAR wszLibrary[] = { 'l','i','b','r','a','r','y',' ','\0' };
     const WCHAR wszTag[] = { 't','a','g','\0' };
 
@@ -1050,7 +1064,7 @@ static int PopulateTree(void)
     AddToTLDataStrW(tld, wszComa);
     AddToTLDataStrW(tld, wszNewLine);
     AddSpaces(tld, 4);
-    AddToTLDataStrW(tld, wszHelpString);
+    AddToTLDataStrW(tld, wszHelpstring);
     AddToTLDataStrW(tld, wszOpenBrackets2);
     AddToTLDataStrW(tld, wszInvertedComa);
     AddToTLDataStrW(tld, bstrData);




More information about the wine-cvs mailing list