Enlightenment CVS committal Author : lok Project : e17 Module : proto
Dir : e17/proto/etk/src/lib Modified Files: etk_tree.c etk_tree.h Log Message: [Etk_Tree] Added etk_tree_unselected_rows_get =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_tree.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -3 -r1.75 -r1.76 --- etk_tree.c 4 Sep 2006 12:51:42 -0000 1.75 +++ etk_tree.c 8 Sep 2006 14:41:50 -0000 1.76 @@ -146,6 +146,7 @@ static Etk_Tree_Col *etk_tree_col_to_resize_get(Etk_Tree_Col *col, int x); static void _etk_tree_row_selected_rows_get(Etk_Tree_Row *row, Evas_List **selected_rows); +static void _etk_tree_row_unselected_rows_get(Etk_Tree_Row *row, Evas_List **unselected_rows); static void _etk_tree_row_select_all(Etk_Tree_Row *row); static void _etk_tree_row_unselect_all(Etk_Tree_Row *row); static void _etk_tree_row_select(Etk_Tree *tree, Etk_Tree_Row *row, Etk_Modifiers modifiers); @@ -1279,6 +1280,24 @@ } /** + * @brief Gets all the rows not selected of the tree + * @param tree a tree + * @return Returns an Evas_List * containing the unselected rows of the tree + * @warning The returned Evas_List * should be freed with @a evas_list_free() + */ +Evas_List *etk_tree_unselected_rows_get(Etk_Tree *tree) +{ + Evas_List *unselected_rows = NULL; + + if (!tree) + return NULL; + + _etk_tree_row_unselected_rows_get(&tree->root, &unselected_rows); + + return unselected_rows; +} + +/** * @brief Expands the row. The child rows of the row will be displayed. It will only affect a tree in the ETK_TREE_MODE_TREE mode * @param row a row */ @@ -2859,6 +2878,22 @@ if (r->selected) *selected_rows = evas_list_append(*selected_rows, r); _etk_tree_row_selected_rows_get(r, selected_rows); + } +} + +/* Gets the unselected child rows of the row */ +static void _etk_tree_row_unselected_rows_get(Etk_Tree_Row *row, Evas_List **unselected_rows) +{ + Etk_Tree_Row *r; + + if (!row || !unselected_rows) + return; + + for (r = row->first_child; r; r = r->next) + { + if (!r->selected) + *unselected_rows = evas_list_append(*unselected_rows, r); + _etk_tree_row_unselected_rows_get(r, unselected_rows); } } =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_tree.h,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- etk_tree.h 14 Aug 2006 16:26:01 -0000 1.25 +++ etk_tree.h 8 Sep 2006 14:41:50 -0000 1.26 @@ -217,6 +217,7 @@ void etk_tree_row_unselect(Etk_Tree_Row *row); Etk_Tree_Row *etk_tree_selected_row_get(Etk_Tree *tree); Evas_List *etk_tree_selected_rows_get(Etk_Tree *tree); +Evas_List *etk_tree_unselected_rows_get(Etk_Tree *tree); void etk_tree_row_expand(Etk_Tree_Row *row); void etk_tree_row_collapse(Etk_Tree_Row *row); ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs