Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_tree2.c 


Log Message:
- some work on tree2. start populating rows and having them show up

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_tree2.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- ewl_tree2.c 26 May 2006 19:01:56 -0000      1.19
+++ ewl_tree2.c 14 Aug 2006 04:12:39 -0000      1.20
@@ -482,7 +482,7 @@
 {
        Ewl_Tree2 *tree;
        Ewl_Tree2_Column *col;
-       int column = 0;
+       int column = 0, rows = 0, i, size;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
        DCHECK_PARAM_PTR("w", w);
@@ -495,6 +495,14 @@
                                CURRENT_Y(tree), CURRENT_W(tree), 
                                CURRENT_H(tree));
 
+       /* place the rows */
+       size = ewl_object_current_h_get(EWL_OBJECT(tree->header));
+       ewl_object_place(EWL_OBJECT(tree->rows), CURRENT_X(tree),
+                               CURRENT_Y(tree) + size,
+                               CURRENT_W(tree),
+                               CURRENT_H(tree) - size);
+
+
        /* if the tree isn't dirty we're done */
        if (!ewl_tree2_dirty_get(tree)) 
                DRETURN(DLEVEL_STABLE);
@@ -504,9 +512,49 @@
        ecore_list_goto_first(tree->columns);
        while ((col = ecore_list_next(tree->columns)))
        {
+               int r;
+
                ewl_container_child_append(EWL_CONTAINER(tree->header), 
                                col->view->header_fetch(tree->data, column));
                column ++;
+
+               r = col->model->count(tree->data);
+               if (r > rows) rows = r;
+       }
+
+       ewl_container_reset(EWL_CONTAINER(tree->rows));
+       for (i = 0; i < rows; i++)
+       {
+               Ewl_Widget *row;
+
+               row = ewl_row_new();
+               ewl_row_header_set(EWL_ROW(row), EWL_ROW(tree->header));
+               ewl_container_child_append(EWL_CONTAINER(tree->rows), row);
+               ewl_widget_show(row);
+
+               column = 0;
+               ecore_list_goto_first(tree->columns);
+               while((col = ecore_list_next(tree->columns)))
+               {
+                       Ewl_Widget *child;
+                       void *val;
+
+                       val = col->model->fetch(tree->data, i, column);
+                       if (!val)
+                       {
+                               child = ewl_label_new();
+                               ewl_label_text_set(EWL_LABEL(child), " ");
+                       }
+                       else
+                       {
+                               child = col->view->construct();
+                               col->view->assign(child, val);
+                       }
+                       ewl_container_child_append(EWL_CONTAINER(row), child);
+                       ewl_widget_show(child);
+
+                       column ++;
+               }
        }
 
        ewl_tree2_dirty_set(tree, FALSE);



-------------------------------------------------------------------------
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

Reply via email to