elementary/conformant - Fixed to keypad area not be full sized if it's not exist.
[framework/uifw/elementary.git] / src / examples / toggle_example_01.c
1 //Compile with:
2 //gcc -g `pkg-config --cflags --libs elementary` toggle_example_01.c -o toggle_example_01
3
4 #include <Elementary.h>
5 #ifdef HAVE_CONFIG_H
6 # include "elementary_config.h"
7 #endif
8
9 static void _cb(void *data, Evas_Object *obj, void *event_info);
10 static void _cb2(void *data, Evas_Object *obj, void *event_info);
11
12 static Eina_Bool val = EINA_FALSE;
13
14 EAPI_MAIN int
15 elm_main(int argc, char **argv)
16 {
17    Evas_Object *win, *bg, *bx, *toggle, *ic;
18
19    win = elm_win_add(NULL, "toggle", ELM_WIN_BASIC);
20    elm_win_title_set(win, "toggle");
21    elm_win_autodel_set(win, EINA_TRUE);
22    elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
23
24    bg = elm_bg_add(win);
25    elm_win_resize_object_add(win, bg);
26    evas_object_show(bg);
27
28    bx = elm_box_add(win);
29    elm_box_horizontal_set(bx, EINA_FALSE);
30    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
31    evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
32    elm_win_resize_object_add(win, bx);
33    evas_object_show(bx);
34
35    toggle = elm_check_add(win);
36    elm_object_style_set(toggle, "toggle");
37    elm_object_part_text_set(toggle, "on", "ON");
38    elm_object_part_text_set(toggle, "off", "OFF");
39    elm_object_text_set(toggle, "Toggle 1");
40    ic = elm_icon_add(win);
41    elm_icon_standard_set(ic, "home");
42    elm_object_part_content_set(toggle, "icon", ic);
43    elm_check_state_pointer_set(toggle, &val);
44    elm_box_pack_end(bx, toggle);
45    evas_object_size_hint_weight_set(toggle, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
46    evas_object_size_hint_align_set(toggle, EVAS_HINT_FILL, EVAS_HINT_FILL);
47    evas_object_show(toggle);
48    evas_object_smart_callback_add(toggle, "changed", _cb, NULL);
49
50    toggle = elm_check_add(win);
51    elm_object_style_set(toggle, "toggle");
52    elm_object_part_text_set(toggle, "on", "Enabled");
53    elm_object_part_text_set(toggle, "off", "Disabled");
54    elm_object_text_set(toggle, "Toggle 2");
55    elm_check_state_set(toggle, EINA_TRUE);
56    elm_box_pack_end(bx, toggle);
57    evas_object_size_hint_weight_set(toggle, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
58    evas_object_size_hint_align_set(toggle, EVAS_HINT_FILL, EVAS_HINT_FILL);
59    evas_object_show(toggle);
60    evas_object_smart_callback_add(toggle, "changed", _cb2, NULL);
61
62    evas_object_show(win);
63
64    elm_run();
65
66    return 0;
67 }
68 ELM_MAIN()
69
70 static void
71 _cb(void *data, Evas_Object *obj, void *event_info)
72 {
73    printf("val is now: %s\n", val ? "true" : "false");
74 }
75
76 static void
77 _cb2(void *data, Evas_Object *obj, void *event_info)
78 {
79    printf("toggle2's state is now: %s\n", elm_check_state_get(obj) ? "true" : "false");
80 }