1 /* Test for Focus Chain Linear*/
2 #include <Elementary.h>
4 # include "elementary_config.h"
6 #ifndef ELM_LIB_QUICKLAUNCH
8 static Evas_Object *foc = NULL;
11 _foc(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
14 printf("foc -> %p\n", foc);
18 _unfoc(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
21 printf("foc -> %p\n", foc);
25 _add(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
27 Evas_Object *bx = data, *en;
29 en = elm_scrolled_entry_add(elm_object_top_widget_get(bx));
30 elm_scrolled_entry_entry_set(en, "An entry");
31 evas_object_smart_callback_add(en, "focused", _foc, NULL);
32 evas_object_smart_callback_add(en, "unfocused", _unfoc, NULL);
33 evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
34 evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
35 elm_scrolled_entry_single_line_set(en, 1);
36 elm_box_pack_start(bx, en);
41 _del(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
43 if (foc) evas_object_del(foc);
47 _hide(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
49 if (foc) evas_object_hide(foc);
53 test_focus3(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
55 Evas_Object *win, *bg, *bx, *bt, *en;
57 win = elm_win_add(NULL, "focus3", ELM_WIN_BASIC);
58 elm_win_title_set(win, "Focus 3");
59 elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
60 evas_object_resize(win, 320, 480);
61 elm_win_autodel_set(win, EINA_TRUE);
64 elm_win_resize_object_add(win, bg);
65 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
68 bx = elm_box_add(win);
69 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
70 elm_win_resize_object_add(win, bx);
73 en = elm_scrolled_entry_add(win);
74 elm_scrolled_entry_entry_set(en, "An entry");
75 evas_object_smart_callback_add(en, "focused", _foc, NULL);
76 evas_object_smart_callback_add(en, "unfocused", _unfoc, NULL);
77 evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
78 evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
79 elm_scrolled_entry_single_line_set(en, 1);
80 elm_box_pack_end(bx, en);
83 bt = elm_button_add(win);
84 elm_object_focus_allow_set(bt, 0);
85 elm_button_label_set(bt, "Add");
86 evas_object_smart_callback_add(bt, "clicked", _add, bx);
87 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
88 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
89 elm_box_pack_end(bx, bt);
92 bt = elm_button_add(win);
93 elm_object_focus_allow_set(bt, 0);
94 elm_button_label_set(bt, "Del");
95 evas_object_smart_callback_add(bt, "clicked", _del, NULL);
96 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
97 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
98 elm_box_pack_end(bx, bt);
101 bt = elm_button_add(win);
102 elm_object_focus_allow_set(bt, 0);
103 elm_button_label_set(bt, "Hide");
104 evas_object_smart_callback_add(bt, "clicked", _hide, NULL);
105 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
106 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
107 elm_box_pack_end(bx, bt);
108 evas_object_show(bt);
110 evas_object_show(win);