Module: wine Branch: master Commit: b2938efbdfed35d180c18aa93b7e434ce01dd20e URL: http://source.winehq.org/git/wine.git/?a=commit;h=b2938efbdfed35d180c18aa93b...
Author: Misha Koshelev mk144210@bcm.tmc.edu Date: Tue Feb 27 19:37:39 2007 -0600
oleview: Mimick native treeview display of enumerations.
---
programs/oleview/typelib.c | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c index 779ed26..49568bb 100644 --- a/programs/oleview/typelib.c +++ b/programs/oleview/typelib.c @@ -95,6 +95,7 @@ static const WCHAR wszDefaultValue[] = { 'd','e','f','a','u','l','t','v','a','l','u','e','\0' };
static const WCHAR wszReadOnly[] = { 'r','e','a','d','o','n','l','y','\0' }; +static const WCHAR wszConst[] = { 'c','o','n','s','t','\0' };
void ShowLastError(void) { @@ -443,6 +444,7 @@ int EnumEnums(ITypeInfo *pTypeInfo, int cVars, HTREEITEM hParent) VARDESC *pVarDesc; BSTR bstrName; WCHAR wszText[MAX_LOAD_STRING]; + WCHAR wszAfter[MAX_LOAD_STRING];
U(tvis).item.mask = TVIF_TEXT|TVIF_PARAM; U(tvis).item.cchTextMax = MAX_LOAD_STRING; @@ -462,7 +464,7 @@ int EnumEnums(ITypeInfo *pTypeInfo, int cVars, HTREEITEM hParent) U(tvis).item.lParam = (LPARAM) tld;
memset(wszText, 0, sizeof(wszText)); - AddToStrW(wszText, bstrName); + memset(wszAfter, 0, sizeof(wszAfter));
if (pVarDesc->varkind == VAR_CONST) { @@ -470,14 +472,21 @@ int EnumEnums(ITypeInfo *pTypeInfo, int cVars, HTREEITEM hParent) VariantInit(&var); if (VariantChangeType(&var, pVarDesc->lpvarValue, 0, VT_BSTR) == S_OK) { + AddToStrW(wszText, wszConst); AddToStrW(wszText, wszSpace); - AddToStrW(wszText, wszEquals); - AddToStrW(wszText, wszSpace); - AddToStrW(wszText, V_BSTR(&var)); + AddToStrW(wszAfter, wszSpace); + AddToStrW(wszAfter, wszEquals); + AddToStrW(wszAfter, wszSpace); + AddToStrW(wszAfter, V_BSTR(&var)); } }
- AddToTLDataStrW(tld, wszText); + CreateTypeInfo(wszText, wszAfter, pVarDesc->elemdescVar.tdesc, pTypeInfo); + AddToStrW(wszText, wszSpace); + AddToStrW(wszText, bstrName); + AddToStrW(wszText, wszAfter); + AddToTLDataStrW(tld, bstrName); + AddToTLDataStrW(tld, wszAfter); if (i<cVars-1) AddToTLDataStrW(tld, wszComa); AddToTLDataStrW(tld, wszNewLine);