Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : proto

Dir     : e17/proto/etk/src/lib


Modified Files:
        etk_tree.c 


Log Message:
- add show / hide events to tree rows (need to look at hide)

===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_tree.c,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -3 -r1.61 -r1.62
--- etk_tree.c  15 Apr 2006 10:52:02 -0000      1.61
+++ etk_tree.c  16 Apr 2006 11:47:27 -0000      1.62
@@ -63,7 +63,9 @@
    ETK_TREE_ROW_COLLAPSED_SIGNAL,
    ETK_TREE_ROW_MOUSE_IN_SIGNAL,
    ETK_TREE_ROW_MOUSE_OUT_SIGNAL,
-   ETK_TREE_ROW_MOUSE_MOVE_SIGNAL,     
+   ETK_TREE_ROW_MOUSE_MOVE_SIGNAL,
+   ETK_TREE_ROW_SHOWN_SIGNAL,
+   ETK_TREE_ROW_HIDDEN_SIGNAL,     
    ETK_TREE_SELECT_ALL_SIGNAL,
    ETK_TREE_UNSELECT_ALL_SIGNAL,
    ETK_TREE_NUM_SIGNALS
@@ -180,7 +182,9 @@
       _etk_tree_signals[ETK_TREE_ROW_COLLAPSED_SIGNAL] = 
etk_signal_new("row_collapsed", tree_type, -1, etk_marshaller_VOID__POINTER, 
NULL, NULL);
       _etk_tree_signals[ETK_TREE_ROW_MOUSE_IN_SIGNAL] = 
etk_signal_new("row_mouse_in", tree_type, -1, etk_marshaller_VOID__POINTER, 
NULL, NULL);
       _etk_tree_signals[ETK_TREE_ROW_MOUSE_OUT_SIGNAL] = 
etk_signal_new("row_mouse_out", tree_type, -1, etk_marshaller_VOID__POINTER, 
NULL, NULL);
-      _etk_tree_signals[ETK_TREE_ROW_MOUSE_MOVE_SIGNAL] = 
etk_signal_new("row_mouse_move", tree_type, -1, etk_marshaller_VOID__POINTER, 
NULL, NULL);      
+      _etk_tree_signals[ETK_TREE_ROW_MOUSE_MOVE_SIGNAL] = 
etk_signal_new("row_mouse_move", tree_type, -1, etk_marshaller_VOID__POINTER, 
NULL, NULL);
+      _etk_tree_signals[ETK_TREE_ROW_SHOWN_SIGNAL] = 
etk_signal_new("row_shown", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, 
NULL);
+      _etk_tree_signals[ETK_TREE_ROW_HIDDEN_SIGNAL] = 
etk_signal_new("row_hidden", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, 
NULL);      
       _etk_tree_signals[ETK_TREE_SELECT_ALL_SIGNAL] = 
etk_signal_new("select_all", tree_type, -1, etk_marshaller_VOID__VOID, NULL, 
NULL);
       _etk_tree_signals[ETK_TREE_UNSELECT_ALL_SIGNAL] = 
etk_signal_new("unselect_all", tree_type, -1, etk_marshaller_VOID__VOID, NULL, 
NULL);
 
@@ -2085,6 +2089,28 @@
    }
 }
 
+/* Called when the row is shown */
+static void _etk_tree_row_show_cb(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
+{
+   Etk_Tree_Row_Objects *row_objects;
+   
+   if (!(row_objects = data) || !row_objects->row)
+     return;   
+
+   etk_signal_emit(_etk_tree_signals[ETK_TREE_ROW_SHOWN_SIGNAL], 
ETK_OBJECT(row_objects->row->tree), NULL, row_objects->row);   
+}
+
+/* Called when the row is hidden */
+static void _etk_tree_row_hide_cb(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
+{
+   Etk_Tree_Row_Objects *row_objects;
+   
+   if (!(row_objects = data) || !row_objects->row)
+     return;   
+   
+   etk_signal_emit(_etk_tree_signals[ETK_TREE_ROW_HIDDEN_SIGNAL], 
ETK_OBJECT(row_objects->row->tree), NULL, row_objects->row);
+}
+
 /* Called when the tree is focused */
 static void _etk_tree_focus_cb(Etk_Object *object, void *event, void *data)
 {
@@ -2458,6 +2484,8 @@
          else
             edje_object_signal_emit(row_objects->background, "unselected" , 
"");
          
+//      etk_signal_emit(_etk_tree_signals[ETK_TREE_ROW_SHOWN_SIGNAL], 
ETK_OBJECT(tree), NULL, row);
+        
          if (row_objects->expander)
          {
             if (row->first_child)
@@ -2661,6 +2689,8 @@
       evas_object_event_callback_add(new_row_objects->background, 
EVAS_CALLBACK_MOUSE_MOVE, _etk_tree_row_mouse_move_cb, new_row_objects);
       evas_object_event_callback_add(new_row_objects->background, 
EVAS_CALLBACK_MOUSE_IN, _etk_tree_row_mouse_in_cb, new_row_objects);
       evas_object_event_callback_add(new_row_objects->background, 
EVAS_CALLBACK_MOUSE_OUT, _etk_tree_row_mouse_out_cb, new_row_objects);
+      evas_object_event_callback_add(new_row_objects->background, 
EVAS_CALLBACK_SHOW, _etk_tree_row_show_cb, new_row_objects);
+      evas_object_event_callback_add(new_row_objects->background, 
EVAS_CALLBACK_HIDE, _etk_tree_row_hide_cb, new_row_objects);      
       etk_widget_member_object_add(tree->grid, new_row_objects->background);
    }
    




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to