From c169cd5547a9f90f2c9607f1fd9b0a77eac46043 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 12 May 2014 06:39:49 +1000 Subject: widgetAdd now does the box / grid decision, and some oter things moved into it. --- src/libraries/winFang.c | 31 ++++++++++++++++++------------- src/libraries/winFang.h | 2 +- 2 files changed, 19 insertions(+), 14 deletions(-) (limited to 'src/libraries') diff --git a/src/libraries/winFang.c b/src/libraries/winFang.c index c1f448d..4eb4a7b 100644 --- a/src/libraries/winFang.c +++ b/src/libraries/winFang.c @@ -347,7 +347,7 @@ void winFangDel(winFang *win) evas_object_del(win->win); } -Widget *widgetAdd(winFang *win, const Eo_Class *klass, Evas_Object *parent, char *title) +Widget *widgetAdd(winFang *win, const Eo_Class *klass, char *title, int x, int y, int w, int h) { Widget *result; @@ -355,19 +355,24 @@ Widget *widgetAdd(winFang *win, const Eo_Class *klass, Evas_Object *parent, char strcpy(result->magic, "Widget"); eina_clist_add_head(&win->widgets, &result->node); - if (parent) + result->obj = eo_add(klass, win->win, + evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), + evas_obj_size_hint_align_set(EVAS_HINT_FILL, EVAS_HINT_FILL), + evas_obj_visibility_set(EINA_TRUE), + eo_key_data_set("Widget", result, NULL) + ); + + if (x < 0) + elm_layout_box_append(win->win, WF_BOX, result->obj); + else + elm_grid_pack(win->grid, result->obj, x, y, w, h); + winFangCalcMinSize(win); + + if (title) { - result->obj = eo_add(klass, parent, - evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), - evas_obj_size_hint_align_set(EVAS_HINT_FILL, EVAS_HINT_FILL), - evas_obj_visibility_set(EINA_TRUE) - ); - if (title) - { - result->label = strdup(title); - elm_object_text_set(result->obj, result->label); - evas_object_name_set(result->obj, title); - } + result->label = strdup(title); + elm_object_text_set(result->obj, result->label); + evas_object_name_set(result->obj, title); } return result; diff --git a/src/libraries/winFang.h b/src/libraries/winFang.h index c8b355b..1bdef20 100644 --- a/src/libraries/winFang.h +++ b/src/libraries/winFang.h @@ -67,6 +67,6 @@ void winFangShow(winFang *win); void winFangCalcMinSize(winFang *win); void winFangDel(winFang *win); -Widget *widgetAdd(winFang *win, const Eo_Class *klass, Evas_Object *parent, char *title); +Widget *widgetAdd(winFang *win, const Eo_Class *klass, char *title, int x, int y, int w, int h); #endif -- cgit v1.1