~carsten-munk/m-r/libhildon-2.1.24

« back to all changes in this revision

Viewing changes to examples/hildon-hvolumebar-timer-example.c

  • Committer: Carsten V. Munk
  • Date: 2008-12-08 15:00:57 UTC
  • Revision ID: cvm@cs.au.dk-20081208150057-7e0a50c8zdupbzar
initial commit of 2.1.24

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
gboolean
 
32
on_idle                                         (void);
 
33
 
 
34
GtkDialog*                                      dialog = NULL;
 
35
 
 
36
HildonHVolumebar*                               bar = NULL;
 
37
 
 
38
int                                             cycle = 0;
 
39
 
 
40
gboolean
 
41
on_idle                                         (void)
 
42
{
 
43
 
 
44
    if (dialog == NULL) {
 
45
 
 
46
        g_debug ("Creating the dialog!");
 
47
        
 
48
        dialog = GTK_DIALOG (gtk_dialog_new ());
 
49
 
 
50
        bar = HILDON_HVOLUMEBAR (hildon_hvolumebar_new ());
 
51
        gtk_widget_set_size_request (GTK_WIDGET (bar), 400, -1);
 
52
        hildon_helper_set_insensitive_message ((GtkWidget *) bar, "Insensitive");
 
53
        hildon_volumebar_set_range_insensitive_message (HILDON_VOLUMEBAR (bar), "Insensitive range");
 
54
 
 
55
        gtk_box_pack_start (GTK_BOX (dialog->vbox), GTK_WIDGET (bar), FALSE, FALSE, 0);
 
56
        gtk_dialog_add_button (dialog, "Close", GTK_RESPONSE_CLOSE);
 
57
 
 
58
        gtk_widget_show_all (GTK_WIDGET (dialog));
 
59
        gtk_dialog_run (dialog);
 
60
        gtk_widget_hide (GTK_WIDGET (dialog));
 
61
 
 
62
    } else {
 
63
        
 
64
        if (cycle == 0) {
 
65
                g_debug ("Making insensitive...");
 
66
                gtk_widget_set_sensitive (GTK_WIDGET (bar), FALSE);
 
67
        } else if (cycle == 1) {
 
68
                g_debug ("Making sensitive...");
 
69
                gtk_widget_set_sensitive (GTK_WIDGET (bar), TRUE);
 
70
        } else if (cycle == 2) { 
 
71
                g_debug ("Showing back...");
 
72
                gtk_widget_show (GTK_WIDGET (dialog));
 
73
                gtk_dialog_run (dialog);
 
74
                gtk_widget_hide (GTK_WIDGET (dialog));
 
75
        }
 
76
         
 
77
        cycle = (cycle + 1) % 3;
 
78
    }
 
79
 
 
80
    g_timeout_add (2000, (GSourceFunc) on_idle, NULL);
 
81
    return FALSE;
 
82
}
 
83
 
 
84
int
 
85
main                                            (int argc, 
 
86
                                                 char **argv)
 
87
{
 
88
    hildon_gtk_init (&argc, &argv);
 
89
 
 
90
    g_timeout_add (2000, (GSourceFunc) on_idle, NULL);
 
91
 
 
92
    gtk_main ();
 
93
    
 
94
    return 0;
 
95
}
 
96
 
 
97