Elementary: Removed trailing whitespaces except for some files that
[framework/uifw/elementary.git] / src / bin / test_box.c
1 #include <Elementary.h>
2 #ifdef HAVE_CONFIG_H
3 # include "elementary_config.h"
4 #endif
5 #ifndef ELM_LIB_QUICKLAUNCH
6 void
7 test_box_vert(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
8 {
9    Evas_Object *win, *bg, *bx, *ic;
10    char buf[PATH_MAX];
11
12    win = elm_win_add(NULL, "box-vert", ELM_WIN_BASIC);
13    elm_win_title_set(win, "Box Vert");
14    elm_win_autodel_set(win, 1);
15
16    bg = elm_bg_add(win);
17    elm_win_resize_object_add(win, bg);
18    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
19    evas_object_show(bg);
20
21    bx = elm_box_add(win);
22    elm_win_resize_object_add(win, bx);
23    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
24    evas_object_show(bx);
25
26    elm_box_padding_set(bx, 1000, 1000);
27
28    ic = elm_icon_add(win);
29    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
30    elm_icon_file_set(ic, buf, NULL);
31    elm_icon_scale_set(ic, 0, 0);
32    evas_object_size_hint_align_set(ic, 0.5, 0.5);
33    elm_box_pack_end(bx, ic);
34    evas_object_show(ic);
35
36    ic = elm_icon_add(win);
37    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
38    elm_icon_file_set(ic, buf, NULL);
39    elm_icon_scale_set(ic, 0, 0);
40    evas_object_size_hint_align_set(ic, 0.0, 0.5);
41    elm_box_pack_end(bx, ic);
42    evas_object_show(ic);
43
44    ic = elm_icon_add(win);
45    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
46    elm_icon_file_set(ic, buf, NULL);
47    elm_icon_scale_set(ic, 0, 0);
48    evas_object_size_hint_align_set(ic, EVAS_HINT_EXPAND, 0.5);
49    elm_box_pack_end(bx, ic);
50    evas_object_show(ic);
51
52    evas_object_show(win);
53 }
54
55 static void
56 _del_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
57 {
58    elm_box_unpack(data, obj);
59    evas_object_move(obj, 0, 0);
60    evas_object_color_set(obj, 128, 64, 0, 128);
61 //   evas_object_del(obj);
62 }
63
64 void
65 test_box_vert2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
66 {
67    Evas_Object *win, *bg, *bx, *bt;
68
69    win = elm_win_add(NULL, "box-vert2", ELM_WIN_BASIC);
70    elm_win_title_set(win, "Box Vert 2");
71    elm_win_autodel_set(win, 1);
72
73    bg = elm_bg_add(win);
74    elm_win_resize_object_add(win, bg);
75    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
76    evas_object_show(bg);
77
78    bx = elm_box_add(win);
79    elm_win_resize_object_add(win, bx);
80    evas_object_size_hint_weight_set(bx, 0.0, 0.0);
81    evas_object_show(bx);
82
83    bt = elm_button_add(win);
84    elm_button_label_set(bt, "Button 1");
85    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
86    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
87    evas_object_smart_callback_add(bt, "clicked", _del_cb, bx);
88    elm_box_pack_end(bx, bt);
89    evas_object_show(bt);
90
91    bt = elm_button_add(win);
92    elm_button_label_set(bt, "Button 2");
93    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
94    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
95    evas_object_smart_callback_add(bt, "clicked", _del_cb, bx);
96    elm_box_pack_end(bx, bt);
97    evas_object_show(bt);
98
99    bt = elm_button_add(win);
100    elm_button_label_set(bt, "Button 3");
101    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
102    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
103    evas_object_smart_callback_add(bt, "clicked", _del_cb, bx);
104    elm_box_pack_end(bx, bt);
105    evas_object_show(bt);
106
107    bt = elm_button_add(win);
108    elm_button_label_set(bt, "Button 4");
109    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
110    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
111    evas_object_smart_callback_add(bt, "clicked", _del_cb, bx);
112    elm_box_pack_end(bx, bt);
113    evas_object_show(bt);
114
115    bt = elm_button_add(win);
116    elm_button_label_set(bt, "Button 5");
117    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
118    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
119    evas_object_smart_callback_add(bt, "clicked", _del_cb, bx);
120    elm_box_pack_end(bx, bt);
121    evas_object_show(bt);
122
123    evas_object_show(win);
124 }
125
126 void
127 test_box_horiz(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
128 {
129    Evas_Object *win, *bg, *bx, *ic;
130    char buf[PATH_MAX];
131
132    win = elm_win_add(NULL, "box-horiz", ELM_WIN_BASIC);
133    elm_win_title_set(win, "Box Horiz");
134    elm_win_autodel_set(win, 1);
135
136    bg = elm_bg_add(win);
137    elm_win_resize_object_add(win, bg);
138    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
139    evas_object_show(bg);
140
141    bx = elm_box_add(win);
142    elm_box_horizontal_set(bx, EINA_TRUE);
143    elm_win_resize_object_add(win, bx);
144    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
145    evas_object_show(bx);
146
147    ic = elm_icon_add(win);
148    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
149    elm_icon_file_set(ic, buf, NULL);
150    elm_icon_scale_set(ic, 0, 0);
151    evas_object_size_hint_align_set(ic, 0.5, 0.5);
152    elm_box_pack_end(bx, ic);
153    evas_object_show(ic);
154
155    ic = elm_icon_add(win);
156    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
157    elm_icon_file_set(ic, buf, NULL);
158    elm_icon_scale_set(ic, 0, 0);
159    evas_object_size_hint_align_set(ic, 0.5, 0.0);
160    elm_box_pack_end(bx, ic);
161    evas_object_show(ic);
162
163    ic = elm_icon_add(win);
164    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
165    elm_icon_file_set(ic, buf, NULL);
166    elm_icon_scale_set(ic, 0, 0);
167    evas_object_size_hint_align_set(ic, 0.0, EVAS_HINT_EXPAND);
168    elm_box_pack_end(bx, ic);
169    evas_object_show(ic);
170
171    evas_object_show(win);
172 }
173
174 typedef struct
175 {
176    Eina_List *transitions;
177    Evas_Object *box;
178    Evas_Object_Box_Layout last_layout;
179 } Transitions_Data;
180
181 static void
182 _test_box_transition_change(void *data)
183 {
184    Transitions_Data *tdata = data;
185    Elm_Box_Transition *layout_data;
186    Evas_Object_Box_Layout next_layout;
187
188    if (!data) return;
189    next_layout = eina_list_data_get(tdata->transitions);
190    layout_data = elm_box_transition_new(2.0, tdata->last_layout,
191          NULL, NULL, next_layout, NULL, NULL,
192          _test_box_transition_change, tdata);
193    elm_box_layout_set(tdata->box, elm_box_layout_transition, layout_data, elm_box_transition_free);
194    tdata->last_layout = next_layout;
195
196    tdata->transitions = eina_list_demote_list(tdata->transitions, tdata->transitions);
197 }
198
199 static void
200 _win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
201 {
202    Transitions_Data *tdata = data;
203    elm_box_layout_set(tdata->box, evas_object_box_layout_horizontal, NULL, NULL);
204    free(data);
205 }
206
207 void
208 test_box_transition(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
209 {
210    Evas_Object *win, *bg, *bx, *bt;
211    Transitions_Data *tdata;
212
213    win = elm_win_add(NULL, "box-transition", ELM_WIN_BASIC);
214    elm_win_title_set(win, "Box Transition");
215    elm_win_autodel_set(win, 1);
216
217    bg = elm_bg_add(win);
218    elm_win_resize_object_add(win, bg);
219    evas_object_size_hint_weight_set(bg, 1.0, 1.0);
220    evas_object_show(bg);
221
222    bx = elm_box_add(win);
223    elm_win_resize_object_add(win, bx);
224    evas_object_size_hint_weight_set(bx, 1.0, 1.0);
225
226    evas_object_show(bx);
227
228    bt = elm_button_add(win);
229    elm_button_label_set(bt, "Button 1");
230    evas_object_size_hint_weight_set(bt, 1.0, 1.0);
231    evas_object_size_hint_align_set(bt, -1.0, -1.0);
232    evas_object_smart_callback_add(bt, "clicked", _del_cb, bx);
233    elm_box_pack_end(bx, bt);
234    evas_object_resize(bt, 100, 100);
235    evas_object_show(bt);
236
237    bt = elm_button_add(win);
238    elm_button_label_set(bt, "Button 2");
239    evas_object_size_hint_weight_set(bt, 1.0, 1.0);
240    evas_object_size_hint_align_set(bt, -1.0, -1.0);
241    evas_object_smart_callback_add(bt, "clicked", _del_cb, bx);
242    elm_box_pack_end(bx, bt);
243    evas_object_resize(bt, 100, 100);
244    evas_object_show(bt);
245
246    bt = elm_button_add(win);
247    elm_button_label_set(bt, "Button 3");
248    evas_object_size_hint_weight_set(bt, 1.0, 1.0);
249    evas_object_size_hint_align_set(bt, -1.0, -1.0);
250    evas_object_smart_callback_add(bt, "clicked", _del_cb, bx);
251    elm_box_pack_end(bx, bt);
252    evas_object_resize(bt, 100, 100);
253    evas_object_show(bt);
254
255    tdata = calloc(1, sizeof(Transitions_Data));
256    tdata->box = bx;
257    tdata->last_layout = evas_object_box_layout_horizontal;
258    tdata->transitions = eina_list_append(tdata->transitions,
259          evas_object_box_layout_vertical);
260    tdata->transitions = eina_list_append(tdata->transitions,
261          evas_object_box_layout_horizontal);
262    tdata->transitions = eina_list_append(tdata->transitions,
263          evas_object_box_layout_stack);
264    tdata->transitions = eina_list_append(tdata->transitions,
265          evas_object_box_layout_homogeneous_vertical);
266    tdata->transitions = eina_list_append(tdata->transitions,
267          evas_object_box_layout_homogeneous_horizontal);
268    tdata->transitions = eina_list_append(tdata->transitions,
269          evas_object_box_layout_flow_vertical);
270    tdata->transitions = eina_list_append(tdata->transitions,
271          evas_object_box_layout_flow_horizontal);
272    tdata->transitions = eina_list_append(tdata->transitions,
273          evas_object_box_layout_stack);
274
275    evas_object_resize(win, 300, 300);
276    evas_object_resize(bx, 300, 300);
277    evas_object_smart_callback_add(win, "delete,request", _win_del, tdata);
278    evas_object_show(win);
279    elm_box_layout_set(bx, evas_object_box_layout_horizontal, NULL, NULL);
280    _test_box_transition_change(tdata);
281 }
282 #endif