Enlightenment CVS committal

Author  : pfritz
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_row.c ewl_row.h ewl_tree.c ewl_tree2.c 


Log Message:
- the row doesn't need a row as a header, a container is sufficient
- minor things in tree2

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_row.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- ewl_row.c   29 Mar 2007 19:25:09 -0000      1.24
+++ ewl_row.c   4 May 2007 18:23:14 -0000       1.25
@@ -72,7 +72,7 @@
  * header.
  */
 void
-ewl_row_header_set(Ewl_Row *row, Ewl_Row *header)
+ewl_row_header_set(Ewl_Row *row, Ewl_Container *header)
 {
        DENTER_FUNCTION(DLEVEL_STABLE);
        DCHECK_PARAM_PTR("row", row);
@@ -160,13 +160,13 @@
                int width;
                Ewl_Container *hdr;
 
-               hdr = EWL_CONTAINER(row->header);
-               ewl_container_child_iterate_begin(EWL_CONTAINER(hdr));
+               hdr = row->header;
+               ewl_container_child_iterate_begin(hdr);
 
                /*
                 * Get the first child of the header.
                 */
-               align = 
EWL_OBJECT(ewl_container_child_next(EWL_CONTAINER(hdr)));
+               align = EWL_OBJECT(ewl_container_child_next(hdr));
                if (align)
                        x = MAX(ewl_object_current_x_get(align), CURRENT_X(w));
                else
@@ -175,9 +175,9 @@
                /*
                 * Iterate over the children and position the header children.
                 */
-               ewl_container_child_iterate_begin(EWL_CONTAINER(hdr));
+               ewl_container_child_iterate_begin(hdr);
                while ((child = EWL_OBJECT(ewl_container_child_next(c)))) {
-                       align = 
EWL_OBJECT(ewl_container_child_next(EWL_CONTAINER(hdr)));
+                       align = EWL_OBJECT(ewl_container_child_next(hdr));
                        if (align && VISIBLE(align))
                                width = ewl_object_current_x_get(align) + 
                                                ewl_object_current_w_get(align) 
- x;
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_row.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- ewl_row.h   4 Mar 2007 00:52:01 -0000       1.16
+++ ewl_row.h   4 May 2007 18:23:14 -0000       1.17
@@ -47,13 +47,13 @@
 struct Ewl_Row
 {
        Ewl_Container container;        /**< Inherit from Ewl_Container */
-       Ewl_Row *header;                /**< The header row */
+       Ewl_Container *header;          /**< The header row */
 };
 
 Ewl_Widget     *ewl_row_new(void);
 int             ewl_row_init(Ewl_Row *row);
 
-void            ewl_row_header_set(Ewl_Row *row, Ewl_Row *header);
+void            ewl_row_header_set(Ewl_Row *row, Ewl_Container *header);
 Ewl_Widget     *ewl_row_column_get(Ewl_Row *row, short n);
 
 /*
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_tree.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- ewl_tree.c  2 Apr 2007 19:35:11 -0000       1.49
+++ ewl_tree.c  4 May 2007 18:23:14 -0000       1.50
@@ -292,7 +292,7 @@
                DRETURN_PTR(NULL, DLEVEL_STABLE);
        }
 
-       ewl_row_header_set(EWL_ROW(row), EWL_ROW(tree->header));
+       ewl_row_header_set(EWL_ROW(row), EWL_CONTAINER(tree->header));
 
        ewl_widget_show(row);
 
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_tree2.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -3 -r1.77 -r1.78
--- ewl_tree2.c 2 Apr 2007 19:35:11 -0000       1.77
+++ ewl_tree2.c 4 May 2007 18:23:14 -0000       1.78
@@ -77,15 +77,15 @@
        ewl_mvc_selected_change_cb_set(EWL_MVC(tree), 
                                        ewl_tree2_cb_selected_change);
 
-       ewl_object_fill_policy_set(EWL_OBJECT(tree), 
-                               EWL_FLAG_FILL_SHRINK | EWL_FLAG_FILL_FILL);
+       ewl_object_fill_policy_set(EWL_OBJECT(tree), EWL_FLAG_FILL_ALL);
 
        tree->type = EWL_TREE_SELECTION_TYPE_CELL;
 
        tree->header = ewl_hpaned_new();
        ewl_container_child_append(EWL_CONTAINER(tree), tree->header);
        ewl_widget_appearance_set(EWL_WIDGET(tree->header), "tree_header");
-       ewl_object_fill_policy_set(EWL_OBJECT(tree->header), 
EWL_FLAG_FILL_HFILL);
+       ewl_object_fill_policy_set(EWL_OBJECT(tree->header), 
+                                                       EWL_FLAG_FILL_HFILL);
        ewl_callback_append(tree->header, EWL_CALLBACK_VALUE_CHANGED,
                                        ewl_tree2_cb_header_changed, tree);
        ewl_widget_show(tree->header);
@@ -119,7 +119,7 @@
        DCHECK_PARAM_PTR("tree", tree);
        DCHECK_TYPE("tree", tree, EWL_TREE2_TYPE);
 
-       if (tree->headers_visible == visible)
+       if (tree->headers_visible == !!visible)
                DRETURN(DLEVEL_STABLE);
 
        tree->headers_visible = !!visible;
@@ -283,7 +283,10 @@
        DCHECK_PARAM_PTR("tree", tree);
        DCHECK_TYPE("tree", tree, EWL_TREE2_TYPE);
 
-       tree->fixed = fixed;
+       if (tree->fixed == !!fixed)
+               DRETURN(DLEVEL_STABLE);
+
+       tree->fixed = !!fixed;
        ewl_mvc_dirty_set(EWL_MVC(tree), TRUE);
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
@@ -573,7 +576,13 @@
        ewl_widget_appearance_set(h, "header");
        ewl_widget_show(h);
 
-       c = view->header_fetch(model->header(mvc_data, column), column);
+       if (model->header)
+               c = view->header_fetch(model->header(mvc_data, column), 
+                                       column);
+       else
+               c = view->header_fetch(NULL, column);
+
+       /* XXX is this really a good idea to override the user's flags ? */
        ewl_object_fill_policy_set(EWL_OBJECT(c), 
                        EWL_FLAG_FILL_HSHRINK | EWL_FLAG_FILL_HFILL);
        ewl_container_child_append(EWL_CONTAINER(h), c);
@@ -668,6 +677,7 @@
                                ewl_mvc_view_get(EWL_MVC(tree)), 
                                mvc_data, i);
 
+       /* XXX why don't we skip before the headers are build? */
        if (!model)
                DRETURN(DLEVEL_STABLE);
 
@@ -688,13 +698,14 @@
        unsigned int column;
 
        DCHECK_PARAM_PTR("tree", tree);
+       DCHECK_TYPE("tree", tree, EWL_TREE2_TYPE);
        DCHECK_PARAM_PTR("parent", parent);
 
        row_count = model->count(data);
        if (!row_count)
                DRETURN(DLEVEL_STABLE);
 
-       while (1)
+       while (TRUE)
        {
                Ewl_Widget *row, *node;
 
@@ -709,7 +720,7 @@
                if (!hidden) ewl_widget_show(node);
 
                row = ewl_row_new();
-               ewl_row_header_set(EWL_ROW(row), EWL_ROW(tree->header));
+               ewl_row_header_set(EWL_ROW(row), EWL_CONTAINER(tree->header));
                ewl_container_child_append(EWL_CONTAINER(node), row);
                ewl_callback_append(row, EWL_CALLBACK_CLICKED,  
                                        ewl_tree2_cb_row_clicked, node);
@@ -888,7 +899,7 @@
 
        DENTER_FUNCTION(DLEVEL_STABLE);
        DCHECK_PARAM_PTR_RET("mvc", mvc, NULL);
-       DCHECK_TYPE_RET("mvc", mvc, EWL_MVC_TYPE, NULL);
+       DCHECK_TYPE_RET("mvc", mvc, EWL_TREE2_TYPE, NULL);
 
        tree = EWL_TREE2(mvc);
        r = ewl_container_child_get(EWL_CONTAINER(tree->rows), row);
@@ -908,6 +919,10 @@
        DCHECK_PARAM_PTR("tree", tree);
        DCHECK_TYPE("tree", tree, EWL_TREE2_TYPE);
 
+       if (tree->expansions)
+               DRETURN(DLEVEL_STABLE);
+
+       /* this hash table never get freed */
        tree->expansions = ecore_hash_new(NULL, NULL);
        ecore_hash_set_free_value(tree->expansions, 
                        ECORE_FREE_CB(ecore_list_destroy));
@@ -1045,6 +1060,7 @@
         */
        ewl_widget_configure(node->tree);
 
+       /* XXX is this really necessary, couldn't it be done inplace? */
        tmp = ecore_list_new();
 
        ecore_dlist_goto_first(EWL_CONTAINER(node)->children);
@@ -1110,6 +1126,8 @@
         */
        ewl_widget_configure(node->tree);
 
+       /* XXX same here can't we just hide the widgets instead of
+        * appending them to a list? */
        tmp = ecore_list_new();
 
        ecore_dlist_goto_first(EWL_CONTAINER(node)->children);



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to