From 127c4ac9c25a212337ceb983798f4e138483581e Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Wed, 24 May 2017 15:17:06 +0900 Subject: [PATCH] elm: Remove elm_box_layout_set from EO This removes a type from ecore_types.eot elm_box is legacy. Efl.Ui.Box is the new EO-enabled box. Ref T5522 --- src/lib/ecore/ecore_types.eot | 1 - src/lib/elementary/elm_box.c | 4 ++-- src/lib/elementary/elm_box.eo | 37 ----------------------------- src/lib/elementary/elm_box_legacy.h | 36 +++++++++++++++++++++++++++- 4 files changed, 37 insertions(+), 41 deletions(-) diff --git a/src/lib/ecore/ecore_types.eot b/src/lib/ecore/ecore_types.eot index 006c708488..3bd094769b 100644 --- a/src/lib/ecore/ecore_types.eot +++ b/src/lib/ecore/ecore_types.eot @@ -1,4 +1,3 @@ -type @extern Ecore_Cb: __undefined_type; [[Ecore callback type]] type @extern Ecore_Task_Cb: __undefined_type; [[Ecore task callback type]] enum Ecore.Pos_Map diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c index 56759d8893..7e1d1dc90e 100644 --- a/src/lib/elementary/elm_box.c +++ b/src/lib/elementary/elm_box.c @@ -555,8 +555,8 @@ _elm_box_unpack_all(Eo *obj, Elm_Box_Data *pd) _focus_order_flush(obj, pd); } -EOLIAN static void -_elm_box_layout_set(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED, Evas_Object_Box_Layout cb, const void *data, Ecore_Cb free_data) +EAPI void +elm_box_layout_set(Eo *obj, Evas_Object_Box_Layout cb, const void *data, Ecore_Cb free_data) { ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); if (cb) diff --git a/src/lib/elementary/elm_box.eo b/src/lib/elementary/elm_box.eo index fa68f07cc2..1686fae22e 100644 --- a/src/lib/elementary/elm_box.eo +++ b/src/lib/elementary/elm_box.eo @@ -93,43 +93,6 @@ class Elm.Box (Elm.Widget) vertical: int; [[The vertical space between elements]] } } - @property layout { - set { - [[Set the layout defining function to be used by the box - - Whenever anything changes that requires the box in $obj to recalculate - the size and position of its elements, the function $cb will be called - to determine what the layout of the children will be. - - Once a custom function is set, everything about the children layout - is defined by it. The flags set by @.horizontal.set and - @.homogeneous.set no longer have any meaning, and the values - given by @.padding.set and @.align.set are up to this - layout function to decide if they are used and how. These last two - will be found in the $priv parameter, of type $Evas_Object_Box_Data, - passed to $cb. The $Evas_Object the function receives is not the - Elementary widget, but the internal Evas Box it uses, so none of the - functions described here can be used on it. - - Any of the layout functions in $Evas can be used here, as well as the - special \@ref elm_box_layout_transition. - - The final $data argument received by $cb is the same $data passed - here, and the $free_data function will be called to free it - whenever the box is destroyed or another layout function is set. - - Setting $cb to $null will revert back to the default layout function. - - See also \@ref elm_box_layout_transition. - - ]] - } - values { - cb: Evas_Object_Box_Layout @nullable; [[The callback function used for layout]] - data: const(void_ptr) @optional; [[Data that will be passed to layout function]] - free_data: Ecore_Cb @optional; [[Function called to free $data]] - } - } @property children { get { [[Get a list of the objects packed into the box diff --git a/src/lib/elementary/elm_box_legacy.h b/src/lib/elementary/elm_box_legacy.h index e37f0209c2..e7b928f7de 100644 --- a/src/lib/elementary/elm_box_legacy.h +++ b/src/lib/elementary/elm_box_legacy.h @@ -10,4 +10,38 @@ */ EAPI Evas_Object *elm_box_add(Evas_Object *parent); -#include "elm_box.eo.legacy.h" \ No newline at end of file +#include "elm_box.eo.legacy.h" + +/** + * @brief Set the layout defining function to be used by the box + * + * Whenever anything changes that requires the box in @c obj to recalculate the + * size and position of its elements, the function @c cb will be called to + * determine what the layout of the children will be. + * + * Once a custom function is set, everything about the children layout is + * defined by it. The flags set by @ref elm_box_horizontal_set and + * @ref elm_box_homogeneous_set no longer have any meaning, and the values + * given by @ref elm_box_padding_set and @ref elm_box_align_set are up to this + * layout function to decide if they are used and how. These last two will be + * found in the @c priv parameter, of type @c Evas_Object_Box_Data, passed to + * @c cb. The @c Evas_Object the function receives is not the Elementary + * widget, but the internal Evas Box it uses, so none of the functions + * described here can be used on it. + * + * Any of the layout functions in @c Evas can be used here, as well as the + * special @ref elm_box_layout_transition. + * + * The final @c data argument received by @c cb is the same @c data passed + * here, and the @c free_data function will be called to free it whenever the + * box is destroyed or another layout function is set. + * + * Setting @c cb to @c null will revert back to the default layout function. + * + * See also @ref elm_box_layout_transition. + * + * @param[in] cb The callback function used for layout + * @param[in] data Data that will be passed to layout function + * @param[in] free_data Function called to free @c data + */ +EAPI void elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, Ecore_Cb free_data);