From 09240118e104c653bc5cc29f5c7cf5ee62ea2a6d Mon Sep 17 00:00:00 2001 From: Stefan Jeske Date: Sun, 21 Nov 1999 15:55:45 +0000 Subject: [PATCH] Added support for wheel mice (buttons 4 and 5). Sun Nov 21 16:44:35 1999 Stefan Jeske * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support for wheel mice (buttons 4 and 5). --- ChangeLog | 5 +++++ ChangeLog.pre-2-0 | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-2 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtkspinbutton.c | 16 +++++++++++++++- 8 files changed, 50 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5642940c77..f5dc4c12b8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Nov 21 16:44:35 1999 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support + for wheel mice (buttons 4 and 5). + 1999-11-18 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 5642940c77..f5dc4c12b8 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Sun Nov 21 16:44:35 1999 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support + for wheel mice (buttons 4 and 5). + 1999-11-18 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 5642940c77..f5dc4c12b8 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Sun Nov 21 16:44:35 1999 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support + for wheel mice (buttons 4 and 5). + 1999-11-18 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 5642940c77..f5dc4c12b8 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Sun Nov 21 16:44:35 1999 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support + for wheel mice (buttons 4 and 5). + 1999-11-18 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 5642940c77..f5dc4c12b8 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Sun Nov 21 16:44:35 1999 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support + for wheel mice (buttons 4 and 5). + 1999-11-18 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 5642940c77..f5dc4c12b8 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Sun Nov 21 16:44:35 1999 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support + for wheel mice (buttons 4 and 5). + 1999-11-18 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 5642940c77..f5dc4c12b8 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Sun Nov 21 16:44:35 1999 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support + for wheel mice (buttons 4 and 5). + 1999-11-18 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 7429efdb1a..162f63588e 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -45,6 +45,8 @@ #define MAX_TEXT_LENGTH 256 #define MAX_TIMER_CALLS 5 #define EPSILON 1e-5 +#define WHEEL_UP_BUTTON 4 +#define WHEEL_DOWN_BUTTON 5 enum { ARG_0, @@ -763,7 +765,19 @@ gtk_spin_button_button_press (GtkWidget *widget, if (!spin->button) { - if (event->window == spin->panel) + if (event->button == WHEEL_UP_BUTTON) + { + if (!GTK_WIDGET_HAS_FOCUS (widget)) + gtk_widget_grab_focus (widget); + gtk_spin_button_real_spin (spin, spin->adjustment->step_increment); + } + else if (event->button == WHEEL_DOWN_BUTTON) + { + if (!GTK_WIDGET_HAS_FOCUS (widget)) + gtk_widget_grab_focus (widget); + gtk_spin_button_real_spin (spin, -spin->adjustment->step_increment); + } + else if (event->window == spin->panel) { if (!GTK_WIDGET_HAS_FOCUS (widget)) gtk_widget_grab_focus (widget);