2008-09-22 Claudio Saavedra <csaavedra@igalia.com>
[hildon] / examples / hildon-hvolumebar-example.c
1 /*
2  * This file is a part of hildon examples
3  *
4  * Copyright (C) 2005, 2006 Nokia Corporation, all rights reserved.
5  *
6  * Author: Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation; version 2.1 of
11  * the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  *
23  */
24
25 #include                                        <stdio.h>
26 #include                                        <stdlib.h>
27 #include                                        <glib.h>
28 #include                                        <gtk/gtk.h>
29 #include                                        "hildon.h"
30
31 void
32 on_mute_clicked                                 (GtkWidget *clicked, 
33                                                  GObject *bar);
34
35 void
36 on_mute_clicked                                 (GtkWidget *clicked, 
37                                                  GObject *bar)
38 {
39     gboolean focus;
40     g_object_get (bar, "mute", &focus, NULL);
41     g_object_set (bar, "mute", !focus, NULL);
42 }
43
44 int
45 main                                            (int argc, 
46                                                  char **args)
47 {
48     gtk_init (&argc, &args);
49     
50     GtkDialog *dialog = GTK_DIALOG (gtk_dialog_new ());
51     GtkButton *button = GTK_BUTTON (gtk_button_new_with_label ("mute"));
52
53     HildonHVolumebar *bar = HILDON_HVOLUMEBAR (hildon_hvolumebar_new ());
54     gtk_widget_set_size_request (GTK_WIDGET (bar), 400, -1);
55
56     gtk_box_pack_start (GTK_BOX (dialog->vbox), GTK_WIDGET (bar), FALSE, FALSE, 0);
57     gtk_box_pack_start (GTK_BOX (dialog->vbox), GTK_WIDGET (button), FALSE, FALSE, 0);
58     gtk_dialog_add_button (dialog, "Close", GTK_RESPONSE_CLOSE);
59
60     g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (on_mute_clicked), bar);
61
62     gtk_widget_show_all (GTK_WIDGET (dialog));
63     gtk_dialog_run (dialog);
64
65     return 0;
66 }
67
68