forked from enlightenment/efl
efl_pack_table: rename table_position to cell_column, cell_row
Summary: Rename ambiguous `table_position` property. it is actually related to child column, row. ref T7900 Reviewers: segfaultxavi, zmike Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl_api Maniphest Tasks: T7900 Differential Revision: https://phab.enlightenment.org/D9611
This commit is contained in:
parent
4d84794f1c
commit
9c52484caf
|
@ -138,7 +138,8 @@ child_evt_cb(void *data, const Efl_Event *event)
|
|||
int col, row, colspan, rowspan;
|
||||
char buf[64];
|
||||
|
||||
efl_pack_table_position_get(event->object, it, &col, &row, &colspan, &rowspan);
|
||||
efl_pack_table_cell_column_get(event->object, it, &col, &colspan);
|
||||
efl_pack_table_cell_row_get(event->object, it, &row, &rowspan);
|
||||
if (event->desc == EFL_CONTAINER_EVENT_CONTENT_ADDED)
|
||||
sprintf(buf, "pack %d,%d %dx%d", col, row, colspan, rowspan);
|
||||
else
|
||||
|
@ -168,7 +169,8 @@ _custom_layout_update(Eo *pack, void *_pd EINA_UNUSED)
|
|||
it = efl_content_iterate(pack);
|
||||
EINA_ITERATOR_FOREACH(it, item)
|
||||
{
|
||||
if (efl_pack_table_position_get(pack, item, &c, &r, &cs, &rs))
|
||||
if (efl_pack_table_cell_column_get(pack, item, &c, &cs) &&
|
||||
efl_pack_table_cell_row_get(pack, item, &r, &rs))
|
||||
{
|
||||
Eina_Rect m;
|
||||
|
||||
|
|
|
@ -86,10 +86,8 @@ _ch_table(void *data, const Efl_Event *ev)
|
|||
Eo *table = data;
|
||||
int x, y, w, h;
|
||||
|
||||
// FIXME: old elm_table API doesn't need table object
|
||||
//elm_grid_pack_get(obj, &x, &y, &w, &h);
|
||||
//elm_grid_pack_set(obj, x - 1, y - 1, w + 2, h + 2);
|
||||
efl_pack_table_position_get(table, ev->object, &x, &y, &w, &h);
|
||||
efl_pack_table_cell_column_get(table, ev->object, &x, &w);
|
||||
efl_pack_table_cell_row_get(table, ev->object, &y, &h);
|
||||
efl_pack_table(table, ev->object, x - 1, y - 1, w + 2, h + 2);
|
||||
}
|
||||
|
||||
|
|
|
@ -95,7 +95,10 @@ EDJE_PART_INVALID_CONST(Efl_Ui_Layout_Orientation, 0, efl_ui_layout_orientation_
|
|||
EDJE_PART_INVALID(Eina_Bool, 0, efl_pack_table, _efl_canvas_layout_part_invalid_efl_pack_table_pack_table, Efl_Gfx_Entity *subobj, int col, int row, int colspan, int rowspan)
|
||||
EDJE_PART_INVALID(Efl_Gfx_Entity *, 0, efl_pack_table_content_get, _efl_canvas_layout_part_invalid_efl_pack_table_table_content_get, int col, int row)
|
||||
EDJE_PART_INVALID(Eina_Iterator *, 0, efl_pack_table_contents_get, _efl_canvas_layout_part_invalid_efl_pack_table_table_contents_get, int col, int row, Eina_Bool below)
|
||||
EDJE_PART_INVALID_CONST(Eina_Bool, 0, efl_pack_table_position_get, _efl_canvas_layout_part_invalid_efl_pack_table_table_position_get, Efl_Gfx_Entity *subobj, int *col, int *row, int *colspan, int *rowspan)
|
||||
EDJE_PART_INVALID_CONST(Eina_Bool, 0, efl_pack_table_cell_column_get, _efl_canvas_layout_part_invalid_efl_pack_table_table_cell_column_get, Efl_Gfx_Entity *subobj, int *col, int *colspan)
|
||||
EDJE_PART_INVALID_VOID(efl_pack_table_cell_column_set, _efl_canvas_layout_part_invalid_efl_pack_table_table_cell_column_set, Efl_Gfx_Entity *subobj, int col, int colspan)
|
||||
EDJE_PART_INVALID_CONST(Eina_Bool, 0, efl_pack_table_cell_row_get, _efl_canvas_layout_part_invalid_efl_pack_table_table_cell_row_get, Efl_Gfx_Entity *subobj, int *row, int *rowspan)
|
||||
EDJE_PART_INVALID_VOID(efl_pack_table_cell_row_set, _efl_canvas_layout_part_invalid_efl_pack_table_table_cell_row_set, Efl_Gfx_Entity *subobj, int row, int rowspan)
|
||||
EDJE_PART_INVALID_VOID_CONST(efl_pack_table_size_get, _efl_canvas_layout_part_invalid_efl_pack_table_table_size_get, int *cols, int *rows)
|
||||
EDJE_PART_INVALID_CONST(int, 0, efl_pack_table_columns_get, _efl_canvas_layout_part_invalid_efl_pack_table_table_columns_get)
|
||||
EDJE_PART_INVALID_CONST(int, 0, efl_pack_table_rows_get, _efl_canvas_layout_part_invalid_efl_pack_table_table_rows_get)
|
||||
|
|
|
@ -163,21 +163,53 @@ _efl_canvas_layout_part_table_efl_pack_table_table_contents_get(Eo *obj, void *_
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_canvas_layout_part_table_efl_pack_table_table_position_get(const Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx_Entity * subobj, int *col, int *row, int *colspan, int *rowspan)
|
||||
_efl_canvas_layout_part_table_efl_pack_table_table_cell_column_get(const Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx_Entity * subobj, int *col, int *colspan)
|
||||
{
|
||||
unsigned short c, r, cs, rs;
|
||||
unsigned short c, cs;
|
||||
Eina_Bool ret;
|
||||
|
||||
PROXY_DATA_GET(obj, pd);
|
||||
ret = evas_object_table_pack_get(pd->rp->object, subobj, &c, &r, &cs, &rs);
|
||||
ret = evas_object_table_pack_get(pd->rp->object, subobj, &c, NULL, &cs, NULL);
|
||||
if (col) *col = c;
|
||||
if (row) *row = r;
|
||||
if (colspan) *colspan = cs;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_layout_part_table_efl_pack_table_table_cell_column_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx_Entity * subobj, int col, int colspan)
|
||||
{
|
||||
unsigned short r, rs;
|
||||
|
||||
PROXY_DATA_GET(obj, pd);
|
||||
evas_object_table_pack_get(pd->rp->object, subobj, NULL, &r, NULL, &rs);
|
||||
evas_object_table_pack(pd->rp->object, subobj, col, r, colspan, rs);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_canvas_layout_part_table_efl_pack_table_table_cell_row_get(const Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx_Entity * subobj, int *row, int *rowspan)
|
||||
{
|
||||
unsigned short r, rs;
|
||||
Eina_Bool ret;
|
||||
|
||||
PROXY_DATA_GET(obj, pd);
|
||||
ret = evas_object_table_pack_get(pd->rp->object, subobj, NULL, &r, NULL, &rs);
|
||||
if (row) *row = r;
|
||||
if (rowspan) *rowspan = rs;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_layout_part_table_efl_pack_table_table_cell_row_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx_Entity * subobj, int row, int rowspan)
|
||||
{
|
||||
unsigned short c, cs;
|
||||
|
||||
PROXY_DATA_GET(obj, pd);
|
||||
evas_object_table_pack_get(pd->rp->object, subobj, &c, NULL, &cs, NULL);
|
||||
evas_object_table_pack(pd->rp->object, subobj, c, row, cs, rowspan);
|
||||
}
|
||||
|
||||
/* Legacy API implementation */
|
||||
|
||||
#ifdef DEGUG
|
||||
|
|
|
@ -63,7 +63,8 @@ class @beta Efl.Canvas.Layout_Part_Invalid extends Efl.Canvas.Layout_Part implem
|
|||
Efl.Pack_Table.pack_table;
|
||||
Efl.Pack_Table.table_content_get;
|
||||
Efl.Pack_Table.table_contents_get;
|
||||
Efl.Pack_Table.table_position { get; }
|
||||
Efl.Pack_Table.table_cell_column { get; set; }
|
||||
Efl.Pack_Table.table_cell_row { get; set; }
|
||||
Efl.Pack_Table.table_size { get; }
|
||||
Efl.Pack_Table.table_columns { get; }
|
||||
Efl.Pack_Table.table_rows { get; }
|
||||
|
|
|
@ -15,7 +15,8 @@ class @beta Efl.Canvas.Layout_Part_Table extends Efl.Canvas.Layout_Part implemen
|
|||
Efl.Pack_Table.pack_table;
|
||||
Efl.Pack_Table.table_content_get;
|
||||
Efl.Pack_Table.table_contents_get;
|
||||
Efl.Pack_Table.table_position { get; }
|
||||
Efl.Pack_Table.table_cell_column { get; set; }
|
||||
Efl.Pack_Table.table_cell_row { get; set; }
|
||||
Efl.Pack_Table.table_size { get; }
|
||||
Efl.Pack_Table.table_columns { get; }
|
||||
Efl.Pack_Table.table_rows { get; }
|
||||
|
|
|
@ -40,16 +40,27 @@ interface @beta Efl.Pack_Table extends Efl.Pack
|
|||
@in row: int; [[Row number]]
|
||||
}
|
||||
}
|
||||
@property table_position {
|
||||
[[Position and span of the $subobj in this container, may be modified to move the $subobj]]
|
||||
@property table_cell_column {
|
||||
[[column of the $subobj in this container.]]
|
||||
set {}
|
||||
get { return: bool; [[Returns false if item is not a child]] }
|
||||
keys {
|
||||
subobj: Efl.Gfx.Entity; [[Child object]]
|
||||
}
|
||||
values {
|
||||
col: int; [[Column number]]
|
||||
row: int; [[Row number]]
|
||||
colspan: int; [[Column span]]
|
||||
}
|
||||
}
|
||||
@property table_cell_row {
|
||||
[[row of the $subobj in this container.]]
|
||||
set {}
|
||||
get { return: bool; [[Returns false if item is not a child]] }
|
||||
keys {
|
||||
subobj: Efl.Gfx.Entity; [[Child object]]
|
||||
}
|
||||
values {
|
||||
row: int; [[Row number]]
|
||||
rowspan: int; [[Row span]]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -322,24 +322,65 @@ _efl_ui_layout_part_table_efl_pack_table_table_contents_get(Eo *obj EINA_UNUSED,
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_layout_part_table_efl_pack_table_table_position_get(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Entity * subobj, int *col, int *row, int *colspan, int *rowspan)
|
||||
_efl_ui_layout_part_table_efl_pack_table_table_cell_column_get(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Entity * subobj, int *col, int *colspan)
|
||||
{
|
||||
unsigned short c, r, cs, rs;
|
||||
unsigned short c, cs;
|
||||
Eina_Bool ret;
|
||||
|
||||
edje_object_freeze(pd->obj);
|
||||
Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
|
||||
edje_object_thaw(pd->obj);
|
||||
|
||||
ret = evas_object_table_pack_get(pack, subobj, &c, &r, &cs, &rs);
|
||||
ret = evas_object_table_pack_get(pack, subobj, &c, NULL, &cs, NULL);
|
||||
if (col) *col = c;
|
||||
if (row) *row = r;
|
||||
if (colspan) *colspan = cs;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_layout_part_table_efl_pack_table_table_cell_column_set(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Entity * subobj, int col, int colspan)
|
||||
{
|
||||
unsigned short r, rs;
|
||||
|
||||
edje_object_freeze(pd->obj);
|
||||
Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
|
||||
edje_object_thaw(pd->obj);
|
||||
|
||||
evas_object_table_pack_get(pack, subobj, NULL, &r, NULL, &rs);
|
||||
evas_object_table_pack(pack, subobj, col, r, colspan, rs);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_layout_part_table_efl_pack_table_table_cell_row_get(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Entity * subobj, int *row, int *rowspan)
|
||||
{
|
||||
unsigned short r, rs;
|
||||
Eina_Bool ret;
|
||||
|
||||
edje_object_freeze(pd->obj);
|
||||
Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
|
||||
edje_object_thaw(pd->obj);
|
||||
|
||||
ret = evas_object_table_pack_get(pack, subobj, NULL, &r, NULL, &rs);
|
||||
if (row) *row = r;
|
||||
if (rowspan) *rowspan = rs;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_layout_part_table_efl_pack_table_table_cell_row_set(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Entity * subobj, int row, int rowspan)
|
||||
{
|
||||
unsigned short c, cs;
|
||||
|
||||
edje_object_freeze(pd->obj);
|
||||
Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
|
||||
edje_object_thaw(pd->obj);
|
||||
|
||||
evas_object_table_pack_get(pack, subobj, &c, NULL, &cs, NULL);
|
||||
evas_object_table_pack(pack, subobj, c, row, cs, rowspan);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_layout_part_table_efl_pack_table_table_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int *cols, int *rows)
|
||||
{
|
||||
|
|
|
@ -27,7 +27,8 @@ class @beta Efl.Ui.Layout_Part_Table extends Efl.Object implements Efl.Pack_Tabl
|
|||
Efl.Pack_Table.pack_table;
|
||||
Efl.Pack_Table.table_content_get;
|
||||
Efl.Pack_Table.table_contents_get;
|
||||
Efl.Pack_Table.table_position { get; }
|
||||
Efl.Pack_Table.table_cell_column { get; set; }
|
||||
Efl.Pack_Table.table_cell_row { get; set; }
|
||||
Efl.Pack_Table.table_size { get; }
|
||||
Efl.Pack_Table.table_columns { get; }
|
||||
Efl.Pack_Table.table_rows { get; }
|
||||
|
|
|
@ -383,9 +383,9 @@ _efl_ui_table_efl_pack_table_pack_table(Eo *obj, Efl_Ui_Table_Data *pd,
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_table_efl_pack_table_table_position_get(const Eo *obj, Efl_Ui_Table_Data *pd, Evas_Object *subobj, int *col, int *row, int *colspan, int *rowspan)
|
||||
_efl_ui_table_efl_pack_table_table_cell_column_get(const Eo *obj, Efl_Ui_Table_Data *pd, Evas_Object *subobj, int *col, int *colspan)
|
||||
{
|
||||
int c = -1, r = -1, cs = 0, rs = 0;
|
||||
int c = -1, cs = 0;
|
||||
Table_Item *gi;
|
||||
Eina_Bool ret = EINA_FALSE;
|
||||
|
||||
|
@ -393,19 +393,101 @@ _efl_ui_table_efl_pack_table_table_position_get(const Eo *obj, Efl_Ui_Table_Data
|
|||
if (gi)
|
||||
{
|
||||
c = gi->col;
|
||||
r = gi->row;
|
||||
cs = gi->col_span;
|
||||
rs = gi->row_span;
|
||||
ret = EINA_TRUE;
|
||||
}
|
||||
|
||||
if (col) *col = c;
|
||||
if (row) *row = r;
|
||||
if (colspan) *colspan = cs;
|
||||
return ret;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_table_efl_pack_table_table_cell_column_set(Eo *obj, Efl_Ui_Table_Data *pd, Evas_Object *subobj, int col, int colspan)
|
||||
{
|
||||
Table_Item *gi;
|
||||
|
||||
gi = _efl_ui_table_item_date_get((Eo *)obj, pd, subobj);
|
||||
if (!gi)
|
||||
return;
|
||||
|
||||
if (col < 0) col = 0;
|
||||
if (colspan < 1) colspan = 1;
|
||||
|
||||
if (((int64_t) col + (int64_t) colspan) > (int64_t) INT_MAX)
|
||||
colspan = INT_MAX - col;
|
||||
|
||||
if (pd->req_cols && ((col + colspan) > pd->req_cols))
|
||||
{
|
||||
ERR("table requested size exceeded! packing in extra cell at "
|
||||
"%d+%d (table cols: %d)", col, colspan, pd->req_cols);
|
||||
}
|
||||
|
||||
gi->col = col;
|
||||
gi->col_span = colspan;
|
||||
|
||||
if (gi->col > pd->last_col)
|
||||
pd->linear_recalc = EINA_TRUE;
|
||||
|
||||
if (pd->cols < gi->col + gi->col_span)
|
||||
pd->cols = gi->col + gi->col_span;
|
||||
|
||||
efl_pack_layout_request(obj);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_table_efl_pack_table_table_cell_row_get(const Eo *obj, Efl_Ui_Table_Data *pd, Evas_Object *subobj, int *row, int *rowspan)
|
||||
{
|
||||
int r = -1, rs = 0;
|
||||
Table_Item *gi;
|
||||
Eina_Bool ret = EINA_FALSE;
|
||||
|
||||
gi = _efl_ui_table_item_date_get((Eo *)obj, pd, subobj);
|
||||
if (gi)
|
||||
{
|
||||
r = gi->row;
|
||||
rs = gi->row_span;
|
||||
ret = EINA_TRUE;
|
||||
}
|
||||
|
||||
if (row) *row = r;
|
||||
if (rowspan) *rowspan = rs;
|
||||
return ret;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_table_efl_pack_table_table_cell_row_set(Eo *obj, Efl_Ui_Table_Data *pd, Evas_Object *subobj, int row, int rowspan)
|
||||
{
|
||||
Table_Item *gi;
|
||||
|
||||
gi = _efl_ui_table_item_date_get((Eo *)obj, pd, subobj);
|
||||
if (!gi)
|
||||
return;
|
||||
|
||||
if (row < 0) row = 0;
|
||||
if (rowspan < 1) rowspan = 1;
|
||||
|
||||
if (((int64_t) row + (int64_t) rowspan) > (int64_t) INT_MAX)
|
||||
rowspan = INT_MAX - row;
|
||||
|
||||
if (pd->req_rows && ((row + rowspan) > pd->req_rows))
|
||||
{
|
||||
ERR("table requested size exceeded! packing in extra cell at "
|
||||
"%d+%d (table rows: %d)", row, rowspan, pd->req_rows);
|
||||
}
|
||||
|
||||
gi->row = row;
|
||||
gi->row_span = rowspan;
|
||||
|
||||
if (gi->row > pd->last_row)
|
||||
pd->linear_recalc = EINA_TRUE;
|
||||
|
||||
if (pd->rows < gi->row + gi->row_span)
|
||||
pd->rows = gi->row + gi->row_span;
|
||||
|
||||
efl_pack_layout_request(obj);
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Gfx_Entity *
|
||||
_efl_ui_table_efl_pack_table_table_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Table_Data *pd, int col, int row)
|
||||
{
|
||||
|
|
|
@ -47,7 +47,8 @@ class Efl.Ui.Table extends Efl.Ui.Widget implements Efl.Pack_Table, Efl.Pack_Lay
|
|||
Efl.Pack_Table.pack_table;
|
||||
Efl.Pack_Table.table_content_get;
|
||||
Efl.Pack_Table.table_contents_get;
|
||||
Efl.Pack_Table.table_position { get; }
|
||||
Efl.Pack_Table.table_cell_column { get; set; }
|
||||
Efl.Pack_Table.table_cell_row { get; set; }
|
||||
Efl.Pack_Table.table_size { get; set; }
|
||||
Efl.Pack_Table.table_columns { get; set; }
|
||||
Efl.Pack_Table.table_rows { get; set; }
|
||||
|
|
|
@ -236,7 +236,8 @@ EFL_START_TEST(edje_test_table_eoapi)
|
|||
it = efl_content_iterate(efl_part(obj, "table"));
|
||||
EINA_ITERATOR_FOREACH(it, sobj)
|
||||
{
|
||||
efl_pack_table_position_get(efl_part(obj, "table"), sobj, &k, &l, &cs, &rs);
|
||||
efl_pack_table_cell_column_get(efl_part(obj, "table"), sobj, &k, &cs);
|
||||
efl_pack_table_cell_column_get(efl_part(obj, "table"), sobj, &l, &rs);
|
||||
fail_if(cs != 1);
|
||||
fail_if(rs != 1);
|
||||
if (l >= 2)
|
||||
|
|
Loading…
Reference in New Issue