From 80349e2b16d7e0eaa955e38f1d5798b42d2eb845 Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Wed, 29 Apr 2015 16:40:48 +0200 Subject: Make vertical button box homogeneous and available to all Signed-off-by: Olliver Schinagl --- src/eulogium.c | 35 ++++++++++++++++++++++++++++------- src/eulogium.h | 1 + 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/eulogium.c b/src/eulogium.c index 5fcd40c..b93ada0 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -820,26 +820,47 @@ Evas_Object *eulogium_multi_screen_menu(struct eulogium_data *eulogium, Evas_Obj Evas_Object *eulogium_dual_button_add(Evas_Object *parent, const struct button_def *left, const struct button_def *right) { Evas_Object *box; - Evas_Object *obj; + Evas_Object *obj, *butbox; box = elm_box_add(parent); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0); + elm_box_homogeneous_set(box, EINA_TRUE); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_horizontal_set(box, EINA_TRUE); + butbox = elm_box_add(box); + evas_object_size_hint_weight_set(butbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(butbox, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(butbox); + elm_box_horizontal_set(butbox, EINA_TRUE); + elm_box_pack_end(box, butbox); + + /* Dummy seperator that is not visible to make both buttons identical in size */ + obj = elm_separator_add(box); + elm_separator_horizontal_set(obj, EINA_FALSE); + evas_object_size_hint_weight_set(obj, 0, 0); + elm_box_pack_end(butbox, obj); + obj = elm_button_add(box); evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(obj, left->text); evas_object_smart_callback_add(obj, "clicked", left->cb.func, left->cb.data); evas_object_show(obj); - elm_box_pack_end(box, obj); + elm_box_pack_end(butbox, obj); + + butbox = elm_box_add(box); + evas_object_size_hint_weight_set(butbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(butbox, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(butbox); + elm_box_horizontal_set(butbox, EINA_TRUE); + elm_box_pack_end(box, butbox); obj = elm_separator_add(box); elm_separator_horizontal_set(obj, EINA_FALSE); - evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_weight_set(obj, 0, 0); evas_object_show(obj); - elm_box_pack_end(box, obj); + elm_box_pack_end(butbox, obj); obj = elm_button_add(box); evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -847,7 +868,7 @@ Evas_Object *eulogium_dual_button_add(Evas_Object *parent, const struct button_d elm_object_text_set(obj, right->text); evas_object_smart_callback_add(obj, "clicked", right->cb.func, right->cb.data); evas_object_show(obj); - elm_box_pack_end(box, obj); + elm_box_pack_end(butbox, obj); return box; } diff --git a/src/eulogium.h b/src/eulogium.h index 6ba1515..0e611e6 100644 --- a/src/eulogium.h +++ b/src/eulogium.h @@ -117,6 +117,7 @@ void eulogium_button_data_set(struct button_def *button, void *data); Evas_Object *eulogium_main_menu(Evas_Object *window, struct eulogium_data *eulogium); Evas_Object *eulogium_split_screen(Evas_Object *parent, Evas_Object *top, Evas_Object *bottom); Evas_Object *eulogium_tripple_button_menu(Evas_Object *parent, const struct button_def *left, const struct button_def *right, const struct button_def *bottom); +Evas_Object *eulogium_dual_button_add(Evas_Object *parent, const struct button_def *left, const struct button_def *right); Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium, char *filepath); Evas_Object *eulogium_print_progress(struct eulogium_data *eulogium); Evas_Object *eulogium_multi_text_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct button_def *button, struct multi_text *data, const uint_fast8_t pagenum, Eina_Bool pageindex); -- cgit v0.12