Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/bin/tests/tree2


Modified Files:
        ewl_tree2.c 


Log Message:
- some work on expandable rows for tree2

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/tree2/ewl_tree2.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- ewl_tree2.c 26 Oct 2006 16:11:56 -0000      1.3
+++ ewl_tree2.c 7 Dec 2006 20:06:21 -0000       1.4
@@ -11,6 +11,9 @@
 {
        char *image;
        char *text;
+
+       int expandable;
+       Tree2_Test_Row_Data **rows;
 };
 
 typedef struct Tree2_Test_Data Tree2_Test_Data;
@@ -31,6 +34,10 @@
 static void tree2_test_data_sort(void *data, unsigned int column, 
                                                Ewl_Sort_Direction sort);
 static int tree2_test_data_count_get(void *data);
+static int tree2_test_data_expandable_get(void *data, unsigned int row);
+static void *tree2_test_data_subfetch(void *data, unsigned int parent_row,
+                                                       unsigned int subrow, 
+                                                       unsigned int column);
 
 static void ewl_tree2_cb_scroll_headers(Ewl_Widget *w, void *ev, void *data);
 static void ewl_tree2_cb_plain_view(Ewl_Widget *w, void *ev, void *data);
@@ -72,6 +79,8 @@
        ewl_model_fetch_set(model, tree2_test_data_fetch);
        ewl_model_sort_set(model, tree2_test_data_sort);
        ewl_model_count_set(model, tree2_test_data_count_get);
+       ewl_model_expandable_set(model, tree2_test_data_expandable_get);
+       ewl_model_subfetch_set(model, tree2_test_data_subfetch);
 
        tree = ewl_tree2_new();
        ewl_container_child_append(EWL_CONTAINER(box), tree);
@@ -161,22 +170,27 @@
        dt[0] = calloc(1, sizeof(Tree2_Test_Row_Data));
        dt[0]->image = strdup(PACKAGE_DATA_DIR"/ewl/images/e-logo.png");
        dt[0]->text = strdup("The E logo");
+       dt[0]->expandable = 0;
 
        dt[1] = calloc(1, sizeof(Tree2_Test_Row_Data));
        dt[1]->image = strdup(PACKAGE_DATA_DIR"/ewl/images/elicit.png");
        dt[1]->text = strdup("The Elicit image");
+       dt[1]->expandable = 0;
 
        dt[2] = calloc(1, sizeof(Tree2_Test_Row_Data));
        dt[2]->image = strdup(PACKAGE_DATA_DIR"/ewl/images/entrance.png");
        dt[2]->text = strdup("The Entrance image");
+       dt[2]->expandable = 0;
 
        dt[3] = calloc(1, sizeof(Tree2_Test_Row_Data));
        dt[3]->image = strdup(PACKAGE_DATA_DIR"/ewl/images/End.png");
        dt[3]->text = strdup("Zebra");
+       dt[3]->expandable = 0;
        
        dt[4] = calloc(1, sizeof(Tree2_Test_Row_Data));
        dt[4]->image = strdup(PACKAGE_DATA_DIR"/ewl/images/banner-top.png");
        dt[4]->text = strdup("Ant");
+       dt[4]->expandable = 0;
 
        data->rows = dt;
        data->count = TREE2_DATA_ELEMENTS;
@@ -315,6 +329,39 @@
 
        return d->count;
 }
+
+static int
+tree2_test_data_expandable_get(void *data, unsigned int row)
+{
+       Tree2_Test_Data *d;
+
+       d = data;
+
+       return d->rows[row]->expandable;
+}
+
+static void *
+tree2_test_data_subfetch(void *data, unsigned int parent_row,
+                                               unsigned int subrow, 
+                                               unsigned int column)
+{
+       Tree2_Test_Data *d;
+       void *val = NULL;
+
+       d = data;
+
+       if (column == 0)
+               val = d->rows[parent_row % 
TREE2_DATA_ELEMENTS]->rows[subrow]->text;
+
+       else if (column == 1)
+               val = d->rows[parent_row % 
TREE2_DATA_ELEMENTS]->rows[subrow]->image;
+
+       else if (column == 2)
+               val = d->rows[parent_row % TREE2_DATA_ELEMENTS]->rows[subrow];
+
+       return val;
+}
+
 
 static void
 ewl_tree2_cb_scroll_headers(Ewl_Widget *w, void *ev __UNUSED__, void *data)



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to