From: Michael Natterer Date: Mon, 21 Jul 2008 12:58:36 +0000 (+0000) Subject: Bug 442042 – GtkScaleButton is too limited X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=b8a2347c453c6cead57a0c358abd2ff71fec4e0a;p=~andy%2Fgtk Bug 442042 – GtkScaleButton is too limited 2008-07-21 Michael Natterer Bug 442042 – GtkScaleButton is too limited * tests/testvolumebutton.c: forgot to commit code that tests toggling the button's orientation. Also fixes the file's coding style. svn path=/trunk/; revision=20882 --- diff --git a/ChangeLog b/ChangeLog index 3ff3e8ebd..2050a8ea6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-07-21 Michael Natterer + + Bug 442042 – GtkScaleButton is too limited + + * tests/testvolumebutton.c: forgot to commit code that tests + toggling the button's orientation. Also fixes the file's coding + style. + 2008-07-21 Cody Russell Bug 153567 – Repaint glitches in widgets diff --git a/tests/testvolumebutton.c b/tests/testvolumebutton.c index 28ccede85..01ff5ddbe 100644 --- a/tests/testvolumebutton.c +++ b/tests/testvolumebutton.c @@ -21,68 +21,98 @@ static void value_changed (GtkWidget *button, - gdouble volume, - gpointer user_data) + gdouble volume, + gpointer user_data) { - g_message ("volume changed to %f", volume); + g_message ("volume changed to %f", volume); +} + +static void +toggle_orientation (GtkWidget *button, + GtkWidget *scalebutton) +{ + if (gtk_scale_button_get_orientation (GTK_SCALE_BUTTON (scalebutton)) == + GTK_ORIENTATION_HORIZONTAL) + { + gtk_scale_button_set_orientation (GTK_SCALE_BUTTON (scalebutton), + GTK_ORIENTATION_VERTICAL); + } + else + { + gtk_scale_button_set_orientation (GTK_SCALE_BUTTON (scalebutton), + GTK_ORIENTATION_HORIZONTAL); + } } static void response_cb (GtkDialog *dialog, - gint arg1, - gpointer user_data) + gint arg1, + gpointer user_data) { - gtk_widget_destroy (GTK_WIDGET (dialog)); + gtk_widget_destroy (GTK_WIDGET (dialog)); } static gboolean show_error (gpointer data) { - GtkWindow *window = (GtkWindow *) data; - GtkWidget *dialog; - - g_message ("showing error"); - - dialog = gtk_message_dialog_new (window, - GTK_DIALOG_MODAL, - GTK_MESSAGE_INFO, - GTK_BUTTONS_CLOSE, - "This should have unbroken the grab"); - g_signal_connect (G_OBJECT (dialog), - "response", - G_CALLBACK (response_cb), NULL); - gtk_widget_show (dialog); - - return FALSE; + GtkWindow *window = (GtkWindow *) data; + GtkWidget *dialog; + + g_message ("showing error"); + + dialog = gtk_message_dialog_new (window, + GTK_DIALOG_MODAL, + GTK_MESSAGE_INFO, + GTK_BUTTONS_CLOSE, + "This should have unbroken the grab"); + g_signal_connect (G_OBJECT (dialog), + "response", + G_CALLBACK (response_cb), NULL); + gtk_widget_show (dialog); + + return FALSE; } -int main (int argc, char **argv) +int +main (int argc, + char **argv) { - GtkWidget *window; - GtkWidget *button; - GtkWidget *button2; - GtkWidget *box; - - gtk_init (&argc, &argv); - - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - button = gtk_volume_button_new (); - button2 = gtk_volume_button_new (); - box = gtk_hbox_new (FALSE, 0); - - g_signal_connect (G_OBJECT (button), - "value-changed", - G_CALLBACK (value_changed), NULL); - gtk_container_add (GTK_CONTAINER (window), box); - gtk_container_add (GTK_CONTAINER (box), button); - gtk_container_add (GTK_CONTAINER (box), button2); - - gtk_widget_show_all (window); - gtk_button_clicked (GTK_BUTTON (button)); - g_timeout_add (4000, (GSourceFunc) show_error, window); - - gtk_main (); - - return 0; -} + GtkWidget *window; + GtkWidget *button; + GtkWidget *button2; + GtkWidget *button3; + GtkWidget *box; + + gtk_init (&argc, &argv); + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + button = gtk_volume_button_new (); + button2 = gtk_volume_button_new (); + box = gtk_hbox_new (FALSE, 0); + + g_signal_connect (G_OBJECT (button), "value-changed", + G_CALLBACK (value_changed), + NULL); + + gtk_container_add (GTK_CONTAINER (window), box); + gtk_container_add (GTK_CONTAINER (box), button); + gtk_container_add (GTK_CONTAINER (box), button2); + + button3 = gtk_button_new_with_label ("Toggle orientation"); + gtk_container_add (GTK_CONTAINER (box), button3); + + g_signal_connect (G_OBJECT (button3), "clicked", + G_CALLBACK (toggle_orientation), + button); + g_signal_connect (G_OBJECT (button3), "clicked", + G_CALLBACK (toggle_orientation), + button2); + + gtk_widget_show_all (window); + gtk_button_clicked (GTK_BUTTON (button)); + g_timeout_add (4000, (GSourceFunc) show_error, window); + + gtk_main (); + + return 0; +}