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
This commit is contained in:
Jean-Philippe Andre 2017-05-24 15:17:06 +09:00
parent b114f8c66d
commit 127c4ac9c2
4 changed files with 37 additions and 41 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -10,4 +10,38 @@
*/
EAPI Evas_Object *elm_box_add(Evas_Object *parent);
#include "elm_box.eo.legacy.h"
#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);