}
int wxListBox::DoListHitTest(const wxPoint& point) const
-{
- //Yuck - there is no easy way to get a databrowseritem from a point
- //so we need to iterate through our items to see which one this falls under
- int count = GetCount();
- DataBrowserTableViewColumnID colId = 0;
-
- //Get column property id (req. for call to itempartbounds)
- GetDataBrowserTableViewColumnProperty(m_peer->GetControlRef(), 0, &colId);
-
- for(int i = 1; i <= count; ++i)
- {
- Rect bounds;
- GetDataBrowserItemPartBounds(m_peer->GetControlRef(), i, colId,
- kDataBrowserPropertyEnclosingPart,
- &bounds);
-
- //translate to client coords
- MacRootWindowToWindow(&bounds.left, &bounds.top);
- MacRootWindowToWindow(&bounds.right, &bounds.bottom);
-
-#if 0 //debugging :)
- wxPrintf(wxT("L:%i R:%i T:%i B:%i HT:%i,%i\n"),
- bounds.left, bounds.right,
- bounds.top, bounds.bottom,
- point.x, point.y);
- fflush(stdout);
-#endif
- //if point is within the bounds, return this item
- if( (point.x >= bounds.left && point.x <= bounds.right) &&
- (point.y >= bounds.top && point.y <= bounds.bottom) )
- {
- return i - 1; //found
- }
- }
-
- return wxNOT_FOUND;
-}
-
-int wxListBox::MacHitTest(const wxPoint& point)
{
//Yuck - there is no easy way to get a databrowseritem from a point
//so we need to iterate through our items to see which one this falls under