diff options
Diffstat (limited to 'examples/gtkdial')
-rw-r--r-- | examples/gtkdial/dial_test.c | 1 | ||||
-rw-r--r-- | examples/gtkdial/gtkdial.c | 93 |
2 files changed, 55 insertions, 39 deletions
diff --git a/examples/gtkdial/dial_test.c b/examples/gtkdial/dial_test.c index 3c2a93a9b..3d02c7956 100644 --- a/examples/gtkdial/dial_test.c +++ b/examples/gtkdial/dial_test.c @@ -1,3 +1,4 @@ + #include <stdio.h> #include <stdlib.h> #include <gtk/gtk.h> diff --git a/examples/gtkdial/gtkdial.c b/examples/gtkdial/gtkdial.c index 0c0fc8bad..f535081bd 100644 --- a/examples/gtkdial/gtkdial.c +++ b/examples/gtkdial/gtkdial.c @@ -1,3 +1,4 @@ + /* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * @@ -28,30 +29,30 @@ /* Forward declarations */ -static void gtk_dial_class_init (GtkDialClass *klass); -static void gtk_dial_init (GtkDial *dial); -static void gtk_dial_destroy (GtkObject *object); -static void gtk_dial_realize (GtkWidget *widget); +static void gtk_dial_class_init (GtkDialClass *klass); +static void gtk_dial_init (GtkDial *dial); +static void gtk_dial_destroy (GtkObject *object); +static void gtk_dial_realize (GtkWidget *widget); static void gtk_dial_size_request (GtkWidget *widget, GtkRequisition *requisition); -static void gtk_dial_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); -static gint gtk_dial_expose (GtkWidget *widget, - GdkEventExpose *event); -static gint gtk_dial_button_press (GtkWidget *widget, - GdkEventButton *event); -static gint gtk_dial_button_release (GtkWidget *widget, - GdkEventButton *event); -static gint gtk_dial_motion_notify (GtkWidget *widget, - GdkEventMotion *event); -static gint gtk_dial_timer (GtkDial *dial); +static void gtk_dial_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); +static gint gtk_dial_expose (GtkWidget *widget, + GdkEventExpose *event); +static gint gtk_dial_button_press (GtkWidget *widget, + GdkEventButton *event); +static gint gtk_dial_button_release (GtkWidget *widget, + GdkEventButton *event); +static gint gtk_dial_motion_notify (GtkWidget *widget, + GdkEventMotion *event); +static gint gtk_dial_timer (GtkDial *dial); static void gtk_dial_update_mouse (GtkDial *dial, gint x, gint y); static void gtk_dial_update (GtkDial *dial); -static void gtk_dial_adjustment_changed (GtkAdjustment *adjustment, - gpointer data); -static void gtk_dial_adjustment_value_changed (GtkAdjustment *adjustment, - gpointer data); +static void gtk_dial_adjustment_changed (GtkAdjustment *adjustment, + gpointer data); +static void gtk_dial_adjustment_value_changed (GtkAdjustment *adjustment, + gpointer data); /* Local data */ @@ -140,12 +141,13 @@ gtk_dial_destroy (GtkObject *object) { GtkDial *dial; + g_return_if_fail (object != NULL); g_return_if_fail (GTK_IS_DIAL (object)); dial = GTK_DIAL (object); if (dial->adjustment) - g_object_unref (G_OBJECT (dial->adjustment)); + g_object_unref (GTK_OBJECT (dial->adjustment)); if (GTK_OBJECT_CLASS (parent_class)->destroy) (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); @@ -154,6 +156,7 @@ gtk_dial_destroy (GtkObject *object) GtkAdjustment* gtk_dial_get_adjustment (GtkDial *dial) { + g_return_val_if_fail (dial != NULL, NULL); g_return_val_if_fail (GTK_IS_DIAL (dial), NULL); return dial->adjustment; @@ -163,6 +166,7 @@ void gtk_dial_set_update_policy (GtkDial *dial, GtkUpdateType policy) { + g_return_if_fail (dial != NULL); g_return_if_fail (GTK_IS_DIAL (dial)); dial->policy = policy; @@ -172,23 +176,24 @@ void gtk_dial_set_adjustment (GtkDial *dial, GtkAdjustment *adjustment) { + g_return_if_fail (dial != NULL); g_return_if_fail (GTK_IS_DIAL (dial)); if (dial->adjustment) { - g_signal_handlers_disconnect_by_func (G_OBJECT (dial->adjustment), NULL, (gpointer) dial); - g_object_unref (G_OBJECT (dial->adjustment)); + g_signal_handlers_disconnect_by_func (GTK_OBJECT (dial->adjustment), NULL, (gpointer) dial); + g_object_unref (GTK_OBJECT (dial->adjustment)); } dial->adjustment = adjustment; - g_object_ref (G_OBJECT (dial->adjustment)); + g_object_ref (GTK_OBJECT (dial->adjustment)); - g_signal_connect (G_OBJECT (adjustment), "changed", - G_CALLBACK (gtk_dial_adjustment_changed), - dial); - g_signal_connect (G_OBJECT (adjustment), "value_changed", - G_CALLBACK (gtk_dial_adjustment_value_changed), - dial); + g_signal_connect (GTK_OBJECT (adjustment), "changed", + GTK_SIGNAL_FUNC (gtk_dial_adjustment_changed), + (gpointer) dial); + g_signal_connect (GTK_OBJECT (adjustment), "value_changed", + GTK_SIGNAL_FUNC (gtk_dial_adjustment_value_changed), + (gpointer) dial); dial->old_value = adjustment->value; dial->old_lower = adjustment->lower; @@ -204,6 +209,7 @@ gtk_dial_realize (GtkWidget *widget) GdkWindowAttr attributes; gint attributes_mask; + g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_DIAL (widget)); GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); @@ -246,6 +252,7 @@ gtk_dial_size_allocate (GtkWidget *widget, { GtkDial *dial; + g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_DIAL (widget)); g_return_if_fail (allocation != NULL); @@ -278,6 +285,7 @@ gtk_dial_expose (GtkWidget *widget, gint tick_length; gint i, inc; + g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_DIAL (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); @@ -352,7 +360,7 @@ gtk_dial_expose (GtkWidget *widget, for (i = 0; i <= inc; i++) { - theta = ((gdouble)i*M_PI / (18*inc/24.) - M_PI/6.); + theta = ((gfloat)i*M_PI / (18*inc/24.) - M_PI/6.); if ((theta - last) < (increment)) continue; @@ -412,6 +420,7 @@ gtk_dial_button_press (GtkWidget *widget, double d_parallel; double d_perpendicular; + g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_DIAL (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); @@ -451,6 +460,7 @@ gtk_dial_button_release (GtkWidget *widget, { GtkDial *dial; + g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_DIAL (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); @@ -467,7 +477,7 @@ gtk_dial_button_release (GtkWidget *widget, if ((dial->policy != GTK_UPDATE_CONTINUOUS) && (dial->old_value != dial->adjustment->value)) - gtk_adjustment_value_changed (dial->adjustment); + g_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); } return FALSE; @@ -481,6 +491,7 @@ gtk_dial_motion_notify (GtkWidget *widget, GdkModifierType mods; gint x, y, mask; + g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_DIAL (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); @@ -520,10 +531,11 @@ gtk_dial_motion_notify (GtkWidget *widget, static gint gtk_dial_timer (GtkDial *dial) { + g_return_val_if_fail (dial != NULL, FALSE); g_return_val_if_fail (GTK_IS_DIAL (dial), FALSE); if (dial->policy == GTK_UPDATE_DELAYED) - gtk_adjustment_value_changed (dial->adjustment); + g_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); return FALSE; } @@ -532,8 +544,9 @@ static void gtk_dial_update_mouse (GtkDial *dial, gint x, gint y) { gint xc, yc; - gdouble old_value; + gfloat old_value; + g_return_if_fail (dial != NULL); g_return_if_fail (GTK_IS_DIAL (dial)); xc = GTK_WIDGET(dial)->allocation.width / 2; @@ -558,7 +571,7 @@ gtk_dial_update_mouse (GtkDial *dial, gint x, gint y) { if (dial->policy == GTK_UPDATE_CONTINUOUS) { - gtk_adjustment_value_changed (dial->adjustment); + g_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); } else { @@ -580,8 +593,9 @@ gtk_dial_update_mouse (GtkDial *dial, gint x, gint y) static void gtk_dial_update (GtkDial *dial) { - gdouble new_value; + gfloat new_value; + g_return_if_fail (dial != NULL); g_return_if_fail (GTK_IS_DIAL (dial)); new_value = dial->adjustment->value; @@ -594,7 +608,8 @@ gtk_dial_update (GtkDial *dial) if (new_value != dial->adjustment->value) { - gtk_adjustment_set_value (dial->adjustment, new_value); + dial->adjustment->value = new_value; + g_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); } dial->angle = 7.*M_PI/6. - (new_value - dial->adjustment->lower) * 4.*M_PI/3. / @@ -605,12 +620,12 @@ gtk_dial_update (GtkDial *dial) static void gtk_dial_adjustment_changed (GtkAdjustment *adjustment, - gpointer data) + gpointer data) { GtkDial *dial; g_return_if_fail (adjustment != NULL); - g_return_if_fail (GTK_IS_DIAL (data)); + g_return_if_fail (data != NULL); dial = GTK_DIAL (data); @@ -633,7 +648,7 @@ gtk_dial_adjustment_value_changed (GtkAdjustment *adjustment, GtkDial *dial; g_return_if_fail (adjustment != NULL); - g_return_if_fail (GTK_IS_DIAL (data)); + g_return_if_fail (data != NULL); dial = GTK_DIAL (data); |