[PATCH 1/6] oleview: Replace some SendMessage wrappers with the real thing.

Michael Stefaniuc mstefani at redhat.de
Fri May 7 03:45:29 CDT 2010


---
 programs/oleview/details.c   |    4 ++--
 programs/oleview/interface.c |    9 ++++++---
 programs/oleview/oleview.c   |   27 ++++++++++++++++++---------
 programs/oleview/tree.c      |   42 ++++++++++++++++++++++++++++--------------
 programs/oleview/typelib.c   |   36 ++++++++++++++++++++++++------------
 5 files changed, 78 insertions(+), 40 deletions(-)

diff --git a/programs/oleview/details.c b/programs/oleview/details.c
index ae8e1ba..82c88d0 100644
--- a/programs/oleview/details.c
+++ b/programs/oleview/details.c
@@ -295,7 +295,7 @@ void RefreshDetails(HTREEITEM item)
 
     if(tvi.lParam && ((ITEM_INFO *)tvi.lParam)->cFlag & SHOWALL)
     {
-        if(TabCtrl_GetItemCount(details.hTab) == 1)
+        if(SendMessageW(details.hTab, TCM_GETITEMCOUNT, 0, 0) == 1)
         {
             TCITEM tci;
             memset(&tci, 0, sizeof(TCITEM));
@@ -377,7 +377,7 @@ static LRESULT CALLBACK DetailsProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM
             {
                 case TCN_SELCHANGE:
                     ShowWindow(details.hReg, SW_HIDE);
-                    sel = TabCtrl_GetCurSel(details.hTab);
+                    sel = SendMessageW(details.hTab, TCM_GETCURSEL, 0, 0);
 
                     if(sel==0) ShowWindow(details.hReg, SW_SHOW);
                     break;
diff --git a/programs/oleview/interface.c b/programs/oleview/interface.c
index 5262187..ca37979 100644
--- a/programs/oleview/interface.c
+++ b/programs/oleview/interface.c
@@ -47,7 +47,8 @@ static IUnknown *GetInterface(void)
     CLSID clsid;
     IUnknown *unk;
 
-    hSelect = TreeView_GetSelection(globals.hTree);
+    hSelect = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+            TVGN_CARET, 0);
 
     memset(&tvi, 0, sizeof(TVITEM));
     tvi.hItem = hSelect;
@@ -55,7 +56,8 @@ static IUnknown *GetInterface(void)
     CLSIDFromString(((ITEM_INFO *)tvi.lParam)->clsid, &clsid);
 
     memset(&tvi, 0, sizeof(TVITEM));
-    tvi.hItem = TreeView_GetParent(globals.hTree, hSelect);
+    tvi.hItem = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+            TVGN_PARENT, (LPARAM)hSelect);
     SendMessage(globals.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
 
     IUnknown_QueryInterface(((ITEM_INFO *)tvi.lParam)->pU, &clsid, (void *)&unk);
@@ -179,7 +181,8 @@ void InterfaceViewer(HTREEITEM item)
 
     memset(&tvi, 0, sizeof(TVITEM));
     tvi.mask = TVIF_TEXT;
-    tvi.hItem = TreeView_GetParent(globals.hTree, item);
+    tvi.hItem = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+            TVGN_PARENT, (LPARAM)item);
     tvi.cchTextMax = MAX_LOAD_STRING;
     tvi.pszText = wszParent;
 
diff --git a/programs/oleview/oleview.c b/programs/oleview/oleview.c
index f67c75d..f2741a7 100644
--- a/programs/oleview/oleview.c
+++ b/programs/oleview/oleview.c
@@ -219,7 +219,8 @@ void RefreshMenu(HTREEITEM item)
     tvi.hItem = item;
     SendMessage(globals.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
 
-    parent = TreeView_GetParent(globals.hTree, item);
+    parent = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+            TVGN_PARENT, (LPARAM)item);
 
     SendMessage(globals.hToolBar, TB_ENABLEBUTTON, IDM_CREATEINST, FALSE);
     SendMessage(globals.hToolBar, TB_ENABLEBUTTON, IDM_RELEASEINST, FALSE);
@@ -290,27 +291,32 @@ static int MenuCommand(WPARAM wParam, HWND hWnd)
             ShellAbout(hWnd, wszAbout, wszAboutVer, NULL);
             break;
         case IDM_COPYCLSID:
-            hSelect = TreeView_GetSelection(globals.hTree);
+            hSelect = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CARET, 0);
             CopyClsid(hSelect);
             break;
         case IDM_HTMLTAG:
-            hSelect = TreeView_GetSelection(globals.hTree);
+            hSelect = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CARET, 0);
             CopyHTMLTag(hSelect);
             break;
         case IDM_CREATEINST:
