Enlightenment CVS committal

Author  : moom16
Project : e17
Module  : proto

Dir     : e17/proto/etk/src/bin


Modified Files:
        etk_tree_test.c 


Log Message:
* Add the checkbox tree model: the cells of a tree can now contain a 
checkbox


===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/etk/src/bin/etk_tree_test.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- etk_tree_test.c     15 Jan 2006 11:07:16 -0000      1.20
+++ etk_tree_test.c     22 Jan 2006 16:31:57 -0000      1.21
@@ -6,6 +6,7 @@
 static void _etk_test_tree_add_items(Etk_Tree *tree, int n);
 static void _etk_test_tree_row_selected(Etk_Object *object, Etk_Tree_Row *row, 
void *data);
 static void _etk_test_tree_row_unselected(Etk_Object *object, Etk_Tree_Row 
*row, void *data);
+static void _etk_test_tree_checkbox_toggled_cb(Etk_Object *object, 
Etk_Tree_Row *row, void *data);
 static void _etk_test_tree_clear_list_cb(Etk_Object *object, void *data);
 static void _etk_test_tree_add_5_cb(Etk_Object *object, void *data);
 static void _etk_test_tree_add_50_cb(Etk_Object *object, void *data);
@@ -22,7 +23,7 @@
    static Etk_Widget *win = NULL;
    Etk_Widget *tree;
    Etk_Tree_Row *row;
-   Etk_Tree_Col *col1, *col2, *col3;
+   Etk_Tree_Col *col1, *col2, *col3, *col4;
    Etk_Widget *table;
    Etk_Widget *label;
    Etk_Widget *frame;
@@ -57,17 +58,19 @@
    etk_tree_col_expand_set(col1, ETK_TRUE);
    col2 = etk_tree_col_new(ETK_TREE(tree), _("Column 2"), 
etk_tree_model_double_new(ETK_TREE(tree)), 60);
    col3 = etk_tree_col_new(ETK_TREE(tree), _("Column 3"), 
etk_tree_model_image_new(ETK_TREE(tree), ETK_TREE_FROM_FILE), 60);
+   col4 = etk_tree_col_new(ETK_TREE(tree), _("Column 4"), 
etk_tree_model_checkbox_new(ETK_TREE(tree)), 40);
    etk_tree_build(ETK_TREE(tree));
+   etk_signal_connect("cell_value_changed", ETK_OBJECT(col4), 
ETK_CALLBACK(_etk_test_tree_checkbox_toggled_cb), NULL);
 
    etk_tree_freeze(ETK_TREE(tree));
    for (i = 0; i < 1000; i++)
    {
       row = etk_tree_append(ETK_TREE(tree), col1, etk_theme_icon_theme_get(), 
"places/user-home_16", _("Row1"),
-         col2, 10.0, col3, PACKAGE_DATA_DIR "/images/1star.png", NULL);
+         col2, 10.0, col3, PACKAGE_DATA_DIR "/images/1star.png", col4, 
ETK_FALSE, NULL);
       row = etk_tree_append_to_row(row, col1, etk_theme_icon_theme_get(), 
"places/folder_16", _("Row2"),
-         col2, 20.0, col3, PACKAGE_DATA_DIR "/images/2stars.png", NULL);
+         col2, 20.0, col3, PACKAGE_DATA_DIR "/images/2stars.png", col4, 
ETK_FALSE, NULL);
       etk_tree_append_to_row(row, col1, etk_theme_icon_theme_get(), 
"mimetypes/text-x-generic_16", _("Row3"),
-         col2, 30.0, col3, PACKAGE_DATA_DIR "/images/3stars.png", NULL);
+         col2, 30.0, col3, PACKAGE_DATA_DIR "/images/3stars.png", col4, 
ETK_TRUE, NULL);
    }
    etk_tree_thaw(ETK_TREE(tree));
 
@@ -174,6 +177,22 @@
    printf(_("Row unselected %p %p\n"), object, row);
 }
 
+/* Called when a checkbox of the tree is toggled */
+static void _etk_test_tree_checkbox_toggled_cb(Etk_Object *object, 
Etk_Tree_Row *row, void *data)
+{
+   Etk_Bool checked;
+   Etk_Tree_Col *col;
+   
+   if (!(col = ETK_TREE_COL(object)) || !row)
+      return;
+   
+   etk_tree_row_fields_get(row, col, &checked, NULL);
+   if (checked)
+      printf(_("Checkbox activated\n"));
+   else
+      printf(_("Checkbox deactivated\n"));
+}
+
 /* Called when the "Clear" button is clicked */
 static void _etk_test_tree_clear_list_cb(Etk_Object *object, void *data)
 {




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to