Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_container.c ewl_container.h ewl_tree.c ewl_tree.h 


Log Message:
- fill in ewl_tree_row_find
- add ewl_container_child_get

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_container.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- ewl_container.c     30 Jun 2005 19:20:28 -0000      1.9
+++ ewl_container.c     19 Aug 2005 17:50:49 -0000      1.10
@@ -344,6 +344,36 @@
 }
 
 /**
+ * @param parent: The container to get the child from
+ * @param index: The child index to return
+ * @return Returns the widget at the given index, or NULL if not found
+ */
+Ewl_Widget *
+ewl_container_child_get(Ewl_Container * parent, int index)
+{
+       Ewl_Container *container = NULL;
+       Ewl_Widget *child;
+       int count = 0;
+
+       DENTER_FUNCTION(DLEVEL_STABLE);
+       DCHECK_PARAM_PTR_RET("parent", parent, NULL);
+
+       container = parent;
+       while (container->redirect) container = container->redirect;
+
+       ecore_list_goto_first(container->children);
+       while (child = ecore_list_next(container->children))
+       {
+               if (ewl_widget_internal_is(child)) continue;
+               if (count == index) break;
+               count ++;
+       }
+
+       DRETURN_PTR(((count == index) ? child : NULL), DLEVEL_STABLE);
+}
+
+
+/**
  * @param w: the child widget that has had it's preferred size changed
  * @param size: the amount of change in size
  * @param o: the orientation of the size change
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_container.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ewl_container.h     23 Jun 2005 04:37:16 -0000      1.4
+++ ewl_container.h     19 Aug 2005 17:50:51 -0000      1.5
@@ -113,6 +113,7 @@
                                           Ewl_Widget * child);
 void            ewl_container_child_resize(Ewl_Widget * w, int size,
                                           Ewl_Orientation o);
+Ewl_Widget     *ewl_container_child_get(Ewl_Container * parent, int index);
 void            ewl_container_child_iterate_begin(Ewl_Container *c);
 Ewl_Widget     *ewl_container_child_next(Ewl_Container *c);
 void            ewl_container_child_iterator_set(Ewl_Container *c,
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_tree.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- ewl_tree.c  21 Jul 2005 20:51:00 -0000      1.11
+++ ewl_tree.c  19 Aug 2005 17:50:51 -0000      1.12
@@ -543,6 +543,27 @@
 }
 
 /**
+ * @param tree: The tree to find the row in
+ * @param row: The row number to find 
+ * @return Returns the given row, or NULL if not found
+ */
+Ewl_Widget *ewl_tree_row_find(Ewl_Tree *tree, int row)
+{
+       Ewl_Widget *child;
+
+       DENTER_FUNCTION(DLEVEL_STABLE);
+       DCHECK_PARAM_PTR_RET("tree", tree, NULL);
+
+       child = ewl_container_child_get(EWL_CONTAINER(tree), row);
+
+       if (child) {
+               DRETURN_PTR(EWL_TREE_NODE(child)->row, DLEVEL_STABLE);
+       } else {
+               DRETURN_PTR(NULL, DLEVEL_STABLE);
+       }
+}
+
+/**
  * @param row: the row to retrieve a column from
  * @param i: the column to retreive from the row
  * @brief Retreives the actual widget added via row_add instead of the cell
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_tree.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- ewl_tree.h  21 Jul 2005 20:51:00 -0000      1.9
+++ ewl_tree.h  19 Aug 2005 17:50:51 -0000      1.10
@@ -109,7 +109,7 @@
 
 void            ewl_tree_row_destroy(Ewl_Tree *tree, Ewl_Row *row);
 void            ewl_tree_row_expand_set(Ewl_Row *row, Ewl_Tree_Node_Flags 
expanded);
-Ewl_Row        *ewl_tree_row_find(Ewl_Tree *tree, int row);
+Ewl_Widget     *ewl_tree_row_find(Ewl_Tree *tree, int row);
 
 /*
  * Internally used callbacks, override at your own risk.




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to