From 62313c27880d28ef7c036e453ebf713d31379d7c Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 11 Mar 2002 12:32:56 +0000 Subject: [PATCH] right clicking outside any column sets the column in the list event to -1, not the last column git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14554 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/listevt.tex | 2 +- samples/listctrl/listtest.cpp | 5 ++++- src/generic/listctrl.cpp | 10 +++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/latex/wx/listevt.tex b/docs/latex/wx/listevt.tex index 57ee3e4262..2c47de8d20 100644 --- a/docs/latex/wx/listevt.tex +++ b/docs/latex/wx/listevt.tex @@ -37,7 +37,7 @@ functions that take a wxListEvent argument. \twocolitem{{\bf EVT\_LIST\_KEY\_DOWN(id, func)}}{A key has been pressed.} \twocolitem{{\bf EVT\_LIST\_INSERT\_ITEM(id, func)}}{An item has been inserted.} \twocolitem{{\bf EVT\_LIST\_COL\_CLICK(id, func)}}{A column ({\bf m\_col}) has been left-clicked.} -\twocolitem{{\bf EVT\_LIST\_COL\_RIGHT\_CLICK(id, func)}}{A column ({\bf m\_col}) has been right-clicked.} +\twocolitem{{\bf EVT\_LIST\_COL\_RIGHT\_CLICK(id, func)}}{A column ({\bf m\_col}) (which can be $-1$ if the click occured outside any column) has been right-clicked.} \twocolitem{{\bf EVT\_LIST\_COL\_BEGIN\_DRAG(id, func)}}{The user started resizing a column - can be vetoed.} \twocolitem{{\bf EVT\_LIST\_COL\_DRAGGING(id, func)}}{The divider between columns is being dragged.} \twocolitem{{\bf EVT\_LIST\_COL\_END\_DRAG(id, func)}}{A column has been resized by the user.} diff --git a/samples/listctrl/listtest.cpp b/samples/listctrl/listtest.cpp index c1fd9dc512..7b196adf03 100644 --- a/samples/listctrl/listtest.cpp +++ b/samples/listctrl/listtest.cpp @@ -631,7 +631,10 @@ void MyListCtrl::OnColClick(wxListEvent& event) void MyListCtrl::OnColRightClick(wxListEvent& event) { int col = event.GetColumn(); - SetColumnImage(col, -1); + if ( col != -1 ) + { + SetColumnImage(col, -1); + } wxLogMessage( wxT("OnColumnRightClick at %d."), event.GetColumn() ); } diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index 79c094ccf7..7c8f47927a 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -435,7 +435,7 @@ protected: wxCursor *m_resizeCursor; bool m_isDragging; - // column being resized + // column being resized or -1 int m_column; // divider line position in logical (unscrolled) coords @@ -2022,8 +2022,9 @@ void wxListHeaderWindow::OnMouse( wxMouseEvent &event ) int xpos = 0; // find the column where this event occured - int countCol = m_owner->GetColumnCount(); - for (int col = 0; col < countCol; col++) + int col, + countCol = m_owner->GetColumnCount(); + for (col = 0; col < countCol; col++) { xpos += m_owner->GetColumnWidth( col ); m_column = col; @@ -2044,6 +2045,9 @@ void wxListHeaderWindow::OnMouse( wxMouseEvent &event ) m_minX = xpos; } + if ( col == countCol ) + m_column = -1; + if (event.LeftDown() || event.RightUp()) { if (hit_border && event.LeftDown()) -- 2.49.0