X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..8930b2ed1ebff50797843db75744c6963287dbe7:/src/univ/scrolbar.cpp diff --git a/src/univ/scrolbar.cpp b/src/univ/scrolbar.cpp index d103fb90e7..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: @@ -25,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" @@ -38,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 @@ -553,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 { @@ -589,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 // ============================================================================ @@ -717,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() ) @@ -739,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); @@ -909,6 +916,8 @@ bool wxStdScrollBarInputHandler::HandleMouseMove(wxInputConsumer *consumer, #endif // wxUSE_SCROLLBAR +#if wxUSE_TIMER + // ---------------------------------------------------------------------------- // wxScrollTimer // ---------------------------------------------------------------------------- @@ -952,3 +961,4 @@ void wxScrollTimer::Notify() } } +#endif // wxUSE_TIMER