diff --git a/ChangeLog b/ChangeLog index 2e53436273..a19821c076 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Dec 6 14:27:35 1998 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out + arrows if wrap == FALSE and interval borders are reached. + Sat Dec 5 21:07:09 1998 Owen Taylor * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 2e53436273..a19821c076 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Sun Dec 6 14:27:35 1998 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out + arrows if wrap == FALSE and interval borders are reached. + Sat Dec 5 21:07:09 1998 Owen Taylor * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 2e53436273..a19821c076 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Sun Dec 6 14:27:35 1998 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out + arrows if wrap == FALSE and interval borders are reached. + Sat Dec 5 21:07:09 1998 Owen Taylor * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 2e53436273..a19821c076 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Sun Dec 6 14:27:35 1998 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out + arrows if wrap == FALSE and interval borders are reached. + Sat Dec 5 21:07:09 1998 Owen Taylor * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 2e53436273..a19821c076 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Sun Dec 6 14:27:35 1998 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out + arrows if wrap == FALSE and interval borders are reached. + Sat Dec 5 21:07:09 1998 Owen Taylor * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 2e53436273..a19821c076 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Sun Dec 6 14:27:35 1998 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out + arrows if wrap == FALSE and interval borders are reached. + Sat Dec 5 21:07:09 1998 Owen Taylor * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 2e53436273..a19821c076 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Sun Dec 6 14:27:35 1998 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out + arrows if wrap == FALSE and interval borders are reached. + Sat Dec 5 21:07:09 1998 Owen Taylor * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 6a129a5e01..1307119235 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -560,21 +560,34 @@ gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, if (GTK_WIDGET_DRAWABLE (spin_button)) { - if (spin_button->in_child == arrow) - { - if (spin_button->click_child == arrow) - state_type = GTK_STATE_ACTIVE; - else - state_type = GTK_STATE_PRELIGHT; - } + if (!spin_button->wrap && + (((arrow == GTK_ARROW_UP && + (spin_button->adjustment->upper - spin_button->adjustment->value + <= EPSILON))) || + ((arrow == GTK_ARROW_DOWN && + (spin_button->adjustment->value - spin_button->adjustment->lower + <= EPSILON))))) + { + shadow_type = GTK_SHADOW_ETCHED_IN; + state_type = GTK_STATE_NORMAL; + } else - state_type = GTK_STATE_NORMAL; - - if (spin_button->click_child == arrow) - shadow_type = GTK_SHADOW_IN; - else - shadow_type = GTK_SHADOW_OUT; - + { + if (spin_button->in_child == arrow) + { + if (spin_button->click_child == arrow) + state_type = GTK_STATE_ACTIVE; + else + state_type = GTK_STATE_PRELIGHT; + } + else + state_type = GTK_STATE_NORMAL; + + if (spin_button->click_child == arrow) + shadow_type = GTK_SHADOW_IN; + else + shadow_type = GTK_SHADOW_OUT; + } if (arrow == GTK_ARROW_UP) { if (spin_button->shadow_type != GTK_SHADOW_NONE)