- wxTreeItemId item = GetSelection();
- wxLogMessage(wxT("OnContextMenu at screen coords (%i, %i)"), pt.x, pt.y);
-
- // check if event was generated by keyboard (MSW-specific?)
- if ( pt.x == -1 && pt.y == -1 ) //(this is how MSW indicates it)
- {
- // attempt to guess where to show the menu
- if ( item.IsOk() )
- {
- // if an item was clicked, show menu to the right of it
- wxRect rect;
- GetBoundingRect(item, rect, true /* only the label */);
- pt = wxPoint(rect.GetRight(), rect.GetTop());
- }
- else
- {
- pt = wxPoint(0, 0);
- }
- }
- else // event was generated by mouse, use supplied coords
- {
- pt = ScreenToClient(pt);
- }