Efl: Rename some packing functions and return bool

This renames some APIs from Efl.Pack in order to try and
make them more sensible. Feedback welcome.

Also, most APIs now return bool, where false is quite unlikely
to happen.
This commit is contained in:
Jean-Philippe Andre 2016-04-26 15:21:21 +09:00
parent 49dde632bc
commit ff8ee01432
17 changed files with 230 additions and 257 deletions

View File

@ -136,7 +136,7 @@ child_evt_cb(void *data, const Eo_Event *event)
int col, row, colspan, rowspan;
char buf[64];
efl_pack_grid_content_position_get(event->obj, it, &col, &row, &colspan, &rowspan);
efl_pack_grid_position_get(event->obj, it, &col, &row, &colspan, &rowspan);
if (event->desc == EFL_CONTAINER_EVENT_CONTENT_ADDED)
sprintf(buf, "pack %d,%d %dx%d", col, row, colspan, rowspan);
else
@ -169,7 +169,7 @@ _custom_engine_layout_do(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED,
it = efl_content_iterate(pack);
EINA_ITERATOR_FOREACH(it, item)
{
if (efl_pack_grid_content_position_get(pack, item, &c, &r, &cs, &rs))
if (efl_pack_grid_position_get(pack, item, &c, &r, &cs, &rs))
{
int x, y, mw, mh;
@ -615,7 +615,7 @@ test_ui_grid_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
efl_gfx_visible_set(f, 1);
efl_pack_grid_columns_set(grid, 4);
efl_pack_directions_set(grid, EFL_ORIENT_RIGHT, EFL_ORIENT_DOWN);
efl_pack_grid_directions_set(grid, EFL_ORIENT_RIGHT, EFL_ORIENT_DOWN);
evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_content_set(f, grid);
evas_object_show(grid);

View File

@ -70,16 +70,16 @@ _efl_canvas_layout_internal_box_eo_base_finalize(Eo *obj, Edje_Box_Data *pd)
/* Legacy features */
EOLIAN static void
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_box_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Edje_Box_Data *pd)
{
_edje_part_box_remove_all(pd->ed, pd->part, EINA_TRUE);
return _edje_part_box_remove_all(pd->ed, pd->part, EINA_TRUE);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_box_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Edje_Box_Data *pd)
{
_edje_part_box_remove_all(pd->ed, pd->part, EINA_FALSE);
return _edje_part_box_remove_all(pd->ed, pd->part, EINA_FALSE);
}
EOLIAN static Eina_Bool
@ -90,22 +90,22 @@ _efl_canvas_layout_internal_box_efl_pack_unpack(Eo *obj EINA_UNUSED, Edje_Box_Da
return (removed == subobj);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_box_efl_pack_pack(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj)
{
_edje_part_box_append(pd->ed, pd->part, subobj);
return _edje_part_box_append(pd->ed, pd->part, subobj);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_box_efl_pack_linear_pack_begin(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj)
{
_edje_part_box_prepend(pd->ed, pd->part, subobj);
return _edje_part_box_prepend(pd->ed, pd->part, subobj);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_box_efl_pack_linear_pack_end(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj)
{
_edje_part_box_append(pd->ed, pd->part, subobj);
return _edje_part_box_append(pd->ed, pd->part, subobj);
}
EOLIAN static Eina_Bool
@ -120,18 +120,20 @@ _efl_canvas_layout_internal_box_efl_pack_linear_pack_after(Eo *obj EINA_UNUSED,
return _edje_part_box_insert_after(pd->ed, pd->part, subobj, existing);
}
EOLIAN static void
_efl_canvas_layout_internal_box_efl_pack_linear_pack_insert(Eo *obj, Edje_Box_Data *pd, Efl_Gfx_Base *subobj, int index)
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_box_efl_pack_linear_pack_at(Eo *obj, Edje_Box_Data *pd, Efl_Gfx_Base *subobj, int index)
{
int cnt = efl_content_count(obj);
if ((index < 0) && ((-index) <= (cnt + 1)))
index = cnt + index + 1;
if ((index >= 0) && (index < cnt))
_edje_part_box_insert_at(pd->ed, pd->part, subobj, index);
return _edje_part_box_insert_at(pd->ed, pd->part, subobj, index);
else
_edje_part_box_append(pd->ed, pd->part, subobj);
return _edje_part_box_append(pd->ed, pd->part, subobj);
}
EOLIAN static Efl_Gfx_Base *
_efl_canvas_layout_internal_box_efl_pack_linear_content_at_remove(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, int index)
_efl_canvas_layout_internal_box_efl_pack_linear_pack_unpack_at(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, int index)
{
if (index < 0) index += efl_content_count(obj);
return _edje_part_box_remove_at(pd->ed, pd->part, index);
@ -140,7 +142,7 @@ _efl_canvas_layout_internal_box_efl_pack_linear_content_at_remove(Eo *obj EINA_U
/* New APIs with Eo */
EOLIAN static Efl_Gfx_Base *
_efl_canvas_layout_internal_box_efl_pack_linear_content_at_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, int index)
_efl_canvas_layout_internal_box_efl_pack_linear_pack_content_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, int index)
{
if (index < 0) index += efl_content_count(obj);
return _edje_part_box_content_at(pd->ed, pd->part, index);
@ -153,7 +155,7 @@ _efl_canvas_layout_internal_box_efl_container_content_remove(Eo *obj, Edje_Box_D
}
EOLIAN static int
_efl_canvas_layout_internal_box_efl_pack_linear_content_index_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base * subobj)
_efl_canvas_layout_internal_box_efl_pack_linear_pack_index_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, const Efl_Gfx_Base * subobj)
{
Evas_Object_Box_Option *opt;
Evas_Object_Box_Data *priv;
@ -237,7 +239,7 @@ _efl_canvas_layout_internal_box_efl_container_content_count(Eo *obj EINA_UNUSED,
}
EOLIAN static Efl_Orient
_efl_canvas_layout_internal_box_efl_pack_linear_direction_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd)
_efl_canvas_layout_internal_box_efl_pack_linear_pack_direction_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd)
{
const Edje_Part_Description_Box *desc =
(Edje_Part_Description_Box *) pd->rp->chosen_description;
@ -308,16 +310,16 @@ _efl_canvas_layout_internal_table_efl_container_content_remove(Eo *obj, Edje_Tab
return efl_pack_unpack(obj, content);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_table_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Edje_Table_Data *pd)
{
_edje_part_table_clear(pd->ed, pd->part, EINA_TRUE);
return _edje_part_table_clear(pd->ed, pd->part, EINA_TRUE);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_table_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Edje_Table_Data *pd)
{
_edje_part_table_clear(pd->ed, pd->part, EINA_FALSE);
return _edje_part_table_clear(pd->ed, pd->part, EINA_FALSE);
}
EOLIAN static Eina_Bool
@ -326,14 +328,14 @@ _efl_canvas_layout_internal_table_efl_pack_unpack(Eo *obj EINA_UNUSED EINA_UNUSE
return _edje_part_table_unpack(pd->ed, pd->part, subobj);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_table_efl_pack_grid_pack_grid(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, Efl_Gfx_Base *subobj, int col, int row, int colspan, int rowspan)
{
_edje_part_table_pack(pd->ed, pd->part, subobj, col, row, colspan, rowspan);
return _edje_part_table_pack(pd->ed, pd->part, subobj, col, row, colspan, rowspan);
}
EOLIAN static Efl_Gfx_Base *
_efl_canvas_layout_internal_table_efl_pack_grid_grid_content_at(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, int col, int row)
_efl_canvas_layout_internal_table_efl_pack_grid_grid_content_get(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, int col, int row)
{
return _edje_part_table_child_get(pd->ed, pd->part, col, row);
}
@ -391,7 +393,7 @@ _table_item_iterator_free(Part_Item_Iterator *it)
}
EOLIAN static Eina_Iterator *
_efl_canvas_layout_internal_table_efl_pack_grid_grid_content_iterate(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, int col, int row, Eina_Bool below)
_efl_canvas_layout_internal_table_efl_pack_grid_grid_contents_get(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, int col, int row, Eina_Bool below)
{
Evas_Object *sobj;
Eina_Iterator *it;
@ -433,7 +435,7 @@ _efl_canvas_layout_internal_table_efl_pack_grid_grid_content_iterate(Eo *obj EIN
}
EOLIAN static Eina_Bool
_efl_canvas_layout_internal_table_efl_pack_grid_grid_content_position_get(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, Efl_Gfx_Base * subobj, int *col, int *row, int *colspan, int *rowspan)
_efl_canvas_layout_internal_table_efl_pack_grid_grid_position_get(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, Efl_Gfx_Base * subobj, int *col, int *row, int *colspan, int *rowspan)
{
unsigned short c, r, cs, rs;
Eina_Bool ret;
@ -469,8 +471,7 @@ EAPI Eina_Bool
edje_object_part_box_append(Edje_Object *obj, const char *part, Evas_Object *child)
{
Eo *box = PART_BOX_GET(obj, part, EINA_FALSE);
efl_pack_end(box, child);
return EINA_TRUE;
return efl_pack_end(box, child);
}
EAPI Eina_Bool
@ -499,15 +500,14 @@ EAPI Eina_Bool
edje_object_part_box_insert_at(Edje_Object *obj, const char *part, Evas_Object *child, unsigned int pos)
{
Eo *box = PART_BOX_GET(obj, part, EINA_FALSE);
efl_pack_insert(box, child, pos);
return EINA_TRUE;
return efl_pack_at(box, child, pos);
}
EAPI Evas_Object *
edje_object_part_box_remove_at(Edje_Object *obj, const char *part, unsigned int pos)
{
Eo *box = PART_BOX_GET(obj, part, NULL);
return efl_pack_content_at_remove(box, pos);
return efl_pack_unpack_at(box, pos);
}
EAPI Evas_Object *
@ -524,10 +524,9 @@ edje_object_part_box_remove_all(Edje_Object *obj, const char *part, Eina_Bool cl
{
Eo *box = PART_BOX_GET(obj, part, EINA_FALSE);
if (clear)
efl_pack_clear(box);
return efl_pack_clear(box);
else
efl_pack_unpack_all(box);
return EINA_TRUE;
return efl_pack_unpack_all(box);
}
#ifdef DEBUG
@ -550,8 +549,7 @@ EAPI Eina_Bool
edje_object_part_table_pack(Edje_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
{
Eo *table = PART_TABLE_GET(obj, part, EINA_FALSE);
efl_pack_grid(table, child_obj, col, row, colspan, rowspan);
return EINA_TRUE;
return efl_pack_grid(table, child_obj, col, row, colspan, rowspan);
}
EAPI Eina_Bool
@ -566,7 +564,7 @@ EAPI Evas_Object *
edje_object_part_table_child_get(const Edje_Object *obj, const char *part, unsigned int col, unsigned int row)
{
Eo *table = PART_TABLE_GET(obj, part, NULL);
return efl_pack_grid_content_at(table, col, row);
return efl_pack_grid_content_get(table, col, row);
}
EAPI Eina_Bool
@ -581,10 +579,9 @@ edje_object_part_table_clear(Edje_Object *obj, const char *part, Eina_Bool clear
{
Eo *table = PART_TABLE_GET(obj, part, EINA_FALSE);
if (clear)
efl_pack_clear(table);
return efl_pack_clear(table);
else
efl_pack_unpack_all(table);
return EINA_TRUE;
return efl_pack_unpack_all(table);
}
#include "efl_canvas_layout_internal_box.eo.c"

View File

@ -30,10 +30,10 @@ class Efl.Canvas.Layout_Internal.Box (Eo.Base, Efl.Pack_Linear)
Efl.Pack_Linear.pack_end;
Efl.Pack_Linear.pack_before;
Efl.Pack_Linear.pack_after;
Efl.Pack_Linear.pack_insert;
Efl.Pack_Linear.content_at.get;
Efl.Pack_Linear.content_at_remove;
Efl.Pack_Linear.content_index.get;
Efl.Pack_Linear.direction.get;
Efl.Pack_Linear.pack_at;
Efl.Pack_Linear.pack_content_get;
Efl.Pack_Linear.pack_unpack_at;
Efl.Pack_Linear.pack_index_get;
Efl.Pack_Linear.pack_direction.get;
}
}

View File

@ -26,9 +26,9 @@ class Efl.Canvas.Layout_Internal.Table (Eo.Base, Efl.Pack_Grid)
Efl.Pack.unpack_all;
Efl.Pack.unpack;
Efl.Pack_Grid.pack_grid;
Efl.Pack_Grid.grid_content_at;
Efl.Pack_Grid.grid_content_iterate;
Efl.Pack_Grid.grid_content_position.get;
Efl.Pack_Grid.grid_content_get;
Efl.Pack_Grid.grid_contents_get;
Efl.Pack_Grid.grid_position.get;
Efl.Pack_Grid.grid_size.get;
Efl.Pack_Grid.grid_columns.get;
Efl.Pack_Grid.grid_rows.get;

View File

@ -8,19 +8,21 @@ interface Efl.Pack (Efl.Container)
{
pack_clear {
[[Removes all packed contents, and unreferences them.]]
return: bool;
}
unpack_all {
[[Removes all packed contents, without unreferencing them.
Use with caution.
]]
return: bool;
}
unpack {
[[Removes an existing item from the container, without deleting it.]]
return: bool; [[$false if $subobj wasn't a child or can't be removed]]
params {
subobj: own(Efl.Gfx.Base *);
}
return: bool; [[$false if $subobj wasn't a child or can't be removed]]
}
pack {
[[Adds an item to this container.
@ -35,6 +37,7 @@ interface Efl.Pack (Efl.Container)
params {
subobj: own(Efl.Gfx.Base *);
}
return: bool; [[$false if $subobj could not be packed.]]
}
@property pack_align {
[[Alignment of the container within its bounds]]

View File

@ -14,8 +14,9 @@ interface Efl.Pack_Grid (Efl.Pack_Linear)
colspan: int @optional; [[0 means 1, -1 means @.grid_columns]]
rowspan: int @optional; [[0 means 1, -1 means @.grid_rows]]
}
return: bool;
}
grid_content_iterate {
grid_contents_get {
[[Returns all objects at a given position in this grid.]]
return: free(own(iterator<Efl.Gfx.Base *> *), eina_iterator_free);
params {
@ -24,17 +25,16 @@ interface Efl.Pack_Grid (Efl.Pack_Linear)
@in below: bool @optional; [[If $true get objects spanning over this cell.]]
}
}
grid_content_at {
[[Returns the first child at position, see @.grid_content_iterate.]]
grid_content_get {
[[Returns a child at a given position, see @.grid_contents_get.]]
return: Efl.Gfx.Base*;
params {
@in col: int;
@in row: int;
}
}
@property grid_content_position {
@property grid_position {
[[position and span of the $subobj in this container, may be modified to move the $subobj]]
set { [[same as grid_pack]] }
get { return: bool; [[returns false if item is not a child]] }
keys {
subobj: Efl.Gfx.Base*;
@ -69,10 +69,10 @@ interface Efl.Pack_Grid (Efl.Pack_Linear)
rows: int;
}
}
@property directions {
@property grid_directions {
[[Primary and secondary up/left/right/down orientations for linear apis.
Default is right and down. Overrides @Efl.Pack_Linear.direction.
Default is right and down. Overrides @Efl.Pack_Linear.pack_direction.
]]
set {}
get {}

View File

@ -10,59 +10,72 @@ interface Efl.Pack_Linear (Efl.Pack)
pack_begin {
[[Prepend an object at the beginning of this container.
This is the same as @.pack_insert($subobj, 0).
This is the same as @.pack_at($subobj, 0).
]]
params {
@in subobj: own(Efl.Gfx.Base *);
@in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
}
return: bool; [[$false if $subobj could not be packed]]
}
pack_end {
[[Append object at the end of this container.
This is the same as @.pack_insert($subobj, -1).
This is the same as @.pack_at($subobj, -1).
]]
params {
@in subobj: own(Efl.Gfx.Base *);
@in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
}
return: bool; [[$false if $subobj could not be packed]]
}
pack_before {
[[Prepend item before other sub object.]]
return: bool @warn_unused; [[returns $false if $existing could not be found]]
params {
@in subobj: own(Efl.Gfx.Base *);
@in existing: const(Efl.Gfx.Base)*;
@in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
@in existing: const(Efl.Gfx.Base)*; [[Item to refer to.]]
}
return: bool; [[$false if $existing could not be found or $subobj
could not be packed]]
}
pack_after {
[[Append item after other sub object.]]
return: bool @warn_unused; [[returns $false if $existing could not be found]]
params {
@in subobj: own(Efl.Gfx.Base *);
@in existing: const(Efl.Gfx.Base)*;
@in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
@in existing: const(Efl.Gfx.Base)*; [[Item to refer to.]]
}
return: bool; [[$false if $existing could not be found or $subobj
could not be packed]]
}
pack_insert {
[[Inserts $subobj at the specified $index. If $index is not valid, appends.]]
pack_at {
[[Inserts $subobj at the specified $index.
Valid range: -$count to +$count. -1 refers to the last element.
Out of range indices will trigger an append.
]]
params {
@in subobj: own(Efl.Gfx.Base *);
@in index: int;
@in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
@in index: int; [[A position.]]
}
return: bool; [[$false if $subobj could not be packed]]
}
@property content_at {
pack_content_get {
[[Content at a given index in this container.
Index -1 refers to the last item.
Index -1 refers to the last item. The valid range is -(count - 1) to
(count - 1).
]]
/* set {} - can be defined */
get {}
keys {
params {
index: int;
}
values {
subobj: Efl.Gfx.Base *;
}
return: Efl.Gfx.Base *; [[The object contained at the given $index.]]
}
content_at_remove {
pack_index_get {
[[Get the index of a child in this container.]]
params {
subobj: const(Efl.Gfx.Base)*; [[An object contained in this pack.]]
}
return: int(-1); [[-1 in case of failure, or the index of this item.]]
}
pack_unpack_at {
[[Pop out item at specified $index.
Equivalent to unpack(content_at($index)).
@ -72,22 +85,7 @@ interface Efl.Pack_Linear (Efl.Pack)
}
return: Efl.Gfx.Base*; [[The child item if it could be removed.]]
}
@property content_index {
[[Index of the child in this container, may be modified to move the $subobj.]]
set {
return: bool; [[Returns $false if $subobj is not a child.
Negative values can be used to refer to the end.]]
}
get {}
keys {
subobj: Efl.Gfx.Base *;
}
values {
index: int;
}
}
@property direction {
@property pack_direction {
[[Primary up/left/right/down orientation. Default is right.]]
set {}
get {}

View File

@ -283,32 +283,40 @@ _efl_ui_box_efl_container_content_count(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED
return bd ? eina_list_count(bd->children) : 0;
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_pack_clear(Eo *obj, Efl_Ui_Box_Data *pd)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
Eina_Bool ret;
evas_object_box_remove_all(wd->resize_obj, EINA_TRUE);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
ret = evas_object_box_remove_all(wd->resize_obj, EINA_TRUE);
_sizing_eval(obj, pd);
return ret;
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_unpack_all(Eo *obj, Efl_Ui_Box_Data *pd)
{
Evas_Object_Box_Data *bd;
Evas_Object_Box_Option *opt;
Eina_List *l;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
Eina_Bool ret;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
/* set this to block _sizing_eval() calls */
pd->delete_me = EINA_TRUE;
bd = evas_object_smart_data_get(wd->resize_obj);
EINA_LIST_FOREACH (bd->children, l, opt)
EINA_LIST_FOREACH(bd->children, l, opt)
elm_widget_sub_object_del(obj, opt->obj);
pd->delete_me = EINA_FALSE;
evas_object_box_remove_all(wd->resize_obj, EINA_FALSE);
ret = evas_object_box_remove_all(wd->resize_obj, EINA_FALSE);
_sizing_eval(obj, pd);
return ret;
}
EOLIAN static Eina_Bool
@ -326,28 +334,36 @@ _efl_ui_box_efl_pack_unpack(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx_Base *subobj)
return ret;
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_pack(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj)
{
efl_pack_end(obj, subobj);
return efl_pack_end(obj, subobj);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
Eina_Bool ret;
elm_widget_sub_object_add(obj, subobj);
evas_object_box_append(wd->resize_obj, subobj);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
ret = elm_widget_sub_object_add(obj, subobj);
ret &= (evas_object_box_append(wd->resize_obj, subobj) != NULL);
return ret;
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_linear_pack_begin(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED, Efl_Gfx_Base *subobj)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
Eina_Bool ret;
elm_widget_sub_object_add(obj, subobj);
evas_object_box_prepend(wd->resize_obj, subobj);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
ret = elm_widget_sub_object_add(obj, subobj);
ret &= (evas_object_box_prepend(wd->resize_obj, subobj) != NULL);
return ret;
}
EOLIAN static Eina_Bool
@ -384,20 +400,21 @@ _efl_ui_box_efl_pack_linear_pack_after(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED
return EINA_TRUE;
}
EOLIAN static void
_efl_ui_box_efl_pack_linear_pack_insert(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_linear_pack_at(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
Efl_Gfx_Base *subobj, int index)
{
if (!index)
efl_pack_begin(obj, subobj);
return efl_pack_begin(obj, subobj);
else if (index == -1)
efl_pack_end(obj, subobj);
return efl_pack_end(obj, subobj);
else
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
Evas_Object_Box_Data *bd;
int cnt;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
bd = evas_object_smart_data_get(wd->resize_obj);
cnt = eina_list_count(bd ? bd->children : NULL);
if (!cnt)
@ -407,7 +424,7 @@ _efl_ui_box_efl_pack_linear_pack_insert(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED
index %= cnt;
if (index < 0) index += cnt;
}
evas_object_box_insert_at(wd->resize_obj, subobj, index);
return (evas_object_box_insert_at(wd->resize_obj, subobj, index) != NULL);
}
}
@ -418,7 +435,7 @@ _box_item(Evas_Object_Box_Option *opt)
}
EOLIAN static Efl_Gfx_Base *
_efl_ui_box_efl_pack_linear_content_at_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
_efl_ui_box_efl_pack_linear_pack_content_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
int index)
{
Evas_Object_Box_Data *bd;
@ -449,12 +466,12 @@ _efl_ui_box_efl_pack_linear_content_at_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNU
}
EOLIAN static Efl_Gfx_Base *
_efl_ui_box_efl_pack_linear_content_at_remove(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
_efl_ui_box_efl_pack_linear_pack_unpack_at(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
int index)
{
Efl_Gfx_Base *content;
content = efl_pack_content_at_get(obj, index);
content = efl_pack_content_get(obj, index);
if (!content) return NULL;
if (!efl_pack_unpack(obj, content))
@ -464,8 +481,8 @@ _efl_ui_box_efl_pack_linear_content_at_remove(Eo *obj, Efl_Ui_Box_Data *pd EINA_
}
EOLIAN static int
_efl_ui_box_efl_pack_linear_content_index_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
Efl_Gfx_Base *subobj)
_efl_ui_box_efl_pack_linear_pack_index_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
const Efl_Gfx_Base *subobj)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, -1);
Evas_Object_Box_Data *bd;
@ -490,35 +507,6 @@ end:
return -1;
}
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_linear_content_index_set(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
Efl_Gfx_Base *subobj, int index)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
Evas_Object_Box_Data *bd;
int cnt;
if (evas_object_smart_parent_get(subobj) != wd->resize_obj)
{
ERR("object %p (%s) is not a child of %p (%s)",
subobj, eo_class_name_get(subobj), obj, eo_class_name_get(obj));
return EINA_FALSE;
}
bd = evas_object_smart_data_get(wd->resize_obj);
cnt = eina_list_count(bd->children);
if (!cnt)
{
efl_pack(obj, subobj);
return EINA_TRUE;
}
index %= cnt;
if (index < 0) index += index;
return (evas_object_box_insert_at(wd->resize_obj, subobj, index) != NULL);
}
EOLIAN static void
_efl_ui_box_efl_pack_layout_layout_request(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED)
{
@ -575,7 +563,7 @@ _efl_ui_box_efl_container_content_iterate(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUS
}
EOLIAN static void
_efl_ui_box_efl_pack_linear_direction_set(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Orient dir)
_efl_ui_box_efl_pack_linear_pack_direction_set(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Orient dir)
{
switch (dir)
{
@ -595,7 +583,7 @@ _efl_ui_box_efl_pack_linear_direction_set(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Orie
}
EOLIAN static Efl_Orient
_efl_ui_box_efl_pack_linear_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd)
_efl_ui_box_efl_pack_linear_pack_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd)
{
return pd->orient;
}

View File

@ -30,13 +30,12 @@ class Efl.Ui.Box (Elm.Widget, Efl.Pack_Linear, Efl.Pack_Layout)
Efl.Pack_Linear.pack_end;
Efl.Pack_Linear.pack_before;
Efl.Pack_Linear.pack_after;
Efl.Pack_Linear.pack_insert;
Efl.Pack_Linear.content_at.get;
Efl.Pack_Linear.content_at_remove;
Efl.Pack_Linear.content_index.get;
Efl.Pack_Linear.content_index.set;
Efl.Pack_Linear.direction.set;
Efl.Pack_Linear.direction.get;
Efl.Pack_Linear.pack_at;
Efl.Pack_Linear.pack_content_get;
Efl.Pack_Linear.pack_unpack_at;
Efl.Pack_Linear.pack_index_get;
Efl.Pack_Linear.pack_direction.set;
Efl.Pack_Linear.pack_direction.get;
// Custom layouts
Efl.Pack_Layout.layout_update;

View File

@ -407,13 +407,14 @@ _subobj_del_cb(void *data, const Eo_Event *event)
return EO_CALLBACK_CONTINUE;
}
static void
static Eina_Bool
_pack_at(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj,
int col, int row, int colspan, int rowspan, Eina_Bool linear)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
Grid_Item *gi = NULL;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
if (col < 0) col = 0;
if (row < 0) row = 0;
@ -468,35 +469,21 @@ _pack_at(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj,
eo_event_callback_array_add(subobj, subobj_callbacks(), obj);
}
evas_object_table_pack(wd->resize_obj, subobj, col, row, colspan, rowspan);
return evas_object_table_pack(wd->resize_obj, subobj, col, row, colspan, rowspan);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_grid_efl_pack_grid_pack_grid(Eo *obj, Efl_Ui_Grid_Data *pd,
Efl_Gfx_Base *subobj,
int col, int row, int colspan, int rowspan)
{
EINA_SAFETY_ON_NULL_RETURN(subobj);
EINA_SAFETY_ON_NULL_RETURN_VAL(subobj, EINA_FALSE);
_pack_at(obj, pd, subobj, col, row, colspan, rowspan, EINA_FALSE);
}
EOLIAN static void
_efl_ui_grid_efl_pack_grid_grid_content_position_set(Eo *obj, Efl_Ui_Grid_Data *pd, Evas_Object *subobj, int col, int row, int colspan, int rowspan)
{
EINA_SAFETY_ON_NULL_RETURN(subobj);
if (obj != elm_widget_parent_widget_get(subobj))
{
ERR("object %p is not a child of %p", subobj, obj);
return;
}
_pack_at(obj, pd, subobj, col, row, colspan, rowspan, EINA_FALSE);
return _pack_at(obj, pd, subobj, col, row, colspan, rowspan, EINA_FALSE);
}
EOLIAN static Eina_Bool
_efl_ui_grid_efl_pack_grid_grid_content_position_get(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, Evas_Object *subobj, int *col, int *row, int *colspan, int *rowspan)
_efl_ui_grid_efl_pack_grid_grid_position_get(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, Evas_Object *subobj, int *col, int *row, int *colspan, int *rowspan)
{
int c = -1, r = -1, cs = 0, rs = 0;
Grid_Item *gi;
@ -528,7 +515,7 @@ end:
}
EOLIAN static Efl_Gfx_Base *
_efl_ui_grid_efl_pack_grid_grid_content_at(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, int col, int row)
_efl_ui_grid_efl_pack_grid_grid_content_get(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, int col, int row)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
@ -608,20 +595,22 @@ _efl_ui_grid_efl_pack_unpack(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj
return EINA_FALSE;
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_grid_efl_pack_pack_clear(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
evas_object_table_clear(wd->resize_obj, EINA_TRUE);
return EINA_TRUE;
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_grid_efl_pack_unpack_all(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
evas_object_table_clear(wd->resize_obj, EINA_FALSE);
return EINA_TRUE;
}
EOLIAN static void
@ -696,7 +685,7 @@ _efl_ui_grid_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *
}
EOLIAN static Eina_Iterator *
_efl_ui_grid_efl_pack_grid_grid_content_iterate(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED,
_efl_ui_grid_efl_pack_grid_grid_contents_get(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED,
int col, int row, Eina_Bool below)
{
Eina_List *list, *atlist = NULL;
@ -724,7 +713,7 @@ _efl_ui_grid_efl_pack_grid_grid_content_iterate(Eo *obj, Efl_Ui_Grid_Data *pd EI
}
EOLIAN static void
_efl_ui_grid_efl_pack_linear_direction_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Orient orient)
_efl_ui_grid_efl_pack_linear_pack_direction_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Orient orient)
{
EINA_SAFETY_ON_FALSE_RETURN((orient % 90) == 0);
@ -744,13 +733,13 @@ _efl_ui_grid_efl_pack_linear_direction_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Or
}
EOLIAN static Efl_Orient
_efl_ui_grid_efl_pack_linear_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *pd)
_efl_ui_grid_efl_pack_linear_pack_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *pd)
{
return pd->dir1;
}
EOLIAN static void
_efl_ui_grid_efl_pack_grid_directions_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Orient primary, Efl_Orient secondary)
_efl_ui_grid_efl_pack_grid_grid_directions_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Orient primary, Efl_Orient secondary)
{
EINA_SAFETY_ON_FALSE_RETURN((primary % 90) == 0);
EINA_SAFETY_ON_FALSE_RETURN((secondary % 90) == 0);
@ -778,7 +767,7 @@ _efl_ui_grid_efl_pack_grid_directions_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Ori
}
EOLIAN static void
_efl_ui_grid_efl_pack_grid_directions_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *pd, Efl_Orient *primary, Efl_Orient *secondary)
_efl_ui_grid_efl_pack_grid_grid_directions_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *pd, Efl_Orient *primary, Efl_Orient *secondary)
{
if (primary) *primary = pd->dir1;
if (secondary) *secondary = pd->dir2;
@ -845,17 +834,17 @@ _efl_ui_grid_efl_pack_grid_grid_rows_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *
return pd->req_rows;
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_grid_efl_pack_pack(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj)
{
/* this is just an alias */
efl_pack_end(obj, subobj);
return efl_pack_end(obj, subobj);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_grid_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj)
{
EINA_SAFETY_ON_NULL_RETURN(subobj);
EINA_SAFETY_ON_NULL_RETURN_VAL(subobj, EINA_FALSE);
int col = pd->last_col;
int row = pd->last_row;
@ -885,7 +874,7 @@ _efl_ui_grid_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Bas
pd->last_row = row;
DBG("packing new obj at %d,%d", col, row);
_pack_at(obj, pd, subobj, col, row, 1, 1, EINA_TRUE);
return _pack_at(obj, pd, subobj, col, row, 1, 1, EINA_TRUE);
}
#include "efl_ui_grid.eo.c"

View File

@ -26,21 +26,20 @@ class Efl.Ui.Grid (Elm.Widget, Efl.Pack_Grid, Efl.Pack_Layout)
Efl.Pack.pack_padding.get;
Efl.Pack.pack_padding.set;
Efl.Pack_Grid.pack_grid;
Efl.Pack_Grid.grid_content_at;
Efl.Pack_Grid.grid_content_iterate;
Efl.Pack_Grid.grid_content_position.set;
Efl.Pack_Grid.grid_content_position.get;
Efl.Pack_Grid.grid_content_get;
Efl.Pack_Grid.grid_contents_get;
Efl.Pack_Grid.grid_position.get;
Efl.Pack_Grid.grid_size.set;
Efl.Pack_Grid.grid_size.get;
Efl.Pack_Grid.grid_columns.set;
Efl.Pack_Grid.grid_columns.get;
Efl.Pack_Grid.grid_rows.set;
Efl.Pack_Grid.grid_rows.get;
Efl.Pack_Grid.directions.set;
Efl.Pack_Grid.directions.get;
Efl.Pack_Grid.grid_directions.set;
Efl.Pack_Grid.grid_directions.get;
Efl.Pack_Linear.pack_end;
Efl.Pack_Linear.direction.set;
Efl.Pack_Linear.direction.get;
Efl.Pack_Linear.pack_direction.set;
Efl.Pack_Linear.pack_direction.get;
// Custom layouts
Efl.Pack_Layout.layout_update;

View File

@ -31,10 +31,10 @@ class Efl.Ui.Layout_Internal.Box (Eo.Base, Efl.Pack_Linear)
Efl.Pack_Linear.pack_end;
Efl.Pack_Linear.pack_before;
Efl.Pack_Linear.pack_after;
Efl.Pack_Linear.pack_insert;
Efl.Pack_Linear.content_at.get;
Efl.Pack_Linear.content_at_remove;
Efl.Pack_Linear.content_index.get;
Efl.Pack_Linear.direction.get;
Efl.Pack_Linear.pack_at;
Efl.Pack_Linear.pack_content_get;
Efl.Pack_Linear.pack_unpack_at;
Efl.Pack_Linear.pack_index_get;
Efl.Pack_Linear.pack_direction.get;
}
}

View File

@ -27,9 +27,9 @@ class Efl.Ui.Layout_Internal.Table (Eo.Base, Efl.Pack_Grid)
Efl.Pack.unpack_all;
Efl.Pack.unpack;
Efl.Pack_Grid.pack_grid;
Efl.Pack_Grid.grid_content_at;
Efl.Pack_Grid.grid_content_iterate;
Efl.Pack_Grid.grid_content_position.get;
Efl.Pack_Grid.grid_content_get;
Efl.Pack_Grid.grid_contents_get;
Efl.Pack_Grid.grid_position.get;
Efl.Pack_Grid.grid_size.get;
Efl.Pack_Grid.grid_columns.get;
Efl.Pack_Grid.grid_rows.get;

View File

@ -1942,7 +1942,7 @@ elm_layout_box_insert_at(Elm_Layout *obj, const char *part, Evas_Object *child,
{
Eo *box = efl_content_get(obj, part);
if (!box) return EINA_FALSE;
efl_pack_insert(box, child, pos);
efl_pack_at(box, child, pos);
return EINA_TRUE;
}

View File

@ -167,16 +167,16 @@ _efl_ui_layout_internal_box_efl_container_content_remove(Eo *obj, Efl_Ui_Layout_
return efl_pack_unpack(obj, content);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_layout_internal_box_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd)
{
_elm_layout_box_remove_all(pd->obj, pd->sd, pd->part, EINA_TRUE);
return _elm_layout_box_remove_all(pd->obj, pd->sd, pd->part, EINA_TRUE);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_layout_internal_box_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd)
{
_elm_layout_box_remove_all(pd->obj, pd->sd, pd->part, EINA_FALSE);
return _elm_layout_box_remove_all(pd->obj, pd->sd, pd->part, EINA_FALSE);
}
EOLIAN static Eina_Bool
@ -185,22 +185,22 @@ _efl_ui_layout_internal_box_efl_pack_unpack(Eo *obj EINA_UNUSED, Efl_Ui_Layout_B
return _elm_layout_box_remove(pd->obj, pd->sd, pd->part, subobj) != NULL;
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_layout_internal_box_efl_pack_pack(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj)
{
_elm_layout_box_append(pd->obj, pd->sd, pd->part, subobj);
return _elm_layout_box_append(pd->obj, pd->sd, pd->part, subobj);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_layout_internal_box_efl_pack_linear_pack_begin(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj)
{
_elm_layout_box_prepend(pd->obj, pd->sd, pd->part, subobj);
return _elm_layout_box_prepend(pd->obj, pd->sd, pd->part, subobj);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_layout_internal_box_efl_pack_linear_pack_end(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj)
{
_elm_layout_box_append(pd->obj, pd->sd, pd->part, subobj);
return _elm_layout_box_append(pd->obj, pd->sd, pd->part, subobj);
}
EOLIAN static Eina_Bool
@ -215,10 +215,10 @@ _efl_ui_layout_internal_box_efl_pack_linear_pack_after(Eo *obj EINA_UNUSED, Efl_
const Efl_Gfx_Base *other;
int index;
index = efl_pack_content_index_get(pd->pack, (Efl_Gfx_Base *) existing);
index = efl_pack_index_get(pd->pack, existing);
if (index < 0) return EINA_FALSE;
other = efl_pack_content_at_get(pd->pack, index + 1);
other = efl_pack_content_get(pd->pack, index + 1);
if (other)
return _elm_layout_box_insert_before(pd->obj, pd->sd, pd->part, subobj, other);
@ -226,14 +226,14 @@ _efl_ui_layout_internal_box_efl_pack_linear_pack_after(Eo *obj EINA_UNUSED, Efl_
return EINA_TRUE;
}
EOLIAN static void
_efl_ui_layout_internal_box_efl_pack_linear_pack_insert(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj, int index)
EOLIAN static Eina_Bool
_efl_ui_layout_internal_box_efl_pack_linear_pack_at(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj, int index)
{
_elm_layout_box_insert_at(pd->obj, pd->sd, pd->part, subobj, index);
return _elm_layout_box_insert_at(pd->obj, pd->sd, pd->part, subobj, index);
}
EOLIAN static Efl_Gfx_Base *
_efl_ui_layout_internal_box_efl_pack_linear_content_at_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, int index)
_efl_ui_layout_internal_box_efl_pack_linear_pack_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, int index)
{
Evas_Object_Box_Option *opt;
Evas_Object_Box_Data *priv;
@ -245,11 +245,11 @@ _efl_ui_layout_internal_box_efl_pack_linear_content_at_get(Eo *obj EINA_UNUSED,
}
EOLIAN static Efl_Gfx_Base *
_efl_ui_layout_internal_box_efl_pack_linear_content_at_remove(Eo *obj, Efl_Ui_Layout_Box_Data *pd, int index)
_efl_ui_layout_internal_box_efl_pack_linear_pack_unpack_at(Eo *obj, Efl_Ui_Layout_Box_Data *pd, int index)
{
Efl_Gfx_Base *subobj;
subobj = efl_pack_content_at_get(pd->pack, index);
subobj = efl_pack_content_get(pd->pack, index);
if (!subobj) return NULL;
if (efl_pack_unpack(obj, subobj))
return subobj;
@ -259,13 +259,13 @@ _efl_ui_layout_internal_box_efl_pack_linear_content_at_remove(Eo *obj, Efl_Ui_La
}
EOLIAN static int
_efl_ui_layout_internal_box_efl_pack_linear_content_index_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj)
_efl_ui_layout_internal_box_efl_pack_linear_pack_index_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, const Efl_Gfx_Base *subobj)
{
return efl_pack_content_index_get(pd->pack, subobj);
return efl_pack_index_get(pd->pack, subobj);
}
EOLIAN static Efl_Orient
_efl_ui_layout_internal_box_efl_pack_linear_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd)
_efl_ui_layout_internal_box_efl_pack_linear_pack_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_ORIENT_NONE);
@ -318,16 +318,16 @@ _efl_ui_layout_internal_table_efl_container_content_remove(Eo *obj, Efl_Ui_Layou
return efl_pack_unpack(obj, content);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_layout_internal_table_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd)
{
_elm_layout_table_clear(pd->obj, pd->sd, pd->part, EINA_TRUE);
return _elm_layout_table_clear(pd->obj, pd->sd, pd->part, EINA_TRUE);
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_layout_internal_table_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd)
{
_elm_layout_table_clear(pd->obj, pd->sd, pd->part, EINA_FALSE);
return _elm_layout_table_clear(pd->obj, pd->sd, pd->part, EINA_FALSE);
}
EOLIAN static Eina_Bool
@ -337,20 +337,20 @@ _efl_ui_layout_internal_table_efl_pack_unpack(Eo *obj EINA_UNUSED, Efl_Ui_Layout
return _elm_layout_table_unpack(pd->obj, pd->sd, pd->part, subobj) == subobj;
}
EOLIAN static void
EOLIAN static Eina_Bool
_efl_ui_layout_internal_table_efl_pack_grid_pack_grid(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Base *subobj, int col, int row, int colspan, int rowspan)
{
_elm_layout_table_pack(pd->obj, pd->sd, pd->part, subobj, col, row, colspan, rowspan);
return _elm_layout_table_pack(pd->obj, pd->sd, pd->part, subobj, col, row, colspan, rowspan);
}
EOLIAN static Efl_Gfx_Base *
_efl_ui_layout_internal_table_efl_pack_grid_grid_content_at(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int col, int row)
_efl_ui_layout_internal_table_efl_pack_grid_grid_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int col, int row)
{
return evas_object_table_child_get(pd->pack, col, row);
}
EOLIAN static Eina_Iterator *
_efl_ui_layout_internal_table_efl_pack_grid_grid_content_iterate(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int col, int row, Eina_Bool below)
_efl_ui_layout_internal_table_efl_pack_grid_grid_contents_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int col, int row, Eina_Bool below)
{
// contents at col,row - see also Efl.Ui.Grid or edje_containers.c
// not reusing edje's iterator because the container would be wrong
@ -378,7 +378,7 @@ _efl_ui_layout_internal_table_efl_pack_grid_grid_content_iterate(Eo *obj EINA_UN
}
EOLIAN static Eina_Bool
_efl_ui_layout_internal_table_efl_pack_grid_grid_content_position_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Base * subobj, int *col, int *row, int *colspan, int *rowspan)
_efl_ui_layout_internal_table_efl_pack_grid_grid_position_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Base * subobj, int *col, int *row, int *colspan, int *rowspan)
{
unsigned short c, r, cs, rs;
Eina_Bool ret;

View File

@ -4164,7 +4164,7 @@ elm_win_util_dialog_add(Evas_Object *parent, const char *name, const char *title
return win;
}
EOLIAN static void
EOLIAN static Eina_Bool
_elm_win_efl_pack_pack(Eo *obj, Elm_Win_Data *sd, Efl_Gfx_Base *subobj)
{
Eina_Bool ret;
@ -4175,7 +4175,7 @@ _elm_win_efl_pack_pack(Eo *obj, Elm_Win_Data *sd, Efl_Gfx_Base *subobj)
if (!ret)
ERR("could not add sub object %p to window %p", subobj, obj);
//return ret;
return ret;
}
EOLIAN static Eina_Bool

View File

@ -521,7 +521,7 @@ START_TEST(edje_test_box_eoapi)
efl_pack_begin(box, sobjs[1]);
efl_pack_before(box, sobjs[0], sobjs[1]);
efl_pack_after(box, sobjs[4], sobjs[3]);
efl_pack_insert(box, sobjs[2], 2);
efl_pack_at(box, sobjs[2], 2);
fail_if(efl_content_count(box) != 5);
it = efl_content_iterate(box);
@ -536,8 +536,8 @@ START_TEST(edje_test_box_eoapi)
fail_if(efl_content_count(box) != 0);
efl_pack(box, sobjs[1]);
efl_pack_insert(box, sobjs[0], 0);
efl_pack_insert(box, sobjs[2], -1);
efl_pack_at(box, sobjs[0], 0);
efl_pack_at(box, sobjs[2], -1);
it = efl_content_iterate(box);
i = 0;
EINA_ITERATOR_FOREACH(it, sobj)
@ -547,9 +547,9 @@ START_TEST(edje_test_box_eoapi)
fail_if(!efl_content_remove(box, sobjs[0]));
fail_if(efl_content_count(box) != 2);
fail_if(!efl_pack_content_at_remove(box, 1));
fail_if(!efl_pack_unpack_at(box, 1));
fail_if(efl_content_count(box) != 1);
fail_if(efl_pack_content_index_get(box, sobjs[1]) != 0);
fail_if(efl_pack_index_get(box, sobjs[1]) != 0);
efl_pack_clear(box);
fail_if(efl_content_count(box) != 0);
@ -661,7 +661,7 @@ START_TEST(edje_test_table_eoapi)
/* items have a text part "text" containing their position */
sprintf(buf, "%d,%d", k, l);
sobj = efl_pack_grid_content_at(table, k, l);
sobj = efl_pack_grid_content_get(table, k, l);
fail_if(!sobj);
//txt = efl_part_text_get(sobj, "text");
txt = edje_object_part_text_get(sobj, "text");
@ -685,7 +685,7 @@ START_TEST(edje_test_table_eoapi)
it = efl_content_iterate(table);
EINA_ITERATOR_FOREACH(it, sobj)
{
efl_pack_grid_content_position_get(table, sobj, &k, &l, &cs, &rs);
efl_pack_grid_position_get(table, sobj, &k, &l, &cs, &rs);
fail_if(cs != 1);
fail_if(rs != 1);
if (l >= 2)