X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/93c96bab3d24aaac4e240e83463b1f7874f9d4b8..ee92941afca091bf72d17e96ac8388545700d1fc:/src/univ/scrolbar.cpp diff --git a/src/univ/scrolbar.cpp b/src/univ/scrolbar.cpp index 4ccf1481c5..c9f56e5c74 100644 --- a/src/univ/scrolbar.cpp +++ b/src/univ/scrolbar.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: univ/scrolbar.cpp +// Name: src/univ/scrolbar.cpp // Purpose: wxScrollBar implementation // Author: Vadim Zeitlin // Modified by: @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "univscrolbar.h" -#endif - #include "wx/wxprec.h" #ifdef __BORLANDC__ @@ -29,12 +25,13 @@ #if wxUSE_SCROLLBAR +#include "wx/scrolbar.h" + #ifndef WX_PRECOMP #include "wx/timer.h" - #include "wx/dcclient.h" - #include "wx/scrolbar.h" #include "wx/validate.h" + #include "wx/log.h" #endif #include "wx/univ/scrtimer.h" @@ -42,7 +39,6 @@ #include "wx/univ/renderer.h" #include "wx/univ/inphand.h" #include "wx/univ/theme.h" -#include "wx/log.h" #define WXDEBUG_SCROLLBAR @@ -557,7 +553,7 @@ bool wxScrollBar::PerformAction(const wxControlAction& action, wxScrollEvent event(scrollType, this->GetId(), m_thumbPos, IsVertical() ? wxVERTICAL : wxHORIZONTAL); event.SetEventObject(this); - GetParent()->GetEventHandler()->ProcessEvent(event); + GetEventHandler()->ProcessEvent(event); } else // part of the window { @@ -593,6 +589,15 @@ bool wxScrollBar::ScrollPages(int nPages) return true; } +/* static */ +wxInputHandler *wxScrollBar::GetStdInputHandler(wxInputHandler *handlerDef) +{ + static wxStdScrollBarInputHandler + s_handler(wxTheme::Get()->GetRenderer(), handlerDef); + + return &s_handler; +} + // ============================================================================ // scroll bar input handler // ============================================================================ @@ -721,10 +726,8 @@ bool wxStdScrollBarInputHandler::HandleKey(wxInputConsumer *consumer, case WXK_LEFT: action = wxACTION_SCROLL_LINE_UP; break; case WXK_HOME: action = wxACTION_SCROLL_START; break; case WXK_END: action = wxACTION_SCROLL_END; break; - case WXK_PAGEUP: - case WXK_PRIOR: action = wxACTION_SCROLL_PAGE_UP; break; - case WXK_PAGEDOWN: - case WXK_NEXT: action = wxACTION_SCROLL_PAGE_DOWN; break; + case WXK_PAGEUP: action = wxACTION_SCROLL_PAGE_UP; break; + case WXK_PAGEDOWN: action = wxACTION_SCROLL_PAGE_DOWN; break; } if ( !action.IsEmpty() ) @@ -743,7 +746,7 @@ bool wxStdScrollBarInputHandler::HandleMouse(wxInputConsumer *consumer, { // is this a click event from an acceptable button? int btn = event.GetButton(); - if ( (btn != -1) && IsAllowedButton(btn) ) + if ( btn == wxMOUSE_BTN_LEFT ) { // determine which part of the window mouse is in wxScrollBar *scrollbar = wxStaticCast(consumer->GetInputWindow(), wxScrollBar); @@ -913,6 +916,8 @@ bool wxStdScrollBarInputHandler::HandleMouseMove(wxInputConsumer *consumer, #endif // wxUSE_SCROLLBAR +#if wxUSE_TIMER + // ---------------------------------------------------------------------------- // wxScrollTimer // ---------------------------------------------------------------------------- @@ -956,3 +961,4 @@ void wxScrollTimer::Notify() } } +#endif // wxUSE_TIMER