Don't generate wxEVT_LIST_ITEM_RIGHT_CLICK outside of item area

Make wxGenericListCtrl used under wxGTK and wxOSX behave the same as the
native wxMSW wxListCtrl and wxTreeCtrl under all platforms and only generate
ITEM_RIGHT_CLICK events when an item was actually clicked, i.e. don't generate
them for the clicks completely outside of the client area.

Closes #4711.
This commit is contained in:
Igor Korot
2016-01-30 18:54:09 +01:00
committed by Vadim Zeitlin
parent 2bd179a2fc
commit aa4aa74154
4 changed files with 11 additions and 2 deletions

View File

@@ -936,6 +936,8 @@ wxBEGIN_EVENT_TABLE(MyListCtrl, wxListCtrl)
EVT_LIST_ITEM_ACTIVATED(LIST_CTRL, MyListCtrl::OnActivated)
EVT_LIST_ITEM_FOCUSED(LIST_CTRL, MyListCtrl::OnFocused)
EVT_LIST_ITEM_RIGHT_CLICK(LIST_CTRL, MyListCtrl::OnItemRightClick)
EVT_LIST_COL_CLICK(LIST_CTRL, MyListCtrl::OnColClick)
EVT_LIST_COL_RIGHT_CLICK(LIST_CTRL, MyListCtrl::OnColRightClick)
EVT_LIST_COL_BEGIN_DRAG(LIST_CTRL, MyListCtrl::OnColBeginDrag)
@@ -1118,6 +1120,13 @@ void MyListCtrl::OnFocused(wxListEvent& event)
event.Skip();
}
void MyListCtrl::OnItemRightClick(wxListEvent& event)
{
LogEvent(event, wxT("OnItemRightClick"));
event.Skip();
}
void MyListCtrl::OnListKeyDown(wxListEvent& event)
{
long item;