1 #include <Elementary.h>
2 #ifndef ELM_LIB_QUICKLAUNCH
3 typedef struct _Pginfo Pginfo;
7 Evas_Object *win, *pager, *pg1, *pg2, *pg3;
11 my_pager_1(void *data, Evas_Object *obj, void *event_info)
14 elm_pager_content_promote(info->pager, info->pg2);
18 my_pager_2(void *data, Evas_Object *obj, void *event_info)
21 elm_pager_content_promote(info->pager, info->pg3);
25 my_pager_3(void *data, Evas_Object *obj, void *event_info)
28 elm_pager_content_promote(info->pager, info->pg1);
32 my_pager_pop(void *data, Evas_Object *obj, void *event_info)
35 elm_pager_content_pop(info->pager);
39 test_pager(void *data, Evas_Object *obj, void *event_info)
41 Evas_Object *win, *bg, *pg, *bx, *lb, *bt;
44 win = elm_win_add(NULL, "pager", ELM_WIN_BASIC);
45 elm_win_title_set(win, "Pager");
46 elm_win_autodel_set(win, 1);
50 elm_win_resize_object_add(win, bg);
51 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
54 pg = elm_pager_add(win);
55 elm_win_resize_object_add(win, pg);
60 bx = elm_box_add(win);
61 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
64 lb = elm_label_add(win);
65 elm_label_label_set(lb,
66 "This is page 1 in a pager stack.<br>"
68 "So what is a pager stack? It is a stack<br>"
69 "of pages that hold widgets in it. The<br>"
70 "pages can be pushed and popped on and<br>"
71 "off the stack, activated and otherwise<br>"
72 "activated if already in the stack<br>"
73 "(activated means promoted to the top of<br>"
76 "The theme may define the animation how<br>"
77 "show and hide of pages.");
78 elm_box_pack_end(bx, lb);
81 bt = elm_button_add(win);
82 elm_button_label_set(bt, "Flip to 2");
83 evas_object_smart_callback_add(bt, "clicked", my_pager_1, &info);
84 elm_box_pack_end(bx, bt);
87 bt = elm_button_add(win);
88 elm_button_label_set(bt, "Popme");
89 evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info);
90 elm_box_pack_end(bx, bt);
92 elm_pager_content_push(pg, bx);
95 bx = elm_box_add(win);
96 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
99 lb = elm_label_add(win);
100 elm_label_label_set(lb,
101 "This is page 2 in a pager stack.<br>"
103 "This is just like the previous page in<br>"
106 elm_box_pack_end(bx, lb);
107 evas_object_show(lb);
109 bt = elm_button_add(win);
110 elm_button_label_set(bt, "Flip to 3");
111 evas_object_smart_callback_add(bt, "clicked", my_pager_2, &info);
112 elm_box_pack_end(bx, bt);
113 evas_object_show(bt);
115 bt = elm_button_add(win);
116 elm_button_label_set(bt, "Popme");
117 evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info);
118 elm_box_pack_end(bx, bt);
119 evas_object_show(bt);
120 elm_pager_content_push(pg, bx);
123 bx = elm_box_add(win);
124 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
125 evas_object_show(bx);
127 lb = elm_label_add(win);
128 elm_label_label_set(lb,
129 "This is page 3 in a pager stack.<br>"
131 "This is just like the previous page in<br>"
133 elm_box_pack_end(bx, lb);
134 evas_object_show(lb);
136 bt = elm_button_add(win);
137 elm_button_label_set(bt, "Flip to 1");
138 evas_object_smart_callback_add(bt, "clicked", my_pager_3, &info);
139 elm_box_pack_end(bx, bt);
140 evas_object_show(bt);
142 bt = elm_button_add(win);
143 elm_button_label_set(bt, "Popme");
144 evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info);
145 elm_box_pack_end(bx, bt);
146 evas_object_show(bt);
147 elm_pager_content_push(pg, bx);
150 evas_object_show(win);
154 my_pager_push(void *data, Evas_Object *obj, void *event_info)
157 Evas_Object *bx, *bt, *lb;
158 static int count = 2;
161 bx = elm_box_add(info->win);
162 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
163 evas_object_show(bx);
165 lb = elm_label_add(info->win);
166 snprintf(buf, sizeof(buf), "This is page %d in the slide pager<br><br>", count++);
167 elm_label_label_set(lb, buf);
168 elm_box_pack_end(bx, lb);
169 evas_object_show(lb);
171 bt = elm_button_add(info->win);
172 elm_button_label_set(bt, "Push a new page");
173 evas_object_smart_callback_add(bt, "clicked", my_pager_push, info);
174 elm_box_pack_end(bx, bt);
175 evas_object_show(bt);
177 bt = elm_button_add(info->win);
178 elm_button_label_set(bt, "Go back (pop)");
179 evas_object_smart_callback_add(bt, "clicked", my_pager_pop, info);
180 elm_box_pack_end(bx, bt);
181 evas_object_show(bt);
182 elm_pager_content_push(info->pager, bx);
186 test_pager_slide(void *data, Evas_Object *obj, void *event_info)
188 Evas_Object *win, *bg, *pg, *bx, *lb, *bt;
191 win = elm_win_add(NULL, "pager", ELM_WIN_BASIC);
192 elm_win_title_set(win, "Pager Slide");
193 elm_win_autodel_set(win, 1);
196 bg = elm_bg_add(win);
197 elm_win_resize_object_add(win, bg);
198 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
199 evas_object_show(bg);
201 pg = elm_pager_add(win);
202 elm_win_resize_object_add(win, pg);
203 elm_object_style_set(pg, "slide");
204 evas_object_show(pg);
207 bx = elm_box_add(win);
208 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
209 evas_object_show(bx);
211 lb = elm_label_add(win);
212 elm_label_label_set(lb,
213 "This is page 1 in a slide pager.<br>"
215 "The slide pager style is usefull for browsing<br>"
216 "a hierarchy of objects, as it makes clear<br>"
217 "the direction of the browse.<br>"
218 "This is the 'slide' style, also available<br>"
219 "a fully transparent style named 'slide_invisble'.<br>"
221 elm_box_pack_end(bx, lb);
222 evas_object_show(lb);
224 bt = elm_button_add(win);
225 elm_button_label_set(bt, "Push a new page");
226 evas_object_smart_callback_add(bt, "clicked", my_pager_push, &info);
227 elm_box_pack_end(bx, bt);
228 evas_object_show(bt);
230 bt = elm_button_add(win);
231 elm_button_label_set(bt, "Go back (pop)");
232 evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info);
233 elm_box_pack_end(bx, bt);
234 evas_object_show(bt);
235 elm_pager_content_push(pg, bx);
237 evas_object_show(win);