X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..00c813596e3eefdd028365acf9542355937e5531:/src/univ/scrolbar.cpp diff --git a/src/univ/scrolbar.cpp b/src/univ/scrolbar.cpp index b0de2d829c..ba6e499d57 100644 --- a/src/univ/scrolbar.cpp +++ b/src/univ/scrolbar.cpp @@ -5,7 +5,7 @@ // Modified by: // Created: 20.08.00 // RCS-ID: $Id$ -// Copyright: (c) 2000 Vadim Zeitlin +// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com) // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -49,6 +49,10 @@ #undef WXDEBUG_SCROLLBAR #endif // !__WXDEBUG__ +#if defined(WXDEBUG_SCROLLBAR) && defined(__WXMSW__) && !defined(__WXMICROWIN__) +#include "wx/msw/private.h" +#endif + // ---------------------------------------------------------------------------- // wxScrollBarTimer: this class is used to repeatedly scroll the scrollbar // when the mouse is help pressed on the arrow or on the bar. It generates the @@ -353,7 +357,7 @@ void wxScrollBar::OnIdle(wxIdleEvent& event) dc.DrawRectangle(rect); // under Unix we use "--sync" X option for this - #ifdef __WXMSW__ + #if defined(__WXMSW__) && !defined(__WXMICROWIN__) ::GdiFlush(); ::Sleep(200); #endif // __WXMSW__ @@ -531,14 +535,16 @@ void wxScrollBar::ScrollToEnd() DoSetThumb(m_range - m_thumbSize); } -void wxScrollBar::ScrollLines(int nLines) +bool wxScrollBar::ScrollLines(int nLines) { DoSetThumb(m_thumbPos + nLines); + return TRUE; } -void wxScrollBar::ScrollPages(int nPages) +bool wxScrollBar::ScrollPages(int nPages) { DoSetThumb(m_thumbPos + nPages*m_pageSize); + return TRUE; } // ============================================================================ @@ -653,7 +659,7 @@ void wxStdScrollBarInputHandler::HandleThumbMove(wxScrollBar *scrollbar, scrollbar->PerformAction(wxACTION_SCROLL_THUMB_MOVE, thumbPos); } -bool wxStdScrollBarInputHandler::HandleKey(wxControl *control, +bool wxStdScrollBarInputHandler::HandleKey(wxInputConsumer *consumer, const wxKeyEvent& event, bool pressed) { @@ -675,16 +681,16 @@ bool wxStdScrollBarInputHandler::HandleKey(wxControl *control, if ( !!action ) { - control->PerformAction(action); + consumer->PerformAction(action); return TRUE; } } - return wxStdInputHandler::HandleKey(control, event, pressed); + return wxStdInputHandler::HandleKey(consumer, event, pressed); } -bool wxStdScrollBarInputHandler::HandleMouse(wxControl *control, +bool wxStdScrollBarInputHandler::HandleMouse(wxInputConsumer *consumer, const wxMouseEvent& event) { // is this a click event from an acceptable button? @@ -692,7 +698,7 @@ bool wxStdScrollBarInputHandler::HandleMouse(wxControl *control, if ( (btn != -1) && IsAllowedButton(btn) ) { // determine which part of the window mouse is in - wxScrollBar *scrollbar = wxStaticCast(control, wxScrollBar); + wxScrollBar *scrollbar = wxStaticCast(consumer->GetInputWindow(), wxScrollBar); wxHitTest ht = m_renderer->HitTestScrollbar ( scrollbar, @@ -706,7 +712,7 @@ bool wxStdScrollBarInputHandler::HandleMouse(wxControl *control, if ( !m_winCapture ) { m_btnCapture = btn; - m_winCapture = control; + m_winCapture = consumer->GetInputWindow(); m_winCapture->CaptureMouse(); // generate the command @@ -733,7 +739,7 @@ bool wxStdScrollBarInputHandler::HandleMouse(wxControl *control, break; case wxHT_SCROLLBAR_THUMB: - control->PerformAction(wxACTION_SCROLL_THUMB_DRAG); + consumer->PerformAction(wxACTION_SCROLL_THUMB_DRAG); m_ofsMouse = GetMouseCoord(scrollbar, event) - m_renderer->ScrollbarToPixel(scrollbar); @@ -791,13 +797,13 @@ bool wxStdScrollBarInputHandler::HandleMouse(wxControl *control, } } - return wxStdInputHandler::HandleMouse(control, event); + return wxStdInputHandler::HandleMouse(consumer, event); } -bool wxStdScrollBarInputHandler::HandleMouseMove(wxControl *control, +bool wxStdScrollBarInputHandler::HandleMouseMove(wxInputConsumer *consumer, const wxMouseEvent& event) { - wxScrollBar *scrollbar = wxStaticCast(control, wxScrollBar); + wxScrollBar *scrollbar = wxStaticCast(consumer->GetInputWindow(), wxScrollBar); if ( m_winCapture ) {