Let GtkScrolledWindow handle scroll wheel events.

Reset visible range in wxListCtrl after scrolling.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2007-07-03 11:17:40 +00:00
parent 1877544c7d
commit 602e33659e
2 changed files with 8 additions and 4 deletions

View File

@@ -4798,10 +4798,6 @@ void wxListMainWindow::SortItems( wxListCtrlCompare fn, long data )
void wxListMainWindow::OnScroll(wxScrollWinEvent& event) void wxListMainWindow::OnScroll(wxScrollWinEvent& event)
{ {
// update our idea of which lines are shown when we redraw the window the
// next time
ResetVisibleLinesRange();
// FIXME // FIXME
#if ( defined(__WXGTK__) || defined(__WXMAC__) ) && !defined(__WXUNIVERSAL__) #if ( defined(__WXGTK__) || defined(__WXMAC__) ) && !defined(__WXUNIVERSAL__)
wxScrolledWindow::OnScroll(event); wxScrolledWindow::OnScroll(event);
@@ -4809,6 +4805,10 @@ void wxListMainWindow::OnScroll(wxScrollWinEvent& event)
HandleOnScroll( event ); HandleOnScroll( event );
#endif #endif
// update our idea of which lines are shown when we redraw the window the
// next time
ResetVisibleLinesRange();
if ( event.GetOrientation() == wxHORIZONTAL && HasHeader() ) if ( event.GetOrientation() == wxHORIZONTAL && HasHeader() )
{ {
wxGenericListCtrl* lc = GetListCtrl(); wxGenericListCtrl* lc = GetListCtrl();

View File

@@ -277,10 +277,14 @@ bool wxScrollHelperEvtHandler::ProcessEvent(wxEvent& event)
m_scrollHelper->HandleOnMouseLeave((wxMouseEvent &)event); m_scrollHelper->HandleOnMouseLeave((wxMouseEvent &)event);
} }
#if wxUSE_MOUSEWHEEL #if wxUSE_MOUSEWHEEL
// Use GTK's own scroll wheel handling in GtkScrolledWindow
#ifndef __WXGTK20__
else if ( evType == wxEVT_MOUSEWHEEL ) else if ( evType == wxEVT_MOUSEWHEEL )
{ {
m_scrollHelper->HandleOnMouseWheel((wxMouseEvent &)event); m_scrollHelper->HandleOnMouseWheel((wxMouseEvent &)event);
return true;
} }
#endif
#endif // wxUSE_MOUSEWHEEL #endif // wxUSE_MOUSEWHEEL
else if ( evType == wxEVT_CHAR ) else if ( evType == wxEVT_CHAR )
{ {