-            hSelect = TreeView_GetSelection(globals.hTree);
+            hSelect = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CARET, 0);
             CreateInst(hSelect, NULL);
             SendMessage(globals.hTree, TVM_EXPAND, TVE_EXPAND, (LPARAM)hSelect);
             break;
         case IDM_CREATEINSTON:
             if(DialogBox(0, MAKEINTRESOURCE(DLG_CREATEINSTON),
                         hWnd, CreateInstOnProc) == IDCANCEL) break;
-            hSelect = TreeView_GetSelection(globals.hTree);
+            hSelect = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CARET, 0);
             CreateInst(hSelect, globals.wszMachineName);
             SendMessage(globals.hTree, TVM_EXPAND, TVE_EXPAND, (LPARAM)hSelect);
             break;
         case IDM_RELEASEINST:
-            hSelect = TreeView_GetSelection(globals.hTree);
+            hSelect = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CARET, 0);
             ReleaseInst(hSelect);
             RefreshMenu(hSelect);
             RefreshDetails(hSelect);
@@ -322,7 +328,8 @@ static int MenuCommand(WPARAM wParam, HWND hWnd)
             EmptyTree();
             if(globals.bExpert) AddTreeEx();
             else AddTree();
-            hSelect = TreeView_GetChild(globals.hTree, TVI_ROOT);
+            hSelect = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CHILD, (LPARAM)TVI_ROOT);
             SendMessage(globals.hTree, TVM_SELECTITEM, 0, (LPARAM)hSelect);
             RefreshMenu(hSelect);
             break;
@@ -362,7 +369,8 @@ static int MenuCommand(WPARAM wParam, HWND hWnd)
             EmptyTree();
             if(globals.bExpert) AddTreeEx();
             else AddTree();
-            hSelect = TreeView_GetChild(globals.hTree, TVI_ROOT);
+            hSelect = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CHILD, (LPARAM)TVI_ROOT);
             SendMessage(globals.hTree, TVM_SELECTITEM, 0, (LPARAM)hSelect);
             RefreshMenu(hSelect);
             break;
@@ -414,7 +422,8 @@ static int MenuCommand(WPARAM wParam, HWND hWnd)
             break;
             }
         case IDM_VIEW:
-            hSelect = TreeView_GetSelection(globals.hTree);
+            hSelect = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CARET, 0);
             if(IsInterface(hSelect)) InterfaceViewer(hSelect);
             else CreateTypeLibWindow(globals.hMainInst, NULL);
             break;
diff --git a/programs/oleview/tree.c b/programs/oleview/tree.c
index 394c99b..c246bbd 100644
--- a/programs/oleview/tree.c
+++ b/programs/oleview/tree.c
@@ -148,7 +148,8 @@ void CreateInst(HTREEITEM item, WCHAR *wszMachineName)
     SendMessage(globals.hTree, TVM_SETITEM, 0, (LPARAM)&tvi);
 
     tvi.mask = TVIF_TEXT;
-    hCur = TreeView_GetChild(globals.hTree, tree.hI);
+    hCur = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+            TVGN_CHILD, (LPARAM)tree.hI);
 
     while(hCur)
     {
@@ -157,7 +158,8 @@ void CreateInst(HTREEITEM item, WCHAR *wszMachineName)
 
         if(!tvi.lParam)
         {
-            hCur = TreeView_GetNextSibling(globals.hTree, hCur);
+            hCur = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+                    TVGN_NEXT, (LPARAM)hCur);
             continue;
         }
 
@@ -174,7 +176,8 @@ void CreateInst(HTREEITEM item, WCHAR *wszMachineName)
                     wszRegPath, ((ITEM_INFO *)tvi.lParam)->clsid, NULL);
             SendMessage(globals.hTree, TVM_INSERTITEM, 0, (LPARAM)&tvis);
         }
-        hCur = TreeView_GetNextSibling(globals.hTree, hCur);
+        hCur = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+                TVGN_NEXT, (LPARAM)hCur);
     }
 
     RefreshMenu(item);
@@ -200,11 +203,13 @@ void ReleaseInst(HTREEITEM item)
 
     SendMessage(globals.hTree, TVM_EXPAND, TVE_COLLAPSE, (LPARAM)item);
 
-    cur = TreeView_GetChild(globals.hTree, item);
+    cur = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+            TVGN_CHILD, (LPARAM)item);
     while(cur)
     {
         SendMessage(globals.hTree, TVM_DELETEITEM, 0, (LPARAM)cur);
-        cur = TreeView_GetChild(globals.hTree, item);
+        cur = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+                TVGN_CHILD, (LPARAM)item);
     }
 
     tvi.mask = TVIF_CHILDREN|TVIF_STATE;
