X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/58a8ab88685a72ac030d5e2ade62b4d796f11bed..d427503c3696486ef84cd0e5081884ccd8d6b434:/src/msw/treectrl.cpp diff --git a/src/msw/treectrl.cpp b/src/msw/treectrl.cpp index 0446ef1aed..e61d985c06 100644 --- a/src/msw/treectrl.cpp +++ b/src/msw/treectrl.cpp @@ -27,8 +27,19 @@ #pragma hdrstop #endif +#include "wx/window.h" +#include "wx/msw/private.h" + #ifndef WX_PRECOMP - #include "wx/wx.h" + #include "wx/settings.h" +#endif + +// Mingw32 is a bit mental even though this is done in winundef +#ifdef GetFirstChild +#undef GetFirstChild +#endif +#ifdef GetNextSibling +#undef GetNextSibling #endif #if defined(__WIN95__) @@ -38,8 +49,6 @@ #include "wx/imaglist.h" #include "wx/msw/treectrl.h" -#include "wx/msw/private.h" - #ifdef __GNUWIN32__ #include "wx/msw/gnuwin32/extra.h" #endif @@ -48,22 +57,6 @@ #include #endif -#ifdef GetFirstChild -#undef GetFirstChild -#endif - -#ifdef GetNextChild -#undef GetNextChild -#endif - -#ifdef GetNextSibling -#undef GetNextSibling -#endif - -#ifdef GetClassInfo -#undef GetClassInfo -#endif - // Bug in headers, sometimes #ifndef TVIS_FOCUSED #define TVIS_FOCUSED 0x0001 @@ -671,8 +664,10 @@ void wxTreeCtrl::DeleteAllItems() void wxTreeCtrl::DoExpand(const wxTreeItemId& item, int flag) { - wxASSERT_MSG( flag == TVE_COLLAPSE || flag == TVE_COLLAPSERESET || - flag == TVE_EXPAND || flag == TVE_TOGGLE, + wxASSERT_MSG( flag == TVE_COLLAPSE || + flag == (TVE_COLLAPSE | TVE_COLLAPSERESET) || + flag == TVE_EXPAND || + flag == TVE_TOGGLE, "Unknown flag in wxTreeCtrl::DoExpand" ); // TreeView_Expand doesn't send TVN_ITEMEXPAND(ING) messages, so we must @@ -712,7 +707,7 @@ void wxTreeCtrl::Collapse(const wxTreeItemId& item) void wxTreeCtrl::CollapseAndReset(const wxTreeItemId& item) { - DoExpand(item, TVE_COLLAPSERESET); + DoExpand(item, TVE_COLLAPSE | TVE_COLLAPSERESET); } void wxTreeCtrl::Toggle(const wxTreeItemId& item) @@ -852,6 +847,9 @@ static int CALLBACK TreeView_CompareCallback(wxTreeItemData *pItem1, wxTreeItemData *pItem2, wxTreeCtrl *tree) { + wxCHECK_MSG( pItem1 && pItem2, 0, + _T("sorting tree without data doesn't make sense") ); + return tree->OnCompareItems(pItem1->GetId(), pItem2->GetId()); } @@ -909,7 +907,7 @@ bool wxTreeCtrl::MSWCommand(WXUINT cmd, WXWORD id) } // process WM_NOTIFY Windows message -bool wxTreeCtrl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam, WXLPARAM *result) +bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) { wxTreeEvent event(wxEVT_NULL, m_windowId); wxEventType eventType = wxEVT_NULL; @@ -1045,7 +1043,7 @@ bool wxTreeCtrl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam, WXLPARAM *result) } default: - return wxControl::MSWNotify(wParam, lParam, result); + return wxControl::MSWOnNotify(idCtrl, lParam, result); } event.SetEventObject(this);