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