PATCH: GtkSpinButton arrow redraw, take two
- From: Federico Mena Quintero <federico helixcode com>
- To: gtk-devel-list gnome org
- Subject: PATCH: GtkSpinButton arrow redraw, take two
- Date: Fri, 24 Nov 2000 11:01:57 -0600
I got no reply to this mail from a few days ago, so I will send it
again.
GtkSpinButton does not redraw its arrows if the adjustment emits the
"changed" signal, for example, when it changes its valid range. I had
this problem in the Evolution calendar; I change the range of an
adjustment when the user changes another option in the GUI, and I need
the spin button to reflect this. Here is a ChangeLog and a patch to
fix this. Is it OK to commit?
Federico
2000-11-08 Federico Mena Quintero <federico helixcode com>
* gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
the "changed" callback of the adjustment. We need to redraw the
spin button's arrows when the adjustment's range changes.
(adjustment_changed_cb): Draw the arrows.
diff -uNr gtk+-1.2.8/gtk/gtkspinbutton.c gtk+-1.2.8-fmq0/gtk/gtkspinbutton.c
--- gtk+-1.2.8/gtk/gtkspinbutton.c Thu Feb 10 09:14:48 2000
+++ gtk+-1.2.8-fmq0/gtk/gtkspinbutton.c Wed Nov 8 12:08:13 2000
@@ -1353,6 +1353,20 @@
return GTK_WIDGET (spin);
}
+/* Callback used when the spin button's adjustment changes. We need to redraw
+ * the arrows when the adjustment's range changes.
+ */
+static void
+adjustment_changed_cb (GtkAdjustment *adjustment, gpointer data)
+{
+ GtkSpinButton *spin_button;
+
+ spin_button = GTK_SPIN_BUTTON (data);
+
+ gtk_spin_button_draw_arrow (spin_button, GTK_ARROW_UP);
+ gtk_spin_button_draw_arrow (spin_button, GTK_ARROW_DOWN);
+}
+
void
gtk_spin_button_set_adjustment (GtkSpinButton *spin_button,
GtkAdjustment *adjustment)
@@ -1375,6 +1389,9 @@
gtk_object_sink (GTK_OBJECT (adjustment));
gtk_signal_connect (GTK_OBJECT (adjustment), "value_changed",
(GtkSignalFunc) gtk_spin_button_value_changed,
+ (gpointer) spin_button);
+ gtk_signal_connect (GTK_OBJECT (adjustment), "changed",
+ (GtkSignalFunc) adjustment_changed_cb,
(gpointer) spin_button);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]