@@ -242,7 +247,8 @@ BOOL CreateRegPath(HTREEITEM item, WCHAR *buffer, int bufSize)
 
         if(!tvi.lParam) return FALSE;
 
-        tvi.hItem = TreeView_GetParent(globals.hTree, tvi.hItem);
+        tvi.hItem = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+                TVGN_PARENT, (LPARAM)tvi.hItem);
     }
     return ret;
 }
@@ -304,8 +310,10 @@ static void AddCOMandAll(void)
 
             RegCloseKey(hInfo);
 
-            if(tree.hGBCC) curSearch = TreeView_GetChild(globals.hTree, tree.hGBCC);
-            else curSearch = TreeView_GetChild(globals.hTree, TVI_ROOT);
+            if(tree.hGBCC) curSearch = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CHILD, (LPARAM)tree.hGBCC);
+            else curSearch = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_CHILD, (LPARAM)TVI_ROOT);
 
             while(curSearch)
             {
@@ -324,7 +332,8 @@ static void AddCOMandAll(void)
                     SendMessage(globals.hTree, TVM_INSERTITEM, 0, (LPARAM)&tvis);
                     break;
                 }
-                curSearch = TreeView_GetNextSibling(globals.hTree, curSearch);
+                curSearch = (HTREEITEM)SendMessageW(globals.hTree,
+                        TVM_GETNEXTITEM, TVGN_NEXT, (LPARAM)curSearch);
             }
         }
         RegCloseKey(hCurKey);
@@ -600,18 +609,23 @@ void EmptyTree(void)
     TVITEM tvi;
 
     tvi.mask = TVIF_PARAM;
-    cur = TreeView_GetChild(globals.hTree, TVI_ROOT);
+    cur = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+            TVGN_CHILD, (LPARAM)TVI_ROOT);
 
     while(TRUE)
     {
         del = cur;
-        cur = TreeView_GetChild(globals.hTree, del);
+        cur = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+                TVGN_CHILD, (LPARAM)del);
 
-        if(!cur) cur = TreeView_GetNextSibling(globals.hTree, del);
+        if(!cur) cur = (HTREEITEM)SendMessageW(globals.hTree,
+                TVM_GETNEXTITEM, TVGN_NEXT, (LPARAM)del);
         if(!cur)
         {
-            cur = TreeView_GetPrevSibling(globals.hTree, del);
-            if(!cur) cur = TreeView_GetParent(globals.hTree, del);
+            cur = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+                    TVGN_PREVIOUS, (LPARAM)del);
+            if(!cur) cur = (HTREEITEM)SendMessageW(globals.hTree,
+                    TVM_GETNEXTITEM, TVGN_PARENT, (LPARAM)del);
 
             tvi.hItem = del;
             SendMessage(globals.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c
index 7e9e4a0..60e853f 100644
--- a/programs/oleview/typelib.c
+++ b/programs/oleview/typelib.c
@@ -122,7 +122,8 @@ static void SaveIdl(WCHAR *wszFileName)
     char *wszIdl;
     TYPELIB_DATA *data;
 
-    hIDL = TreeView_GetChild(typelib.hTree, TVI_ROOT);
+    hIDL = (HTREEITEM)SendMessageW(typelib.hTree, TVM_GETNEXTITEM,
+            TVGN_CHILD, (LPARAM)TVI_ROOT);
 
     memset(&tvi, 0, sizeof(TVITEM));
     tvi.hItem = hIDL;
@@ -280,7 +281,8 @@ static void AddChildrenData(HTREEITEM hParent, TYPELIB_DATA *pData)
 
     memset(&tvi, 0, sizeof(tvi));
 
-    hCur = TreeView_GetChild(typelib.hTree, hParent);
+    hCur = (HTREEITEM)SendMessageW(typelib.hTree, TVM_GETNEXTITEM,
+            TVGN_CHILD, (LPARAM)hParent);
     if(!hCur) return;
 
     do
@@ -289,7 +291,8 @@ static void AddChildrenData(HTREEITEM hParent, TYPELIB_DATA *pData)
         SendMessage(typelib.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
         if(tvi.lParam && ((TYPELIB_DATA *)(tvi.lParam))->idlLen)
             AddToTLDataStrWithTabsW(pData, ((TYPELIB_DATA *)(tvi.lParam))->idl);
-    }while((hCur = TreeView_GetNextSibling(typelib.hTree, hCur)));
+    } while((hCur = (HTREEITEM)SendMessageW(typelib.hTree, TVM_GETNEXTITEM,
+            TVGN_NEXT, (LPARAM)hCur)));
 }
 
 static void CreateTypeInfo(WCHAR *wszAddTo, WCHAR *wszAddAfter, TYPEDESC tdesc, ITypeInfo *pTypeInfo)
