summaryrefslogtreecommitdiff
path: root/tests/testvolumebutton.c
diff options
context:
space:
mode:
authorMichael Natterer <mitch@imendio.com>2008-07-21 12:58:36 +0000
committerMichael Natterer <mitch@src.gnome.org>2008-07-21 12:58:36 +0000
commitb8a2347c453c6cead57a0c358abd2ff71fec4e0a (patch)
treed6bd0cd4f0569099711a370ada77e72b1ad44414 /tests/testvolumebutton.c
parentc8fef535b20ad75f82739f68fce2216c1d62f6ab (diff)
downloadgtk+-b8a2347c453c6cead57a0c358abd2ff71fec4e0a.tar.gz
Bug 442042 – GtkScaleButton is too limited
2008-07-21 Michael Natterer <mitch@imendio.com> 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
Diffstat (limited to 'tests/testvolumebutton.c')
-rw-r--r--tests/testvolumebutton.c130
1 files changed, 80 insertions, 50 deletions
diff --git a/tests/testvolumebutton.c b/tests/testvolumebutton.c
index 28ccede852..01ff5ddbe2 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;
+}