Enlightenment CVS committal Author : rbdpngn Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_box.c ewl_cell.c ewl_combo.c ewl_container.c ewl_container.h ewl_freebox.c ewl_grid.c ewl_menu_base.c ewl_overlay.c ewl_paned.c ewl_row.c ewl_table.c ewl_tree.c ewl_window.c Log Message: Use a dlist for tracking children in order to prevent O(n^2) walks when callbacks could change the position in the list. Fix recursive behavior between ewl_widget_parent_set and ewl_container_child_remove to prevent excessive list walking. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_box.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- ewl_box.c 3 Feb 2006 21:38:28 -0000 1.23 +++ ewl_box.c 16 Feb 2006 21:52:42 -0000 1.24 @@ -238,8 +238,8 @@ ewl_object_preferred_inner_size_set(EWL_OBJECT(b), 0, 0); c = EWL_CONTAINER(b); - ecore_list_goto_first(c->children); - while((child = ecore_list_next(c->children))) + ecore_dlist_goto_first(c->children); + while((child = ecore_dlist_next(c->children))) ewl_box_child_show_cb(c, child); ewl_widget_configure(EWL_WIDGET(b)); @@ -328,7 +328,7 @@ w = EWL_WIDGET(b); - nodes = ecore_list_nodes(EWL_CONTAINER(b)->children); + nodes = ecore_dlist_nodes(EWL_CONTAINER(b)->children); if (nodes) { nodes--; @@ -381,7 +381,7 @@ /* * Catch the easy case, and return. */ - if (ecore_list_is_empty(EWL_CONTAINER(w)->children)) + if (ecore_dlist_is_empty(EWL_CONTAINER(w)->children)) DRETURN(DLEVEL_STABLE); /* @@ -450,12 +450,12 @@ DCHECK_PARAM_PTR("w", w); DCHECK_TYPE("w", w, EWL_WIDGET_TYPE); - if (ecore_list_is_empty(EWL_CONTAINER(w)->children)) + if (ecore_dlist_is_empty(EWL_CONTAINER(w)->children)) DRETURN(DLEVEL_STABLE); num = 0; - ecore_list_goto_first(EWL_CONTAINER(w)->children); - while ((child = ecore_list_next(EWL_CONTAINER(w)->children))) { + ecore_dlist_goto_first(EWL_CONTAINER(w)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(w)->children))) { if (VISIBLE(child)) num++; } @@ -490,8 +490,8 @@ *fill_size = *fill_size / num; i = 0; - ecore_list_goto_first(EWL_CONTAINER(w)->children); - while ((child = ecore_list_next(EWL_CONTAINER(w)->children))) { + ecore_dlist_goto_first(EWL_CONTAINER(w)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(w)->children))) { if (VISIBLE(child)) { i++; if (i == num) @@ -517,14 +517,14 @@ DCHECK_PARAM_PTR("b", b); DCHECK_TYPE("b", b, EWL_BOX_TYPE); - initial = *fill_size / ecore_list_nodes(EWL_CONTAINER(b)->children); + initial = *fill_size / ecore_dlist_nodes(EWL_CONTAINER(b)->children); /* * Sort the children into lists dependant on their alignment within the * box. */ - ecore_list_goto_first(EWL_CONTAINER(b)->children); - while ((child = ecore_list_next(EWL_CONTAINER(b)->children))) { + ecore_dlist_goto_first(EWL_CONTAINER(b)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(b)->children))) { int change; /* @@ -560,7 +560,7 @@ policy = ewl_object_fill_policy_get(child); policy &= ewl_box_info->f_policy; if (policy || change == initial) - ecore_list_append(ewl_box_spread, child); + ecore_dlist_append(ewl_box_spread, child); } } @@ -585,8 +585,8 @@ * Calculate the space to give per child. Safeguard against divide by * zero. */ - space = (ecore_list_is_empty(ewl_box_spread) ? 0 : - *fill_size / ecore_list_nodes(ewl_box_spread)); + space = (ecore_dlist_is_empty(ewl_box_spread) ? 0 : + *fill_size / ecore_dlist_nodes(ewl_box_spread)); /* * As long as children keep accepting more space, we should loop @@ -695,8 +695,8 @@ /* * Configure the widgets on the first list. */ - ecore_list_goto_first(EWL_CONTAINER(b)->children); - while ((child = ecore_list_next(EWL_CONTAINER(b)->children))) { + ecore_dlist_goto_first(EWL_CONTAINER(b)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(b)->children))) { if (VISIBLE(child)) { @@ -770,7 +770,7 @@ DCHECK_TYPE("c", c, EWL_CONTAINER_TYPE); DCHECK_TYPE("w", w, EWL_WIDGET_TYPE); - if (ecore_list_nodes(c->children) > 1) + if (ecore_dlist_nodes(c->children) > 1) space = EWL_BOX(c)->spacing; /* @@ -814,7 +814,7 @@ DCHECK_PARAM_PTR("c", c); DCHECK_TYPE("c", c, EWL_CONTAINER_TYPE); - numc = ecore_list_nodes(c->children); + numc = ecore_dlist_nodes(c->children); numc--; if (numc) space = EWL_BOX(c)->spacing; @@ -845,7 +845,7 @@ DCHECK_TYPE("c", c, EWL_CONTAINER_TYPE); DCHECK_TYPE("w", w, EWL_WIDGET_TYPE); - if (ecore_list_nodes(c->children) > 1) + if (ecore_dlist_nodes(c->children) > 1) space = b->spacing; if (b->orientation == EWL_ORIENTATION_HORIZONTAL) { =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_cell.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ewl_cell.c 12 Jan 2006 18:21:18 -0000 1.9 +++ ewl_cell.c 16 Feb 2006 21:52:42 -0000 1.10 @@ -72,7 +72,7 @@ c = EWL_CONTAINER(w); - child = ecore_list_goto_first(c->children); + child = ecore_dlist_goto_first(c->children); if (child) ewl_object_place(child, CURRENT_X(w), CURRENT_Y(w), CURRENT_W(w), CURRENT_H(w)); @@ -95,8 +95,8 @@ * Cell's only allow one child, so remove the rest, this may cause a * leak, but they should know better. */ - ecore_list_goto_first(c->children); - while ((child = ecore_list_next(c->children))) { + ecore_dlist_goto_first(c->children); + while ((child = ecore_dlist_next(c->children))) { if (child != w) ewl_container_child_remove(c, child); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_combo.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- ewl_combo.c 12 Jan 2006 18:21:18 -0000 1.13 +++ ewl_combo.c 16 Feb 2006 21:52:42 -0000 1.14 @@ -266,13 +266,13 @@ ewl_callback_append(combo->button, EWL_CALLBACK_MOUSE_DOWN, ewl_combo_collapse_cb, combo); - ecore_list_goto_first(pb->children); + ecore_dlist_goto_first(pb->children); /* * Set all of the items in this menu a callback to set the currently selected * widget */ - while ((child = ecore_list_next(pb->children))) { + while ((child = ecore_dlist_next(pb->children))) { ewl_callback_del(child, EWL_CALLBACK_FOCUS_IN, ewl_combo_item_focus_in_cb); ewl_callback_append(child, EWL_CALLBACK_FOCUS_IN, ewl_combo_item_focus_in_cb, combo); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_container.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- ewl_container.c 15 Feb 2006 21:25:01 -0000 1.35 +++ ewl_container.c 16 Feb 2006 21:52:42 -0000 1.36 @@ -39,7 +39,7 @@ /* * Initialize the fields specific to the container class. */ - c->children = ecore_list_new(); + c->children = ecore_dlist_new(); /* * All containers need to perform the function of updating the @@ -191,7 +191,7 @@ while (pc->redirect) pc = pc->redirect; - ecore_list_append(pc->children, child); + ecore_dlist_append(pc->children, child); ewl_widget_parent_set(child, EWL_WIDGET(pc)); ewl_container_child_add_call(pc, child); @@ -226,7 +226,7 @@ while (pc->redirect) pc = pc->redirect; - ecore_list_prepend(pc->children, child); + ecore_dlist_prepend(pc->children, child); ewl_widget_parent_set(child, EWL_WIDGET(pc)); ewl_container_child_add_call(pc, child); @@ -260,22 +260,22 @@ pc = pc->redirect; /* find our insertion point */ - ecore_list_goto_first(pc->children); - while ((cur = ecore_list_current(pc->children))) + ecore_dlist_goto_first(pc->children); + while ((cur = ecore_dlist_current(pc->children))) { if (skip_internal && ewl_widget_internal_is(cur)) { - ecore_list_next(pc->children); + ecore_dlist_next(pc->children); continue; } if (idx == index) break; idx++; - ecore_list_next(pc->children); + ecore_dlist_next(pc->children); } - ecore_list_insert(pc->children, child); + ecore_dlist_insert(pc->children, child); ewl_widget_parent_set(child, EWL_WIDGET(pc)); ewl_container_child_add_call(pc, child); @@ -360,19 +360,24 @@ pc = pc->redirect; } + if (!pc->children) + DRETURN(DLEVEL_STABLE); + /* * First remove reference to the parent if necessary. + * Bail out after setting the parent as that will get us back here + * with a NULL parent on the widget. + * */ - if (EWL_CONTAINER(child->parent) == pc) + if (EWL_CONTAINER(child->parent) == pc) { ewl_widget_parent_set(child, NULL); - - if (!pc->children) DRETURN(DLEVEL_STABLE); + } /* * Traverse the list to the child. */ - temp = ecore_list_goto(pc->children, child); + temp = ecore_dlist_goto(pc->children, child); /* * If the child isn't found, then this isn't it's parent. @@ -382,12 +387,12 @@ } /* get the index of the widget we are removing */ - idx = ecore_list_index(pc->children); + idx = ecore_dlist_index(pc->children); /* * Remove the child from the parent and set the childs parent to NULL */ - ecore_list_remove(pc->children); + ecore_dlist_remove(pc->children); if (VISIBLE(child) && REALIZED(child)) ewl_container_child_hide_call(pc, child); ewl_container_child_remove_call(pc, child, idx); @@ -414,8 +419,8 @@ container = c; while (container->redirect) container = container->redirect; - ecore_list_goto_first(container->children); - while ((child = ecore_list_next(container->children))) + ecore_dlist_goto_first(container->children); + while ((child = ecore_dlist_next(container->children))) { if (skip && ewl_widget_internal_is(child)) continue; count++; @@ -477,9 +482,9 @@ container = parent; while (container->redirect) container = container->redirect; - ecore_list_goto_first(container->children); + ecore_dlist_goto_first(container->children); - while ((child = ecore_list_next(container->children))) { + while ((child = ecore_dlist_next(container->children))) { if (skip && ewl_widget_internal_is(child)) continue; if (count == index) break; count ++; @@ -547,8 +552,8 @@ container = parent; while (container->redirect) container = container->redirect; - ecore_list_goto_first(container->children); - while ((child = ecore_list_next(container->children))) { + ecore_dlist_goto_first(container->children); + while ((child = ecore_dlist_next(container->children))) { if (skip && ewl_widget_internal_is(child)) continue; if (child == w) break; idx ++; @@ -685,15 +690,15 @@ DCHECK_PARAM_PTR_RET("widget", widget, NULL); DCHECK_TYPE("widget", widget, EWL_WIDGET_TYPE); - if (!widget->children || ecore_list_is_empty(widget->children)) + if (!widget->children || ecore_dlist_is_empty(widget->children)) DRETURN_PTR(NULL, DLEVEL_STABLE); - ecore_list_goto_first(widget->children); + ecore_dlist_goto_first(widget->children); /* * Search through the children to find an intersecting child. */ - while ((child = ecore_list_next(EWL_CONTAINER(widget)->children))) { + while ((child = ecore_dlist_next(EWL_CONTAINER(widget)->children))) { if (x >= (CURRENT_X(child) - INSET_LEFT(child)) && y >= (CURRENT_Y(child) - INSET_TOP(child)) && (CURRENT_X(child) + CURRENT_W(child) + @@ -729,7 +734,7 @@ DCHECK_PARAM_PTR_RET("widget", widget, NULL); DCHECK_TYPE_RET("widget", widget, EWL_WIDGET_TYPE, NULL); - if (!widget->children || ecore_list_is_empty(widget->children)) + if (!widget->children || ecore_dlist_is_empty(widget->children)) DRETURN_PTR(NULL, DLEVEL_STABLE); /* @@ -785,8 +790,8 @@ /* * Loop through removing each child and destroying it. */ - ecore_list_goto_first(c->children); - while ((w = ecore_list_current(c->children))) { + ecore_dlist_goto_first(c->children); + while ((w = ecore_dlist_current(c->children))) { if (!ewl_object_flags_has(EWL_OBJECT(w), EWL_FLAG_PROPERTY_INTERNAL, EWL_FLAGS_PROPERTY_MASK)) { @@ -796,10 +801,10 @@ * Start over in case the list was modified from a * callback. */ - ecore_list_goto_first(c->children); + ecore_dlist_goto_first(c->children); } else - ecore_list_next(c->children); + ecore_dlist_next(c->children); } DLEAVE_FUNCTION(DLEVEL_STABLE); @@ -825,7 +830,7 @@ while (c->redirect) c = c->redirect; - ecore_list_goto_first(c->children); + ecore_dlist_goto_first(c->children); DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -851,7 +856,7 @@ w = c->iterator(c); } else { - while ((w = ecore_list_next(c->children)) && + while ((w = ecore_dlist_next(c->children)) && (ewl_widget_internal_is(w))); } @@ -972,8 +977,8 @@ set_size = ewl_object_preferred_inner_h_set; } - ecore_list_goto_first(c->children); - while ((child = ecore_list_next(c->children))) { + ecore_dlist_goto_first(c->children); + while ((child = ecore_dlist_next(c->children))) { if (VISIBLE(child) && REALIZED(child)) { curr_size = get_size(child); if (curr_size > max_size) @@ -1013,8 +1018,8 @@ set_size = ewl_object_preferred_inner_h_set; } - ecore_list_goto_first(c->children); - while ((child = ecore_list_next(c->children))) { + ecore_dlist_goto_first(c->children); + while ((child = ecore_dlist_next(c->children))) { if (VISIBLE(child) && REALIZED(child)) curr_size += get_size(child); } @@ -1155,14 +1160,14 @@ * Destroy any children still in the container. Do not remove * in order to avoid list walking. */ - while ((child = ecore_list_goto_first(c->children))) { + while ((child = ecore_dlist_goto_first(c->children))) { ewl_widget_destroy(child); } /* * Destroy the container list and set it to NULL. */ - ecore_list_destroy(c->children); + ecore_dlist_destroy(c->children); c->children = NULL; } @@ -1251,8 +1256,8 @@ /* * Reparent all of the containers children */ - ecore_list_goto_first(EWL_CONTAINER(w)->children); - while ((child = ecore_list_next(EWL_CONTAINER(w)->children)) != NULL) { + ecore_dlist_goto_first(EWL_CONTAINER(w)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(w)->children)) != NULL) { ewl_widget_reparent(child); } @@ -1286,8 +1291,8 @@ * obscured. */ if (c->children) { - ecore_list_goto_first(c->children); - while ((w = ecore_list_next(c->children))) { + ecore_dlist_goto_first(c->children); + while ((w = ecore_dlist_next(c->children))) { if (REALIZED(w)) ewl_widget_obscure(w); } @@ -1356,7 +1361,7 @@ c = EWL_CONTAINER(w); - if (!c->children || ecore_list_is_empty(c->children)) + if (!c->children || ecore_dlist_is_empty(c->children)) DRETURN(DLEVEL_STABLE); /* @@ -1365,7 +1370,7 @@ * to update it's evas related fields to the new information, and then * realize any of them that should be visible. */ - while ((child = ecore_list_goto_index(c->children, i))) { + while ((child = ecore_dlist_goto_index(c->children, i))) { ewl_callback_call_with_event_data(child, EWL_CALLBACK_REPARENT, c); if (VISIBLE(child)) @@ -1424,8 +1429,8 @@ * exist at this point. Is this legitimate ordering? */ if (c->children) { - ecore_list_goto_first(c->children); - while ((child = ecore_list_next(c->children))) { + ecore_dlist_goto_first(c->children); + while ((child = ecore_dlist_next(c->children))) { ewl_widget_unrealize(child); } } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_container.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- ewl_container.h 16 Feb 2006 17:06:43 -0000 1.18 +++ ewl_container.h 16 Feb 2006 21:52:42 -0000 1.19 @@ -75,7 +75,7 @@ { Ewl_Widget widget; /**< Inherit the basics of the widget. */ - Ecore_List *children; /**< List of children that are contained. */ + Ecore_DList *children; /**< List of children that are contained. */ Evas_Object *clip_box; /**< Clip box to bound widgets inside. */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_freebox.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ewl_freebox.c 12 Jan 2006 18:21:18 -0000 1.6 +++ ewl_freebox.c 16 Feb 2006 21:52:42 -0000 1.7 @@ -257,8 +257,8 @@ cur_x = base_x; c = EWL_CONTAINER(fb); - ecore_list_goto_first(c->children); - while ((child = ecore_list_next(c->children))) + ecore_dlist_goto_first(c->children); + while ((child = ecore_dlist_next(c->children))) { int child_h, child_w; @@ -332,14 +332,14 @@ ewl_container_child_count_get(EWL_CONTAINER(fb))); /* stick it all in the heap */ - while ((child = ecore_list_remove_first(c->children))) + while ((child = ecore_dlist_remove_first(c->children))) ecore_sheap_insert(sheap, child); ecore_sheap_sort(sheap); /* pull it from the heap and stick back into the container */ while ((child = ecore_sheap_extract(sheap))) - ecore_list_append(c->children, child); + ecore_dlist_append(c->children, child); ecore_sheap_destroy(sheap); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_grid.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- ewl_grid.c 9 Feb 2006 18:52:10 -0000 1.12 +++ ewl_grid.c 16 Feb 2006 21:52:42 -0000 1.13 @@ -488,8 +488,8 @@ c_x = CURRENT_X(EWL_OBJECT(w)); c_y = CURRENT_Y(EWL_OBJECT(w)); - ecore_list_goto_first(EWL_CONTAINER(w)->children); - while ((child = ecore_list_next(EWL_CONTAINER(w)->children)) != NULL) { + ecore_dlist_goto_first(EWL_CONTAINER(w)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(w)->children)) != NULL) { c = (Ewl_Grid_Child *) ewl_widget_data_get(child, (void *) g); /* calculate child widgets width */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_menu_base.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- ewl_menu_base.c 12 Jan 2006 18:21:18 -0000 1.17 +++ ewl_menu_base.c 16 Feb 2006 21:52:42 -0000 1.18 @@ -98,8 +98,8 @@ /* * Give all the items in the submenu a reference to this popup. */ - ecore_list_goto_first(pb->children); - while ((child = ecore_list_next(pb->children))) { + ecore_dlist_goto_first(pb->children); + while ((child = ecore_dlist_next(pb->children))) { if (ewl_widget_type_is(child, "menu_item")) { item = EWL_MENU_ITEM(child); item->inmenu = menu->popup; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_overlay.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- ewl_overlay.c 24 Jan 2006 22:13:00 -0000 1.13 +++ ewl_overlay.c 16 Feb 2006 21:52:42 -0000 1.14 @@ -80,8 +80,8 @@ /* * Configure each of the child widgets. */ - ecore_list_goto_first(EWL_CONTAINER(w)->children); - while ((child = ecore_list_next(EWL_CONTAINER(w)->children))) { + ecore_dlist_goto_first(EWL_CONTAINER(w)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(w)->children))) { int width, height; /* * Try to give the child the full size of the overlay from it's @@ -141,8 +141,8 @@ child = EWL_OBJECT(w); overlay = EWL_OVERLAY(c); - ecore_list_goto_first(EWL_CONTAINER(overlay)->children); - while ((child = ecore_list_next(EWL_CONTAINER(overlay)->children))) { + ecore_dlist_goto_first(EWL_CONTAINER(overlay)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(overlay)->children))) { int cs; /* =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_paned.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- ewl_paned.c 16 Feb 2006 02:15:54 -0000 1.20 +++ ewl_paned.c 16 Feb 2006 21:52:42 -0000 1.21 @@ -132,8 +132,8 @@ if (p->orientation == o) DRETURN(DLEVEL_STABLE); - ecore_list_goto_first(EWL_CONTAINER(p)->children); - while ((child = ecore_list_next(EWL_CONTAINER(p)->children))) + ecore_dlist_goto_first(EWL_CONTAINER(p)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(p)->children))) { /* Update each internal child to have the correct * appearance/orientation. XXX This assumes that all @@ -211,14 +211,14 @@ DCHECK_TYPE("w", w, EWL_WIDGET_TYPE); /* check first widget */ - child = ecore_list_goto_first(c->children); + child = ecore_dlist_goto_first(c->children); /* if there are no children remaining in the container we're done */ if (!child) DRETURN(DLEVEL_STABLE); /* try to find the node to remove */ - while ((child = ecore_list_current(c->children))) + while ((child = ecore_dlist_current(c->children))) { if (ewl_widget_internal_is(child)) { @@ -226,7 +226,7 @@ * remove one of them */ if (prev) { - ecore_list_remove(c->children); + ecore_dlist_remove(c->children); last = NULL; break; } @@ -237,14 +237,14 @@ prev = NULL; last = child; - ecore_list_next(c->children); + ecore_dlist_next(c->children); } /* the last widget was internal we need to remove it */ if (last && ewl_widget_internal_is(last)) { - ecore_list_goto(c->children, last); - ecore_list_remove(c->children); + ecore_dlist_goto(c->children, last); + ecore_dlist_remove(c->children); } DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -297,8 +297,8 @@ DRETURN(DLEVEL_STABLE); /* show the grabber */ - ecore_list_goto_first(c->children); - while ((cur = ecore_list_next(c->children))) + ecore_dlist_goto_first(c->children); + while ((cur = ecore_dlist_next(c->children))) { if (cur == w) { @@ -306,7 +306,7 @@ * visible */ if (!prev || VISIBLE(prev)) { - prev = ecore_list_next(c->children); + prev = ecore_dlist_next(c->children); if (prev) ewl_widget_show(prev); } else if (prev) @@ -349,8 +349,8 @@ DRETURN(DLEVEL_STABLE); /* hide the grabber */ - ecore_list_goto_first(c->children); - while ((cur = ecore_list_next(c->children))) + ecore_dlist_goto_first(c->children); + while ((cur = ecore_dlist_next(c->children))) { if (cur == w) { @@ -358,7 +358,7 @@ * visible */ if (!prev || (!VISIBLE(prev))) { - prev = ecore_list_next(c->children); + prev = ecore_dlist_next(c->children); if (prev) ewl_widget_hide(prev); } @@ -387,13 +387,13 @@ p = EWL_PANED(w); /* the easy one */ - if (ecore_list_is_empty(EWL_CONTAINER(w)->children)) + if (ecore_dlist_is_empty(EWL_CONTAINER(w)->children)) DRETURN(DLEVEL_STABLE); /* only one widget, give entire size */ - if (ecore_list_nodes(EWL_CONTAINER(w)->children) == 1) + if (ecore_dlist_nodes(EWL_CONTAINER(w)->children) == 1) { - cur = ecore_list_goto_first(EWL_CONTAINER(w)->children); + cur = ecore_dlist_goto_first(EWL_CONTAINER(w)->children); ewl_object_place(EWL_OBJECT(cur), CURRENT_X(p), CURRENT_Y(p), CURRENT_W(p), CURRENT_H(p)); DRETURN(DLEVEL_STABLE); @@ -423,8 +423,8 @@ c = EWL_CONTAINER(p); - ecore_list_goto_first(c->children); - while ((cur = ecore_list_next(c->children))) + ecore_dlist_goto_first(c->children); + while ((cur = ecore_dlist_next(c->children))) { if (!VISIBLE(cur)) continue; @@ -454,7 +454,7 @@ pane_size = 0; skip = cur; - while ((skip = ecore_list_next(c->children))) + while ((skip = ecore_dlist_next(c->children))) { if (!VISIBLE(skip)) continue; if (!ewl_widget_internal_is(skip)) @@ -488,9 +488,9 @@ use_min = 1; } - ecore_list_goto(c->children, prev); + ecore_dlist_goto(c->children, prev); i = 0; - while ((prev = ecore_list_next(c->children))) + while ((prev = ecore_dlist_next(c->children))) { if (ewl_widget_internal_is(prev)) { @@ -572,8 +572,8 @@ c = EWL_CONTAINER(p); - ecore_list_goto_first(c->children); - while ((cur = ecore_list_next(c->children))) + ecore_dlist_goto_first(c->children); + while ((cur = ecore_dlist_next(c->children))) { if (!VISIBLE(cur)) continue; @@ -603,7 +603,7 @@ pane_size = 0; skip = cur; - while ((skip = ecore_list_next(c->children))) + while ((skip = ecore_dlist_next(c->children))) { if (!VISIBLE(skip)) continue; if (!ewl_widget_internal_is(skip)) @@ -637,9 +637,9 @@ use_min = 1; } - ecore_list_goto(c->children, prev); + ecore_dlist_goto(c->children, prev); i = 0; - while ((prev = ecore_list_next(c->children))) + while ((prev = ecore_dlist_next(c->children))) { if (ewl_widget_internal_is(prev)) { @@ -920,8 +920,8 @@ c = EWL_CONTAINER(p); - ecore_list_goto_first(c->children); - while ((cur = ecore_list_next(c->children))) + ecore_dlist_goto_first(c->children); + while ((cur = ecore_dlist_next(c->children))) { if (!ewl_widget_internal_is(cur)) { @@ -997,8 +997,8 @@ c = EWL_CONTAINER(p); - ecore_list_goto_first(c->children); - while ((cur = ecore_list_next(c->children))) + ecore_dlist_goto_first(c->children); + while ((cur = ecore_dlist_next(c->children))) { if (!ewl_widget_internal_is(cur)) { =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_row.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- ewl_row.c 12 Jan 2006 18:21:19 -0000 1.15 +++ ewl_row.c 16 Feb 2006 21:52:42 -0000 1.16 @@ -124,7 +124,7 @@ DCHECK_PARAM_PTR_RET("row", row, NULL); DCHECK_TYPE_RET("row", row, EWL_ROW_TYPE, NULL); - found = ecore_list_goto_index(EWL_CONTAINER(row)->children, n + 1); + found = ecore_dlist_goto_index(EWL_CONTAINER(row)->children, n + 1); DRETURN_PTR(found, DLEVEL_STABLE); } @@ -150,8 +150,8 @@ x = CURRENT_X(w); remains = CURRENT_W(w); - nodes = ecore_list_nodes(c->children); - ecore_list_goto_first(c->children); + nodes = ecore_dlist_nodes(c->children); + ecore_dlist_goto_first(c->children); /* * This should be the common case, a row bounded by a set of fields, @@ -178,7 +178,7 @@ * Iterate over the children and position the children. */ ewl_container_child_iterate_begin(EWL_CONTAINER(hdr)); - while ((child = ecore_list_next(c->children))) { + while ((child = ecore_dlist_next(c->children))) { align = EWL_OBJECT(ewl_container_child_next(EWL_CONTAINER(hdr))); if (align) width = ewl_object_current_x_get(align) + ewl_object_current_w_get(align) - x; @@ -205,7 +205,7 @@ */ else { int tx = x; - while ((child = ecore_list_next(c->children))) { + while ((child = ecore_dlist_next(c->children))) { int portion; /* @@ -224,9 +224,9 @@ /* Divvy up remaining space */ if (remains) { tx = x; - nodes = ecore_list_nodes(c->children); - ecore_list_goto_first(c->children); - while ((child = ecore_list_next(c->children))) { + nodes = ecore_dlist_nodes(c->children); + ecore_dlist_goto_first(c->children); + while ((child = ecore_dlist_next(c->children))) { int portion; int width = ewl_object_current_w_get(child); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_table.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- ewl_table.c 12 Jan 2006 18:21:19 -0000 1.12 +++ ewl_table.c 16 Feb 2006 21:52:42 -0000 1.13 @@ -192,8 +192,8 @@ children = EWL_CONTAINER(t->grid)->children; - ecore_list_goto_first(children); - while ((child = ecore_list_next(children)) != NULL) + ecore_dlist_goto_first(children); + while ((child = ecore_dlist_next(children)) != NULL) { if (child == EWL_WIDGET(cell)) { g_child = (Ewl_Grid_Child *) ewl_widget_data_get(child, @@ -245,8 +245,8 @@ list = ecore_list_new(); children = EWL_CONTAINER(t->grid)->children; - ecore_list_goto_first(children); - while ((child = ecore_list_next(children)) != NULL) { + ecore_dlist_goto_first(children); + while ((child = ecore_dlist_next(children)) != NULL) { gc = (Ewl_Grid_Child *) ewl_widget_data_get(child, (void *) t->grid); @@ -400,8 +400,8 @@ DCHECK_TYPE_RET("t", t, EWL_TABLE_TYPE, strdup("")); children = EWL_CONTAINER(t->grid)->children; - ecore_list_goto_first(children); - while ((child = ecore_list_next(children)) != NULL) { + ecore_dlist_goto_first(children); + while ((child = ecore_dlist_next(children)) != NULL) { gc = (Ewl_Grid_Child *) ewl_widget_data_get(child, (void *) t->grid); @@ -410,7 +410,7 @@ t->selected.end_c == gc->end_col && t->selected.end_r == gc->end_row) { - tw = (Ewl_Text *) ecore_list_goto_first( + tw = (Ewl_Text *) ecore_dlist_goto_first( EWL_CONTAINER(child)->children); DRETURN_PTR(ewl_text_text_get(tw), DLEVEL_STABLE); @@ -471,9 +471,9 @@ CURRENT_H(o) - INSET_TOP(o) + INSET_BOTTOM(o)); - ecore_list_goto_first(EWL_CONTAINER(table->grid)->children); + ecore_dlist_goto_first(EWL_CONTAINER(table->grid)->children); while ((child = - ecore_list_next(EWL_CONTAINER(table->grid)->children)) != NULL) { + ecore_dlist_next(EWL_CONTAINER(table->grid)->children)) != NULL) { ewl_widget_configure(child); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_tree.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- ewl_tree.c 14 Feb 2006 05:50:02 -0000 1.28 +++ ewl_tree.c 16 Feb 2006 21:52:42 -0000 1.29 @@ -173,17 +173,17 @@ tree->headers_visible = visible; - row = ecore_list_goto_first(EWL_CONTAINER(tree)->children); - ecore_list_goto_first(EWL_CONTAINER(row)->children); + row = ecore_dlist_goto_first(EWL_CONTAINER(tree)->children); + ecore_dlist_goto_first(EWL_CONTAINER(row)->children); - button = ecore_list_next(EWL_CONTAINER(row)->children); + button = ecore_dlist_next(EWL_CONTAINER(row)->children); for (i = 0; i < tree->ncols && button; i++) { if ((visible) && (HIDDEN(button))) ewl_widget_show(button); else if ((!visible) && (VISIBLE(button))) ewl_widget_hide(button); - button = ecore_list_next(EWL_CONTAINER(row)->children); + button = ecore_dlist_next(EWL_CONTAINER(row)->children); } DLEAVE_FUNCTION(DLEVEL_STABLE); @@ -413,7 +413,7 @@ c = EWL_CONTAINER(row); if (c->children) { - while ((w = ecore_list_goto_first(c->children))) + while ((w = ecore_dlist_goto_first(c->children))) ewl_container_child_remove(c, w); } @@ -625,9 +625,9 @@ children = EWL_CONTAINER(row)->children; w = NULL; - cell = ecore_list_goto_index(children, i); + cell = ecore_dlist_goto_index(children, i); if( cell ) - w = ecore_list_goto_first(EWL_CONTAINER(cell)->children); + w = ecore_dlist_goto_first(EWL_CONTAINER(cell)->children); DRETURN_PTR(w, DLEVEL_STABLE); } @@ -880,8 +880,8 @@ tmp = ecore_list_new(); - ecore_list_goto_first(EWL_CONTAINER(node)->children); - while ((w = ecore_list_next(EWL_CONTAINER(node)->children))) { + ecore_dlist_goto_first(EWL_CONTAINER(node)->children); + while ((w = ecore_dlist_next(EWL_CONTAINER(node)->children))) { if (w != node->row && w != node->handle) ecore_list_append(tmp, w); } @@ -932,8 +932,8 @@ tmp = ecore_list_new(); - ecore_list_goto_first(EWL_CONTAINER(node)->children); - while ((w = ecore_list_next(EWL_CONTAINER(node)->children))) { + ecore_dlist_goto_first(EWL_CONTAINER(node)->children); + while ((w = ecore_dlist_next(EWL_CONTAINER(node)->children))) { if (w != node->row && w != node->handle) ecore_list_append(tmp, w); } @@ -971,7 +971,7 @@ if (!c->children) DRETURN(DLEVEL_STABLE); - ecore_list_goto_first(c->children); + ecore_dlist_goto_first(c->children); y = CURRENT_Y(w); ewl_object_geometry_request(EWL_OBJECT(node->handle), CURRENT_X(w), @@ -981,7 +981,7 @@ /* * All subsequent children are lower nodes and rows. */ - while ((child = ecore_list_next(c->children))) { + while ((child = ecore_dlist_next(c->children))) { if (VISIBLE(child) && EWL_WIDGET(child) != node->handle) { ewl_object_geometry_request(child, x, y, CURRENT_W(w), ewl_object_preferred_h_get(child)); @@ -1051,7 +1051,7 @@ if (w != node->handle && !node->row) node->row = node->handle; - if (ecore_list_nodes(c->children) > 2 ) { + if (ecore_dlist_nodes(c->children) > 2 ) { if (HIDDEN(node->handle)) ewl_widget_show(node->handle); } @@ -1127,7 +1127,7 @@ if (w == node->handle) DRETURN(DLEVEL_STABLE); - if (ecore_list_nodes(c->children) < 3) { + if (ecore_dlist_nodes(c->children) < 3) { if (VISIBLE(node->handle)) ewl_widget_hide(node->handle); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_window.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -3 -r1.31 -r1.32 --- ewl_window.c 15 Feb 2006 02:03:39 -0000 1.31 +++ ewl_window.c 16 Feb 2006 21:52:42 -0000 1.32 @@ -1111,8 +1111,8 @@ /* * Configure each of the child widgets. */ - ecore_list_goto_first(EWL_CONTAINER(w)->children); - while ((child = ecore_list_next(EWL_CONTAINER(w)->children))) { + ecore_dlist_goto_first(EWL_CONTAINER(w)->children); + while ((child = ecore_dlist_next(EWL_CONTAINER(w)->children))) { int x, y; int size; ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs