X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..4fa0a5b44341885a0886f2ae6723d2441bd1f62f:/src/gtk1/scrolbar.cpp diff --git a/src/gtk1/scrolbar.cpp b/src/gtk1/scrolbar.cpp index df1cba34af..b8fc5dbf97 100644 --- a/src/gtk1/scrolbar.cpp +++ b/src/gtk1/scrolbar.cpp @@ -22,8 +22,7 @@ #include -#include -#include +#include "wx/gtk/private.h" //----------------------------------------------------------------------------- // idle system @@ -45,7 +44,11 @@ static const float sensitivity = 0.02; // "value_changed" //----------------------------------------------------------------------------- -static void gtk_scrollbar_callback( GtkAdjustment *adjust, wxScrollBar *win ) +// FIXME: is GtkScrollType really passed to us as 2nd argument? + +static void gtk_scrollbar_callback( GtkAdjustment *adjust, + SCROLLBAR_CBACK_ARG + wxScrollBar *win ) { if (g_isIdle) wxapp_install_idle_handler(); @@ -57,14 +60,8 @@ static void gtk_scrollbar_callback( GtkAdjustment *adjust, wxScrollBar *win ) win->m_oldPos = adjust->value; - GtkRange *range = GTK_RANGE( win->m_widget ); + wxEventType command = GtkScrollTypeToWx(GET_SCROLL_TYPE(win->m_widget)); - wxEventType command = wxEVT_SCROLL_THUMBTRACK; - if (range->scroll_type == GTK_SCROLL_STEP_BACKWARD) command = wxEVT_SCROLL_LINEUP; - else if (range->scroll_type == GTK_SCROLL_STEP_FORWARD) command = wxEVT_SCROLL_LINEDOWN; - else if (range->scroll_type == GTK_SCROLL_PAGE_BACKWARD) command = wxEVT_SCROLL_PAGEUP; - else if (range->scroll_type == GTK_SCROLL_PAGE_FORWARD) command = wxEVT_SCROLL_PAGEDOWN; - double dvalue = adjust->value; int value = (int)(dvalue < 0 ? dvalue - 0.5 : dvalue + 0.5); @@ -93,7 +90,10 @@ static gint gtk_scrollbar_button_press_callback( GtkRange *widget, // g_blockEventsOnScroll = TRUE; doesn't work in DialogEd + // FIXME: there is no slider field any more, what was meant here? +#ifndef __WXGTK20__ win->m_isScrolling = (gdk_event->window == widget->slider); +#endif return FALSE; } @@ -316,11 +316,14 @@ void wxScrollBar::SetViewLength( int viewLength ) bool wxScrollBar::IsOwnGtkWindow( GdkWindow *window ) { GtkRange *range = GTK_RANGE(m_widget); - return ( (window == GTK_WIDGET(range)->window) || - (window == range->trough) || - (window == range->slider) || - (window == range->step_forw) || - (window == range->step_back) ); + return ( (window == GTK_WIDGET(range)->window) +#ifndef __WXGTK20__ + || (window == range->trough) + || (window == range->slider) + || (window == range->step_forw) + || (window == range->step_back) +#endif // GTK+ 1.x + ); } void wxScrollBar::ApplyWidgetStyle()