X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e380f72b45f33dbae8246c65bf1e7d33075439e6..eb4e516dd9774b4d14abedd8229dc4c9bcff8439:/src/gtk/slider.cpp diff --git a/src/gtk/slider.cpp b/src/gtk/slider.cpp index c1a4ed025a..d45eda3add 100644 --- a/src/gtk/slider.cpp +++ b/src/gtk/slider.cpp @@ -13,6 +13,7 @@ #include "wx/slider.h" #include "wx/utils.h" +#include //----------------------------------------------------------------------------- // data @@ -37,7 +38,9 @@ static void gtk_slider_callback( GtkWidget *WXUNUSED(widget), wxSlider *win ) float line_step = win->m_adjust->step_increment; float page_step = win->m_adjust->page_increment; - if (fabs(diff-line_step) < 0.2) command = wxEVT_SCROLL_LINEDOWN; + if (fabs(win->m_adjust->value-win->m_adjust->lower) < 0.2) command = wxEVT_SCROLL_BOTTOM; + else if (fabs(win->m_adjust->value-win->m_adjust->upper) < 0.2) command = wxEVT_SCROLL_TOP; + else if (fabs(diff-line_step) < 0.2) command = wxEVT_SCROLL_LINEDOWN; else if (fabs(diff+line_step) < 0.2) command = wxEVT_SCROLL_LINEUP; else if (fabs(diff-page_step) < 0.2) command = wxEVT_SCROLL_PAGEDOWN; else if (fabs(diff+page_step) < 0.2) command = wxEVT_SCROLL_PAGEUP; @@ -76,6 +79,7 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name ) { + m_acceptsFocus = TRUE; m_needParent = TRUE; PreCreation( parent, id, pos, size, style, name );