oleview: Added next field to TypeLib viewer treeview control [2/2]

Piotr Caban piotr.caban at gmail.com
Sun Jul 2 12:44:39 CDT 2006


Hi,

Changelog:
 - Added next field to TypeLib viewer treeview control

 programs/oleview/typelib.c |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

--
Piotr

-------------- next part --------------
diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c
index 67d8633..7e48667 100644
--- a/programs/oleview/typelib.c
+++ b/programs/oleview/typelib.c
@@ -90,7 +90,8 @@ int PopulateTree(void)
 {
     TVINSERTSTRUCT tvis;
     ITypeLib *pTypeLib;
-    ITypeInfo *pTypeInfo;
+    ITypeInfo *pTypeInfo, *pRefTypeInfo;
+    HREFTYPE hRefType;
     TYPEATTR *pTypeAttr;
     INT count, i;
     BSTR bstrName;
@@ -157,9 +158,24 @@ #define TKINDADDTOSTR(x) case x:\
             TKINDADDTOSTR(TKIND_RECORD);
             TKINDADDTOSTR(TKIND_MODULE);
             TKINDADDTOSTR(TKIND_INTERFACE);
-            TKINDADDTOSTR(TKIND_DISPATCH);
             TKINDADDTOSTR(TKIND_COCLASS);
             TKINDADDTOSTR(TKIND_UNION);
+            case TKIND_DISPATCH:
+                AddToStrW(wszText, wszTKIND_DISPATCH);
+                AddToStrW(wszText, bstrName);
+                if(SUCCEEDED(ITypeInfo_GetRefTypeOfImplType(pTypeInfo, -1, &hRefType)))
+                {
+                    SendMessage(typelib.hTree, TVM_INSERTITEM, 0, (LPARAM)&tvis);
+                    memset(wszText, 0, sizeof(wszText));
+
+                    ITypeInfo_GetRefTypeInfo(pTypeInfo, hRefType, &pRefTypeInfo);
+                    ITypeInfo_GetDocumentation(pRefTypeInfo, MEMBERID_NIL, &bstrName,
+                                NULL, NULL, NULL);
+                    AddToStrW(wszText, wszTKIND_INTERFACE);
+                    AddToStrW(wszText, bstrName);
+                    ITypeInfo_Release(pRefTypeInfo);
+                }
+                break;
             case TKIND_ALIAS:
                 AddToStrW(wszText, wszTKIND_ALIAS);
                 CreateTypeInfo(wszText, pTypeAttr->tdescAlias, pTypeInfo);


More information about the wine-patches mailing list