#include "wx/dynarray.h"
#include "wx/imaglist.h"
#include "wx/settings.h"
-#include "wx/msw/treectrl.h"
+#include "wx/treectrl.h"
#include "wx/msw/dragimag.h"
// macros to hide the cast ugliness
m_tree = tree;
}
+ // give it a virtual dtor: not really needed as the class is never used
+ // polymorphically and not even allocated on heap at all, but this is safer
+ // (in case it ever is) and silences the compiler warnings for now
+ virtual ~wxTreeTraversal() { }
+
// do traverse the tree: visit all items (recursively by default) under the
// given one; return true if all items were traversed or false if the
// traversal was aborted because OnVisit returned false
void wxTreeCtrl::SetAnyImageList(wxImageList *imageList, int which)
{
// no error return
- TreeView_SetImageList(GetHwnd(),
- imageList ? imageList->GetHIMAGELIST() : 0,
- which);
+ (void) TreeView_SetImageList(GetHwnd(),
+ imageList ? imageList->GetHIMAGELIST() : 0,
+ which);
}
void wxTreeCtrl::SetImageList(wxImageList *imageList)
// for compatibility only
#if WXWIN_COMPATIBILITY_2_4
-wxTreeItemId wxTreeCtrl::InsertItem(const wxTreeItemId& parent,
- const wxString& text,
- int image, int selImage,
- long insertAfter)
-{
- return DoInsertAfter(parent,
- wxTreeItemId(wxUIntToPtr(insertAfter)),
- text,
- image,
- selImage,
- NULL);
-}
-
-wxImageList *wxTreeCtrl::GetImageList(int) const
-{
- return GetImageList();
-}
-
void wxTreeCtrl::SetImageList(wxImageList *imageList, int)
{
SetImageList(imageList);
}
}
-void wxTreeCtrl::UnselectItem(const wxTreeItemId& item)
-{
- SelectItem(item, false);
-}
-
-void wxTreeCtrl::ToggleItemSelection(const wxTreeItemId& item)
-{
- SelectItem(item, !IsSelected(item));
-}
-
void wxTreeCtrl::EnsureVisible(const wxTreeItemId& item)
{
// no error return
DeleteTextCtrl();
}
-wxTreeItemId wxTreeCtrl::DoHitTest(const wxPoint& point, int& flags)
+wxTreeItemId wxTreeCtrl::DoTreeHitTest(const wxPoint& point, int& flags)
{
TV_HITTESTINFO hitTestInfo;
hitTestInfo.pt.x = (int)point.x;
hitTestInfo.pt.y = (int)point.y;
- TreeView_HitTest(GetHwnd(), &hitTestInfo);
+ (void) TreeView_HitTest(GetHwnd(), &hitTestInfo);
flags = 0;
GetIdFromData(tree, pItem2));
}
-int wxTreeCtrl::OnCompareItems(const wxTreeItemId& item1,
- const wxTreeItemId& item2)
-{
- return wxStrcmp(GetItemText(item1), GetItemText(item2));
-}
-
void wxTreeCtrl::SortChildren(const wxTreeItemId& item)
{
wxCHECK_RET( item.IsOk(), wxT("invalid tree item") );
int x = GET_X_LPARAM(lParam),
y = GET_Y_LPARAM(lParam);
HTREEITEM htItem = GetItemFromPoint(GetHwnd(), x, y);
-
+
TV_HITTESTINFO tvht;
tvht.pt.x = x;
tvht.pt.y = y;
-
- TreeView_HitTest(GetHwnd(), &tvht);
+
+ (void) TreeView_HitTest(GetHwnd(), &tvht);
switch ( nMsg )
{
{
m_htClickedItem = (WXHTREEITEM) htItem;
m_ptClick = wxPoint(x, y);
-
+
if ( wParam & MK_CONTROL )
{
SetFocus();
{
// avoid doing anything if we click on the only
// currently selected item
-
+
SetFocus();
wxArrayTreeItemIds selections;
tv.hdr.hwndFrom = GetHwnd();
tv.hdr.idFrom = ::GetWindowLong( GetHwnd(), GWL_ID );
tv.hdr.code = TVN_BEGINDRAG;
-
+
tv.itemNew.hItem = HITEM(m_htClickedItem);
-
+
TVITEM tviAux;
ZeroMemory(&tviAux, sizeof(tviAux));
tviAux.hItem = HITEM(m_htClickedItem);
tviAux.mask = TVIF_STATE | TVIF_PARAM;
tviAux.stateMask = 0xffffffff;
TreeView_GetItem( GetHwnd(), &tviAux );
-
+
tv.itemNew.state = tviAux.state;
tv.itemNew.lParam = tviAux.lParam;
-
+
tv.ptDrag.x = x;
tv.ptDrag.y = y;
-
+
::SendMessage( pWnd, WM_NOTIFY, tv.hdr.idFrom, (LPARAM)&tv );
}
m_htClickedItem.Unset();
}
}
#endif // __WXWINCE__
-
+
if ( m_dragImage )
{
m_dragImage->Move(wxPoint(x, y));
}
#endif // wxUSE_TREECTRL
-