diff options
Diffstat (limited to 'libraries/elementary/src/bin/test_layout.c')
-rw-r--r-- | libraries/elementary/src/bin/test_layout.c | 257 |
1 files changed, 0 insertions, 257 deletions
diff --git a/libraries/elementary/src/bin/test_layout.c b/libraries/elementary/src/bin/test_layout.c deleted file mode 100644 index 90826cb..0000000 --- a/libraries/elementary/src/bin/test_layout.c +++ /dev/null | |||
@@ -1,257 +0,0 @@ | |||
1 | #ifdef HAVE_CONFIG_H | ||
2 | # include "elementary_config.h" | ||
3 | #endif | ||
4 | #include <Elementary.h> | ||
5 | #ifndef ELM_LIB_QUICKLAUNCH | ||
6 | #include <Elementary_Cursor.h> | ||
7 | |||
8 | struct _api_data | ||
9 | { | ||
10 | unsigned int state; /* What state we are testing */ | ||
11 | Evas_Object *box_layout; | ||
12 | Evas_Object *table_layout; | ||
13 | Evas_Object *ref; | ||
14 | Evas_Object *ref2; | ||
15 | }; | ||
16 | typedef struct _api_data api_data; | ||
17 | |||
18 | enum _api_state | ||
19 | { | ||
20 | LAYOUT_BOX_INSERT_AT, | ||
21 | LAYOUT_BOX_INSERT_BEFORE, | ||
22 | LAYOUT_BOX_PREPEND, | ||
23 | LAYOUT_BOX_REMOVE, | ||
24 | LAYOUT_BOX_REMOVE_ALL, | ||
25 | LAYOUT_TABLE_UNPACK, | ||
26 | LAYOUT_TABLE_CLEAR, | ||
27 | API_STATE_LAST | ||
28 | }; | ||
29 | |||
30 | typedef enum _api_state api_state; | ||
31 | static void | ||
32 | _clicked_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) | ||
33 | { | ||
34 | elm_object_part_text_set(data, "text", elm_object_text_get(obj)); | ||
35 | } | ||
36 | |||
37 | void | ||
38 | test_layout(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | ||
39 | { | ||
40 | Evas_Object *win, *box, *ly, *bt; | ||
41 | char buf[PATH_MAX]; | ||
42 | |||
43 | win = elm_win_util_standard_add("layout", "Layout"); | ||
44 | elm_win_autodel_set(win, EINA_TRUE); | ||
45 | |||
46 | box = elm_box_add(win); | ||
47 | evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
48 | evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); | ||
49 | elm_win_resize_object_add(win, box); | ||
50 | evas_object_show(box); | ||
51 | |||
52 | ly = elm_layout_add(win); | ||
53 | elm_layout_theme_set(ly, "layout", "application", "titlebar"); | ||
54 | elm_object_text_set(ly, "Some title"); | ||
55 | evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
56 | evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); | ||
57 | elm_box_pack_end(box, ly); | ||
58 | evas_object_show(ly); | ||
59 | |||
60 | bt = elm_icon_add(win); | ||
61 | elm_icon_standard_set(bt, "chat"); | ||
62 | evas_object_size_hint_min_set(bt, 20, 20); | ||
63 | elm_layout_icon_set(ly, bt); | ||
64 | |||
65 | bt = elm_icon_add(win); | ||
66 | elm_icon_standard_set(bt, "close"); | ||
67 | evas_object_size_hint_min_set(bt, 20, 20); | ||
68 | elm_layout_end_set(ly, bt); | ||
69 | |||
70 | ly = elm_layout_add(win); | ||
71 | snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); | ||
72 | elm_layout_file_set(ly, buf, "layout"); | ||
73 | evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
74 | elm_box_pack_end(box, ly); | ||
75 | //elm_win_resize_object_add(win, ly); | ||
76 | evas_object_show(ly); | ||
77 | |||
78 | bt = elm_button_add(win); | ||
79 | elm_object_text_set(bt, "Button 1"); | ||
80 | elm_object_part_content_set(ly, "element1", bt); | ||
81 | evas_object_smart_callback_add(bt, "clicked", _clicked_cb, ly); | ||
82 | evas_object_show(bt); | ||
83 | |||
84 | bt = elm_button_add(win); | ||
85 | elm_object_text_set(bt, "Button 2"); | ||
86 | elm_object_part_content_set(ly, "element2", bt); | ||
87 | evas_object_smart_callback_add(bt, "clicked", _clicked_cb, ly); | ||
88 | evas_object_show(bt); | ||
89 | |||
90 | bt = elm_button_add(win); | ||
91 | elm_object_text_set(bt, "Button 3"); | ||
92 | elm_object_part_content_set(ly, "element3", bt); | ||
93 | evas_object_smart_callback_add(bt, "clicked", _clicked_cb, ly); | ||
94 | evas_object_show(bt); | ||
95 | |||
96 | elm_layout_part_cursor_set(ly, "text", ELM_CURSOR_WATCH); | ||
97 | |||
98 | evas_object_show(win); | ||
99 | } | ||
100 | |||
101 | static void | ||
102 | set_api_state(api_data *api) | ||
103 | { | ||
104 | Evas_Object *box_layout = api->box_layout; | ||
105 | Evas_Object *table_layout = api->table_layout; | ||
106 | Evas_Object *obj; | ||
107 | |||
108 | /* use elm_box_children_get() to get list of children */ | ||
109 | switch (api->state) | ||
110 | { /* Put all api-changes under switch */ | ||
111 | case LAYOUT_BOX_INSERT_AT: | ||
112 | { | ||
113 | obj = elm_label_add(box_layout); | ||
114 | elm_object_text_set(obj, "elm_layout_box_insert_at(); is called"); | ||
115 | evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, | ||
116 | EVAS_HINT_EXPAND); | ||
117 | elm_layout_box_insert_at(box_layout, "elm.box.content", obj, 0); | ||
118 | evas_object_show(obj); | ||
119 | break; | ||
120 | } | ||
121 | |||
122 | case LAYOUT_BOX_INSERT_BEFORE: | ||
123 | { | ||
124 | obj = elm_label_add(box_layout); | ||
125 | elm_object_text_set(obj, "elm_layout_box_insert_before(); is called"); | ||
126 | evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, | ||
127 | EVAS_HINT_EXPAND); | ||
128 | elm_layout_box_insert_before(box_layout, "elm.box.content", | ||
129 | obj, api->ref); | ||
130 | evas_object_show(obj); | ||
131 | break; | ||
132 | } | ||
133 | |||
134 | case LAYOUT_BOX_PREPEND: | ||
135 | { | ||
136 | obj = elm_label_add(box_layout); | ||
137 | elm_object_text_set(obj, "elm_layout_box_prepend(); is called"); | ||
138 | evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, | ||
139 | EVAS_HINT_EXPAND); | ||
140 | elm_layout_box_prepend(box_layout, "elm.box.content", obj); | ||
141 | evas_object_show(obj); | ||
142 | break; | ||
143 | } | ||
144 | |||
145 | case LAYOUT_BOX_REMOVE: | ||
146 | { | ||
147 | elm_layout_box_remove(box_layout, "elm.box.content", api->ref); | ||
148 | evas_object_del(api->ref); | ||
149 | break; | ||
150 | } | ||
151 | |||
152 | case LAYOUT_BOX_REMOVE_ALL: | ||
153 | { | ||
154 | elm_layout_box_remove_all(box_layout, "elm.box.content", EINA_TRUE); | ||
155 | break; | ||
156 | } | ||
157 | |||
158 | case LAYOUT_TABLE_UNPACK: | ||
159 | { | ||
160 | elm_layout_table_unpack(table_layout, "elm.table.content", api->ref2); | ||
161 | evas_object_del(api->ref2); | ||
162 | break; | ||
163 | } | ||
164 | |||
165 | case LAYOUT_TABLE_CLEAR: | ||
166 | { | ||
167 | elm_layout_table_clear(table_layout, "elm.table.content", EINA_TRUE); | ||
168 | break; | ||
169 | } | ||
170 | |||
171 | default: return; | ||
172 | } | ||
173 | } | ||
174 | |||
175 | static void | ||
176 | _api_bt_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__) | ||
177 | { /* Will add here a SWITCH command containing code to modify test-object */ | ||
178 | /* in accordance a->state value. */ | ||
179 | api_data *a = data; | ||
180 | char str[128]; | ||
181 | |||
182 | printf("clicked event on API Button: api_state=<%d>\n", a->state); | ||
183 | set_api_state(a); | ||
184 | a->state++; | ||
185 | sprintf(str, "Next API function (%u)", a->state); | ||
186 | elm_object_text_set(obj, str); | ||
187 | elm_object_disabled_set(obj, a->state == API_STATE_LAST); | ||
188 | } | ||
189 | |||
190 | static void | ||
191 | _cleanup_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | ||
192 | { | ||
193 | free(data); | ||
194 | } | ||
195 | |||
196 | void | ||
197 | test_layout2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | ||
198 | { | ||
199 | Evas_Object *win, *box, *bt, *ly, *lb; | ||
200 | api_data *api = calloc(1, sizeof(api_data)); | ||
201 | |||
202 | win = elm_win_util_standard_add("layout2", "Layout 2"); | ||
203 | elm_win_autodel_set(win, EINA_TRUE); | ||
204 | evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _cleanup_cb, api); | ||
205 | |||
206 | box = elm_box_add(win); | ||
207 | evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
208 | elm_win_resize_object_add(win, box); | ||
209 | evas_object_show(box); | ||
210 | |||
211 | bt = elm_button_add(win); | ||
212 | elm_object_text_set(bt, "Next API function"); | ||
213 | evas_object_smart_callback_add(bt, "clicked", _api_bt_clicked, | ||
214 | (void *)api); | ||
215 | elm_box_pack_end(box, bt); | ||
216 | elm_object_disabled_set(bt, api->state == API_STATE_LAST); | ||
217 | evas_object_show(bt); | ||
218 | |||
219 | /* Layout Box Test */ | ||
220 | api->box_layout = ly = elm_layout_add(win); | ||
221 | elm_layout_theme_set(ly, "layout", "application", "toolbar-vbox"); | ||
222 | evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
223 | evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); | ||
224 | elm_box_pack_end(box, ly); | ||
225 | evas_object_show(ly); | ||
226 | |||
227 | api->ref = lb = elm_label_add(win); | ||
228 | elm_object_text_set(lb, "This is a label for the box content"); | ||
229 | evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
230 | evas_object_show(lb); | ||
231 | |||
232 | elm_layout_box_append(ly, "elm.box.content", lb); | ||
233 | |||
234 | /* Layout Table Test */ | ||
235 | api->table_layout = ly = elm_layout_add(win); | ||
236 | elm_layout_theme_set(ly, "layout", "application", "toolbar-table"); | ||
237 | evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
238 | evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); | ||
239 | elm_box_pack_end(box, ly); | ||
240 | evas_object_show(ly); | ||
241 | |||
242 | lb = elm_label_add(win); | ||
243 | elm_object_text_set(lb, "This is a label for the table content"); | ||
244 | evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
245 | evas_object_show(lb); | ||
246 | elm_layout_table_pack(ly, "elm.table.content", lb, 0, 0, 1, 1); | ||
247 | |||
248 | api->ref2 = lb = elm_label_add(win); | ||
249 | elm_object_text_set(lb, "col = 0, row = 1"); | ||
250 | evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
251 | evas_object_show(lb); | ||
252 | elm_layout_table_pack(ly, "elm.table.content", lb, 0, 1, 1, 1); | ||
253 | |||
254 | evas_object_resize(win, 320, 320); | ||
255 | evas_object_show(win); | ||
256 | } | ||
257 | #endif | ||