forked from enlightenment/efl
test_box: Add box align test sample.
This shows how elm_box_align_set() works.
This commit is contained in:
parent
9cb07eb5fa
commit
0645ba436d
|
@ -23,6 +23,7 @@ void test_box_pack(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_box_horiz(void *data, Evas_Object *obj, void *event_info);
|
void test_box_horiz(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_box_homo(void *data, Evas_Object *obj, void *event_info);
|
void test_box_homo(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_box_transition(void *data, Evas_Object *obj, void *event_info);
|
void test_box_transition(void *data, Evas_Object *obj, void *event_info);
|
||||||
|
void test_box_align(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_button(void *data, Evas_Object *obj, void *event_info);
|
void test_button(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_cnp(void *data, Evas_Object *obj, void *event_info);
|
void test_cnp(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_transit(void *data, Evas_Object *obj, void *event_info);
|
void test_transit(void *data, Evas_Object *obj, void *event_info);
|
||||||
|
@ -549,6 +550,7 @@ add_tests:
|
||||||
ADD_TEST(NULL, "Containers", "Box Horiz", test_box_horiz);
|
ADD_TEST(NULL, "Containers", "Box Horiz", test_box_horiz);
|
||||||
ADD_TEST(NULL, "Containers", "Box Homogeneous", test_box_homo);
|
ADD_TEST(NULL, "Containers", "Box Homogeneous", test_box_homo);
|
||||||
ADD_TEST(NULL, "Containers", "Box Transition", test_box_transition);
|
ADD_TEST(NULL, "Containers", "Box Transition", test_box_transition);
|
||||||
|
ADD_TEST(NULL, "Containers", "Box Align", test_box_align);
|
||||||
ADD_TEST(NULL, "Containers", "Table", test_table);
|
ADD_TEST(NULL, "Containers", "Table", test_table);
|
||||||
ADD_TEST(NULL, "Containers", "Table Homogeneous", test_table2);
|
ADD_TEST(NULL, "Containers", "Table Homogeneous", test_table2);
|
||||||
ADD_TEST(NULL, "Containers", "Table 3", test_table3);
|
ADD_TEST(NULL, "Containers", "Table 3", test_table3);
|
||||||
|
|
|
@ -699,3 +699,184 @@ test_box_transition(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
|
||||||
evas_object_resize(win, 300, 300);
|
evas_object_resize(win, 300, 300);
|
||||||
evas_object_show(win);
|
evas_object_show(win);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef struct _Box_Align_Data Box_Align_Data;
|
||||||
|
struct _Box_Align_Data
|
||||||
|
{
|
||||||
|
Evas_Object *hor_box; // target box horizontal
|
||||||
|
Evas_Object *vert_box; // target box vertical
|
||||||
|
double hor; // horizontal slider
|
||||||
|
double vert; // vertical slider
|
||||||
|
};
|
||||||
|
|
||||||
|
static void
|
||||||
|
_box_align_win_del_cb(void *data, Evas *e EINA_UNUSED,
|
||||||
|
Evas_Object *obj EINA_UNUSED,
|
||||||
|
void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
free(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_hor_slider_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
Box_Align_Data *bdata = data;
|
||||||
|
|
||||||
|
bdata->hor = elm_slider_value_get(obj);
|
||||||
|
printf("box align: %0.2f %0.2f\n", bdata->hor, bdata->vert);
|
||||||
|
elm_box_align_set(bdata->hor_box, bdata->hor, bdata->vert);
|
||||||
|
elm_box_align_set(bdata->vert_box, bdata->hor, bdata->vert);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_vert_slider_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
Box_Align_Data *bdata = data;
|
||||||
|
|
||||||
|
bdata->vert = elm_slider_value_get(obj);
|
||||||
|
printf("box align: %0.2f %0.2f\n", bdata->hor, bdata->vert);
|
||||||
|
elm_box_align_set(bdata->hor_box, bdata->hor, bdata->vert);
|
||||||
|
elm_box_align_set(bdata->vert_box, bdata->hor, bdata->vert);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_description_add(Evas_Object *bx_out, Box_Align_Data *bdata)
|
||||||
|
{
|
||||||
|
Evas_Object *fr, *bx, *lb, *sl, *tb;
|
||||||
|
|
||||||
|
// description
|
||||||
|
fr = elm_frame_add(bx_out);
|
||||||
|
evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, 0.0);
|
||||||
|
evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_box_pack_end(bx_out, fr);
|
||||||
|
elm_object_text_set(fr, "Description");
|
||||||
|
evas_object_show(fr);
|
||||||
|
|
||||||
|
bx = elm_box_add(fr);
|
||||||
|
elm_object_content_set(fr, bx);
|
||||||
|
evas_object_show(bx);
|
||||||
|
|
||||||
|
lb = elm_label_add(fr);
|
||||||
|
elm_object_text_set(lb, "This test shows how elm_box_align_set() works.");
|
||||||
|
evas_object_size_hint_align_set(lb, 0.0, EVAS_HINT_FILL);
|
||||||
|
elm_box_pack_end(bx, lb);
|
||||||
|
evas_object_show(lb);
|
||||||
|
|
||||||
|
tb = elm_table_add(bx);
|
||||||
|
evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_box_pack_end(bx, tb);
|
||||||
|
evas_object_show(tb);
|
||||||
|
|
||||||
|
lb = elm_label_add(tb);
|
||||||
|
elm_object_text_set(lb, " Horizontal ");
|
||||||
|
elm_table_pack(tb, lb, 0, 0, 1, 1);
|
||||||
|
evas_object_show(lb);
|
||||||
|
|
||||||
|
lb = elm_label_add(tb);
|
||||||
|
elm_object_text_set(lb, " Vertical ");
|
||||||
|
elm_table_pack(tb, lb, 0, 1, 1, 1);
|
||||||
|
evas_object_show(lb);
|
||||||
|
|
||||||
|
sl = elm_slider_add(fr);
|
||||||
|
elm_slider_unit_format_set(sl, "%1.2f");
|
||||||
|
elm_slider_min_max_set(sl, 0.0, 1.0);
|
||||||
|
elm_slider_value_set(sl, 0.5);
|
||||||
|
bdata->hor = 0.5;
|
||||||
|
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
|
||||||
|
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_table_pack(tb, sl, 1, 0, 1, 1);
|
||||||
|
evas_object_show(sl);
|
||||||
|
evas_object_smart_callback_add(sl, "changed", _hor_slider_changed_cb, bdata);
|
||||||
|
|
||||||
|
sl = elm_slider_add(fr);
|
||||||
|
elm_slider_unit_format_set(sl, "%1.2f");
|
||||||
|
elm_slider_min_max_set(sl, 0.0, 1.0);
|
||||||
|
elm_slider_value_set(sl, 0.5);
|
||||||
|
bdata->vert = 0.5;
|
||||||
|
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
|
||||||
|
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_table_pack(tb, sl, 1, 1, 1, 1);
|
||||||
|
evas_object_show(sl);
|
||||||
|
evas_object_smart_callback_add(sl, "changed", _vert_slider_changed_cb, bdata);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_align_box_add(Evas_Object *bx_out, Box_Align_Data *bdata)
|
||||||
|
{
|
||||||
|
Evas_Object *bx, *sp, *bt;
|
||||||
|
|
||||||
|
// test box - vertical
|
||||||
|
bdata->vert_box = bx = elm_box_add(bx_out);
|
||||||
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_box_pack_end(bx_out, bx);
|
||||||
|
elm_box_align_set(bx, 0.5, 0.5);
|
||||||
|
evas_object_show(bx);
|
||||||
|
|
||||||
|
bt = elm_button_add(bx);
|
||||||
|
elm_object_text_set(bt, "Button 1");
|
||||||
|
evas_object_size_hint_weight_set(bt, 0.0, 0.0);
|
||||||
|
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_box_pack_end(bx, bt);
|
||||||
|
evas_object_show(bt);
|
||||||
|
|
||||||
|
bt = elm_button_add(bx);
|
||||||
|
elm_object_text_set(bt, "Button 2");
|
||||||
|
evas_object_size_hint_weight_set(bt, 0.0, 0.0);
|
||||||
|
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_box_pack_end(bx, bt);
|
||||||
|
evas_object_show(bt);
|
||||||
|
|
||||||
|
// separator
|
||||||
|
sp = elm_separator_add(bx_out);
|
||||||
|
elm_separator_horizontal_set(sp, EINA_TRUE);
|
||||||
|
elm_box_pack_end(bx_out, sp);
|
||||||
|
evas_object_show(sp);
|
||||||
|
|
||||||
|
// test box - horizontal
|
||||||
|
bdata->hor_box = bx = elm_box_add(bx_out);
|
||||||
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_box_pack_end(bx_out, bx);
|
||||||
|
elm_box_align_set(bx, 0.5, 0.5);
|
||||||
|
elm_box_horizontal_set(bx, EINA_TRUE);
|
||||||
|
evas_object_show(bx);
|
||||||
|
|
||||||
|
bt = elm_button_add(bx);
|
||||||
|
elm_object_text_set(bt, "Button 1");
|
||||||
|
evas_object_size_hint_weight_set(bt, 0.0, 0.0);
|
||||||
|
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_box_pack_end(bx, bt);
|
||||||
|
evas_object_show(bt);
|
||||||
|
|
||||||
|
bt = elm_button_add(bx);
|
||||||
|
elm_object_text_set(bt, "Button 2");
|
||||||
|
evas_object_size_hint_weight_set(bt, 0.0, 0.0);
|
||||||
|
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_box_pack_end(bx, bt);
|
||||||
|
evas_object_show(bt);
|
||||||
|
}
|
||||||
|
void
|
||||||
|
test_box_align(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
|
void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
Evas_Object *win, *bx_out;
|
||||||
|
Box_Align_Data *bdata= (Box_Align_Data *)calloc(1, sizeof(Box_Align_Data));
|
||||||
|
|
||||||
|
win = elm_win_util_standard_add("box-align", "Box Align");
|
||||||
|
elm_win_autodel_set(win, EINA_TRUE);
|
||||||
|
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL,
|
||||||
|
_box_align_win_del_cb, bdata);
|
||||||
|
|
||||||
|
bx_out = elm_box_add(win);
|
||||||
|
evas_object_size_hint_weight_set(bx_out, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
elm_win_resize_object_add(win, bx_out);
|
||||||
|
evas_object_show(bx_out);
|
||||||
|
|
||||||
|
_description_add(bx_out, bdata);
|
||||||
|
_align_box_add(bx_out, bdata);
|
||||||
|
|
||||||
|
evas_object_resize(win, 300, 400);
|
||||||
|
evas_object_show(win);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue