2 * Simple Elementary's <b>panes widget</b> example, illustrating its
5 * See stdout/stderr for output. Compile with:
8 * gcc -g `pkg-config --cflags --libs elementary` panes_example.c -o panes_example
12 #include <Elementary.h>
14 # include "elementary_config.h"
20 _on_done(void *data __UNUSED__,
21 Evas_Object *obj __UNUSED__,
22 void *event_info __UNUSED__)
27 static double size = 0.0;
30 _press(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
36 _unpress(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
38 printf("Unpressed, size : %f\n", elm_panes_content_left_size_get(obj));
42 _clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
48 _clicked_double(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
50 if (elm_panes_content_left_size_get(obj) > 0)
52 size = elm_panes_content_left_size_get(obj);
53 elm_panes_content_left_size_set(obj, 0.0);
54 printf("Double clicked, hidding.\n");
58 elm_panes_content_left_size_set(obj, size);
59 printf("Double clicked, restoring size.\n");
64 elm_main(int argc __UNUSED__, char **argv __UNUSED__)
66 Evas_Object *win, *bg, *panes, *panes_h, *bt;
68 win = elm_win_add(NULL, "panes", ELM_WIN_BASIC);
69 elm_win_title_set(win, "Panes Example");
70 evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
73 elm_win_resize_object_add(win, bg);
74 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
75 elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
78 panes = elm_panes_add(win);
79 elm_win_resize_object_add(win, panes);
80 evas_object_size_hint_weight_set(panes, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
81 evas_object_size_hint_align_set(panes, EVAS_HINT_FILL, EVAS_HINT_FILL);
82 evas_object_show(panes);
84 bt = elm_button_add(win);
85 elm_object_text_set(bt, "Left");
86 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
87 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
89 elm_object_part_content_set(panes, "left", bt);
91 panes_h = elm_panes_add(win);
92 elm_panes_horizontal_set(panes_h, EINA_TRUE);
93 evas_object_size_hint_weight_set(panes_h, EVAS_HINT_EXPAND,
95 evas_object_size_hint_align_set(panes_h, EVAS_HINT_FILL, EVAS_HINT_FILL);
96 evas_object_show(panes_h);
97 elm_object_part_content_set(panes, "right", panes_h);
99 bt = elm_button_add(win);
100 elm_object_text_set(bt, "Up");
101 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
102 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
103 evas_object_show(bt);
104 elm_object_part_content_set(panes_h, "left", bt);
106 bt = elm_button_add(win);
107 elm_object_text_set(bt, "Down");
108 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
109 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
110 evas_object_show(bt);
111 elm_object_part_content_set(panes_h, "right", bt);
113 evas_object_smart_callback_add(panes, "clicked", _clicked, panes);
114 evas_object_smart_callback_add(panes, "clicked,double", _clicked_double,
116 evas_object_smart_callback_add(panes, "press", _press, panes);
117 evas_object_smart_callback_add(panes, "unpress", _unpress, panes);
119 evas_object_resize(win, 320, 400);
120 evas_object_show(win);