]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/slider.cpp
GTK is standard in configure again
[wxWidgets.git] / src / gtk1 / slider.cpp
index c1a4ed025af552320a82443f7016ea42e71e53ec..d45eda3add1b2c92f34867b209f45e096f09ef25 100644 (file)
@@ -13,6 +13,7 @@
 
 #include "wx/slider.h"
 #include "wx/utils.h"
+#include <math.h>
 
 //-----------------------------------------------------------------------------
 // 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 );