]> Pileus Git - ~andy/gtk/commitdiff
Grey out arrows if wrap == FALSE and interval borders are reached.
authorStefan Jeske <stefan@src.gnome.org>
Sun, 6 Dec 1998 14:18:46 +0000 (14:18 +0000)
committerStefan Jeske <stefan@src.gnome.org>
Sun, 6 Dec 1998 14:18:46 +0000 (14:18 +0000)
* gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out
  arrows if wrap == FALSE and interval borders are reached.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkspinbutton.c

index 2e53436273c5724a933b46e07e5bc909b9a2152c..a19821c0767da8c5a04fc8f01e20a8dd9cfe53f3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
+
+       * 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  <otaylor@gtk.org>
 
        * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
index 2e53436273c5724a933b46e07e5bc909b9a2152c..a19821c0767da8c5a04fc8f01e20a8dd9cfe53f3 100644 (file)
@@ -1,3 +1,8 @@
+Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
+
+       * 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  <otaylor@gtk.org>
 
        * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
index 2e53436273c5724a933b46e07e5bc909b9a2152c..a19821c0767da8c5a04fc8f01e20a8dd9cfe53f3 100644 (file)
@@ -1,3 +1,8 @@
+Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
+
+       * 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  <otaylor@gtk.org>
 
        * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
index 2e53436273c5724a933b46e07e5bc909b9a2152c..a19821c0767da8c5a04fc8f01e20a8dd9cfe53f3 100644 (file)
@@ -1,3 +1,8 @@
+Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
+
+       * 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  <otaylor@gtk.org>
 
        * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
index 2e53436273c5724a933b46e07e5bc909b9a2152c..a19821c0767da8c5a04fc8f01e20a8dd9cfe53f3 100644 (file)
@@ -1,3 +1,8 @@
+Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
+
+       * 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  <otaylor@gtk.org>
 
        * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
index 2e53436273c5724a933b46e07e5bc909b9a2152c..a19821c0767da8c5a04fc8f01e20a8dd9cfe53f3 100644 (file)
@@ -1,3 +1,8 @@
+Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
+
+       * 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  <otaylor@gtk.org>
 
        * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
index 2e53436273c5724a933b46e07e5bc909b9a2152c..a19821c0767da8c5a04fc8f01e20a8dd9cfe53f3 100644 (file)
@@ -1,3 +1,8 @@
+Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
+
+       * 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  <otaylor@gtk.org>
 
        * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
index 6a129a5e01fab17d6e8c577ac780cd7fe36953a6..1307119235b330d0ed5bd0d8045ccace1532daee 100644 (file)
@@ -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;
-        }
-      else
-        state_type = GTK_STATE_NORMAL;
-
-      if (spin_button->click_child == arrow)
-        shadow_type = GTK_SHADOW_IN;
+      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
-        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)