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