@@ -857,7 +860,8 @@ static void AddIdlData(HTREEITEM hCur, TYPELIB_DATA *pTLData)
 {
     TVITEM tvi;
 
-    hCur = TreeView_GetChild(typelib.hTree, hCur);
+    hCur = (HTREEITEM)SendMessageW(typelib.hTree, TVM_GETNEXTITEM,
+            TVGN_CHILD, (LPARAM)hCur);
     memset(&tvi, 0, sizeof(TVITEM));
     tvi.mask = TVIF_PARAM;
 
@@ -869,7 +873,8 @@ static void AddIdlData(HTREEITEM hCur, TYPELIB_DATA *pTLData)
             AddToTLDataStrW(pTLData, wszNewLine);
             AddToTLDataStrWithTabsW(pTLData, ((TYPELIB_DATA*)(tvi.lParam))->idl);
         }
-        hCur = TreeView_GetNextSibling(typelib.hTree, hCur);
+        hCur = (HTREEITEM)SendMessageW(typelib.hTree, TVM_GETNEXTITEM,
+                TVGN_NEXT, (LPARAM)hCur);
     }
 }
 
@@ -883,7 +888,8 @@ static void AddPredefinitions(HTREEITEM hFirst, TYPELIB_DATA *pTLData)
         'a','l','l',' ','t','y','p','e','s',' ','d','e','f','i','n','e','d',' ',
         'i','n',' ','t','h','i','s',' ','t','y','p','e','l','i','b','\0' };
 
-    hFirst = TreeView_GetChild(typelib.hTree, hFirst);
+    hFirst = (HTREEITEM)SendMessageW(typelib.hTree, TVM_GETNEXTITEM,
+            TVGN_CHILD, (LPARAM)hFirst);
 
     AddToTLDataStrWithTabsW(pTLData, wszPredefinition);
     AddToTLDataStrW(pTLData, wszNewLine);
@@ -904,7 +910,8 @@ static void AddPredefinitions(HTREEITEM hFirst, TYPELIB_DATA *pTLData)
             AddToTLDataStrWithTabsW(pTLData, wszText);
             AddToTLDataStrW(pTLData, wszNewLine);
         }
-        hCur = TreeView_GetNextSibling(typelib.hTree, hCur);
+        hCur = (HTREEITEM)SendMessageW(typelib.hTree, TVM_GETNEXTITEM,
+                TVGN_NEXT, (LPARAM)hCur);
     }
 }
 
@@ -1527,15 +1534,19 @@ static void EmptyTLTree(void)
     TVITEM tvi;
 
     tvi.mask = TVIF_PARAM;
-    cur = TreeView_GetChild(typelib.hTree, TVI_ROOT);
+    cur = (HTREEITEM)SendMessageW(typelib.hTree, TVM_GETNEXTITEM,
+            TVGN_CHILD, (LPARAM)TVI_ROOT);
 
     while(TRUE)
     {
         del = cur;
-        cur = TreeView_GetChild(typelib.hTree, del);
+        cur = (HTREEITEM)SendMessageW(typelib.hTree, TVM_GETNEXTITEM,
+                TVGN_CHILD, (LPARAM)del);
 
-        if(!cur) cur = TreeView_GetNextSibling(typelib.hTree, del);
-        if(!cur) cur = TreeView_GetParent(typelib.hTree, del);
+        if(!cur) cur = (HTREEITEM)SendMessageW(typelib.hTree,
+                TVM_GETNEXTITEM, TVGN_NEXT, (LPARAM)del);
+        if(!cur) cur = (HTREEITEM)SendMessageW(typelib.hTree,
+                TVM_GETNEXTITEM, TVGN_PARENT, (LPARAM)del);
 
         tvi.hItem = del;
         SendMessage(typelib.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
@@ -1622,7 +1633,8 @@ BOOL CreateTypeLibWindow(HINSTANCE hInst, WCHAR *wszFileName)
         TVITEM tvi;
 
         memset(&tvi, 0, sizeof(TVITEM));
-        tvi.hItem = TreeView_GetSelection(globals.hTree);
+        tvi.hItem = (HTREEITEM)SendMessageW(globals.hTree, TVM_GETNEXTITEM,
+                TVGN_CARET, 0);
 
         SendMessage(globals.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
         lstrcpyW(typelib.wszFileName, ((ITEM_INFO*)tvi.lParam)->path);
-- 
1.6.6.1



More information about the wine-patches mailing list