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

« back to all changes in this revision

Viewing changes to examples/hildon-picker-button-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
 
3
 *
 
4
 * Copyright (C) 2008 Nokia Corporation, all rights reserved.
 
5
 *
 
6
 * This program is free software; you can redistribute it and/or modify
 
7
 * it under the terms of the GNU Lesser Public License as published by
 
8
 * the Free Software Foundation; version 2 of the license.
 
9
 *
 
10
 * This program is distributed in the hope that it will be useful,
 
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 * GNU Lesser Public License for more details.
 
14
 *
 
15
 */
 
16
 
 
17
#include                                        <glib.h>
 
18
#include                                        <gtk/gtk.h>
 
19
#include                                        "hildon.h"
 
20
 
 
21
static void
 
22
on_picker_value_changed (HildonPickerButton * button, gpointer data)
 
23
{
 
24
  g_print ("Newly selected value: %s\n",
 
25
           hildon_button_get_value (HILDON_BUTTON (button)));
 
26
}
 
27
 
 
28
int
 
29
main (int argc, char **argv)
 
30
{
 
31
  HildonProgram *program = NULL;
 
32
  GtkWidget *window = NULL;
 
33
  GtkWidget *button;
 
34
  GtkWidget *selector;
 
35
 
 
36
  hildon_gtk_init (&argc, &argv);
 
37
 
 
38
  program = hildon_program_get_instance ();
 
39
  g_set_application_name ("hildon-picker-button-example");
 
40
 
 
41
  window = hildon_stackable_window_new ();
 
42
  gtk_window_set_default_size (GTK_WINDOW (window), 300, 200);
 
43
  hildon_program_add_window (program, HILDON_WINDOW (window));
 
44
 
 
45
  button = hildon_picker_button_new (HILDON_SIZE_AUTO, HILDON_BUTTON_ARRANGEMENT_VERTICAL);
 
46
  selector = hildon_touch_selector_new_text ();
 
47
  hildon_button_set_title (HILDON_BUTTON (button), "Continent");
 
48
 
 
49
  hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "America");
 
50
  hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "Europe");
 
51
  hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "Asia");
 
52
  hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "Africa");
 
53
  hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector),
 
54
                                     "Australia");
 
55
 
 
56
  /* Select any item, just to show that during selector's setting, the currently selected
 
57
     item will be displayed in the button's value. */
 
58
  hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 2);
 
59
 
 
60
  hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button),
 
61
                                     HILDON_TOUCH_SELECTOR (selector));
 
62
 
 
63
  g_signal_connect (G_OBJECT (button), "value-changed",
 
64
                    G_CALLBACK (on_picker_value_changed), NULL);
 
65
 
 
66
  gtk_container_add (GTK_CONTAINER (window), button);
 
67
 
 
68
  g_signal_connect (G_OBJECT (window), "delete-event", 
 
69
                    G_CALLBACK (gtk_main_quit), NULL);
 
70
 
 
71
  gtk_widget_show_all (window);
 
72
 
 
73
  gtk_main ();
 
74
 
 
75
  return 0;
 
76
}