Initialize Tizen 2.3
[framework/uifw/elementary.git] / mobile / src / bin / test_conform.c
1 #ifdef HAVE_CONFIG_H
2 # include "elementary_config.h"
3 #endif
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
6
7 void
8 test_conformant(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
9 {
10    Evas_Object *win, *conform, *btn, *bx, *en;
11
12    win = elm_win_util_standard_add("conformant", "Conformant");
13    elm_win_autodel_set(win, EINA_TRUE);
14    elm_win_conformant_set(win, EINA_TRUE);
15
16    conform = elm_conformant_add(win);
17    elm_win_resize_object_add(win, conform);
18    evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
19    evas_object_show(conform);
20
21    bx = elm_box_add(win);
22    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
23    evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
24
25    en = elm_entry_add(win);
26    elm_entry_scrollable_set(en, EINA_TRUE);
27    elm_entry_single_line_set(en, EINA_TRUE);
28    elm_scroller_bounce_set(en, EINA_TRUE, EINA_FALSE);
29    elm_object_text_set(en, "This is the top entry here");
30    evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
31    evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
32    evas_object_show(en);
33    elm_box_pack_end(bx, en);
34
35    btn = elm_button_add(win);
36    elm_object_text_set(btn, "Test Conformant");
37    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0);
38    evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
39    elm_box_pack_end(bx, btn);
40    evas_object_show(btn);
41
42    en = elm_entry_add(win);
43    elm_entry_scrollable_set(en, EINA_TRUE);
44    elm_entry_single_line_set(en, EINA_TRUE);
45    elm_scroller_bounce_set(en, EINA_TRUE, EINA_FALSE);
46    elm_object_text_set(en, "This is the middle entry here");
47    evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
48    evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
49    evas_object_show(en);
50    elm_box_pack_end(bx, en);
51
52    btn = elm_button_add(win);
53    elm_object_text_set(btn, "Test Conformant");
54    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
55    evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
56    elm_box_pack_end(bx, btn);
57    evas_object_show(btn);
58
59    en = elm_entry_add(win);
60    elm_entry_scrollable_set(en, EINA_TRUE);
61    elm_scroller_bounce_set(en, EINA_FALSE, EINA_TRUE);
62    elm_object_text_set(en,
63                        "This is a multi-line entry at the bottom<br/>"
64                        "This can contain more than 1 line of text and be "
65                        "scrolled around to allow for entering of lots of "
66                        "content. It is also to test to see that autoscroll "
67                        "moves to the right part of a larger multi-line "
68                        "text entry that is inside of a scroller than can be "
69                        "scrolled around, thus changing the expected position "
70                        "as well as cursor changes updating auto-scroll when "
71                        "it is enabled.");
72    evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
73    evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
74    evas_object_show(en);
75    elm_box_pack_end(bx, en);
76
77    elm_object_content_set(conform, bx);
78    evas_object_show(bx);
79
80    evas_object_resize(win, 240, 240);
81    evas_object_show(win);
82 }
83
84 static void
85 popobj(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
86 {
87    elm_naviframe_item_pop(data);
88 }
89
90 void
91 test_conformant2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
92 {
93    Evas_Object *win, *conform, *btn, *bx, *en, *pg;
94
95    win = elm_win_util_standard_add("conformant2", "Conformant 2");
96    elm_win_autodel_set(win, EINA_TRUE);
97    elm_win_conformant_set(win, EINA_TRUE);
98
99    bx = elm_box_add(win);
100    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
101    evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
102    elm_win_resize_object_add(win, bx);
103    evas_object_show(bx);
104
105    en = elm_entry_add(win);
106    elm_entry_scrollable_set(en, EINA_TRUE);
107    elm_entry_single_line_set(en, EINA_TRUE);
108    elm_scroller_bounce_set(en, EINA_TRUE, EINA_FALSE);
109    elm_object_text_set(en, "This is the top entry here");
110    evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
111    evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
112    elm_box_pack_end(bx, en);
113    evas_object_show(en);
114
115    btn = elm_button_add(win);
116    elm_object_focus_allow_set(btn, EINA_FALSE);
117    elm_object_text_set(btn, "Delete Below");
118    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0);
119    evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
120    elm_box_pack_end(bx, btn);
121    evas_object_show(btn);
122
123    pg = elm_naviframe_add(win);
124    evas_object_size_hint_weight_set(pg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
125    evas_object_size_hint_align_set(pg, EVAS_HINT_FILL, EVAS_HINT_FILL);
126    elm_box_pack_end(bx, pg);
127    evas_object_show(pg);
128
129    evas_object_smart_callback_add(btn, "clicked", popobj, pg);
130
131    conform = elm_conformant_add(win);
132    evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
133    evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL);
134    elm_naviframe_item_simple_push(pg, conform);
135    evas_object_show(conform);
136
137    bx = elm_box_add(win);
138    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
139    evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
140
141    en = elm_entry_add(win);
142    elm_entry_scrollable_set(en, EINA_TRUE);
143    elm_scroller_bounce_set(en, EINA_FALSE, EINA_TRUE);
144    elm_object_text_set(en, "This entry and button below get deleted.");
145    evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
146    evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
147    evas_object_show(en);
148    elm_box_pack_end(bx, en);
149
150    btn = elm_button_add(win);
151    elm_object_focus_allow_set(btn, EINA_FALSE);
152    elm_object_text_set(btn, "Delete this bottom bit 1");
153    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0);
154    evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
155    elm_box_pack_end(bx, btn);
156    evas_object_show(btn);
157
158    evas_object_smart_callback_add(btn, "clicked", popobj, pg);
159
160    elm_object_content_set(conform, bx);
161    evas_object_show(bx);
162
163    conform = elm_conformant_add(win);
164    evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
165    evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL);
166    elm_naviframe_item_simple_push(pg, conform);
167    evas_object_show(conform);
168
169    bx = elm_box_add(win);
170    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
171    evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
172
173    en = elm_entry_add(win);
174    elm_entry_scrollable_set(en, EINA_TRUE);
175    elm_scroller_bounce_set(en, EINA_FALSE, EINA_TRUE);
176    elm_object_text_set(en, "This entry and button below get deleted.");
177    evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
178    evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
179    evas_object_show(en);
180    elm_box_pack_end(bx, en);
181
182    btn = elm_button_add(win);
183    elm_object_focus_allow_set(btn, EINA_FALSE);
184    elm_object_text_set(btn, "Delete this bottom bit 2");
185    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0);
186    evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
187    elm_box_pack_end(bx, btn);
188    evas_object_show(btn);
189
190    evas_object_smart_callback_add(btn, "clicked", popobj, pg);
191
192    elm_object_content_set(conform, bx);
193    evas_object_show(bx);
194
195    evas_object_resize(win, 240, 480);
196    evas_object_show(win);
197 }
198
199 #endif