Enlightenment CVS committal

Author  : doursse
Project : e17
Module  : proto

Dir     : e17/proto/edvi/src/bin


Modified Files:
        edvi_etk_test.c 


Log Message:
etk test: new tree api. Fix etk and edvi shutdown

===================================================================
RCS file: /cvs/e/e17/proto/edvi/src/bin/edvi_etk_test.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- edvi_etk_test.c     20 Dec 2006 20:40:46 -0000      1.5
+++ edvi_etk_test.c     17 Jan 2007 01:47:37 -0000      1.6
@@ -8,7 +8,7 @@
 
 
 static void _quit_cb(void *data);
-static void _change_page_cb (Etk_Object *object, Etk_Tree_Row *row, void 
*data);
+static void _change_page_cb (Etk_Object *object, Etk_Tree_Row *row, 
Etk_Event_Mouse_Up *event, void *data);
 
 int
 main (int argc, char *argv[])
@@ -37,12 +37,14 @@
 
   etk_init (&argc, &argv);
 
+  /* We open the dvi file */
   dvi = etk_dvi_new ();
   etk_dvi_file_set (ETK_DVI (dvi), argv[1]);
   document = ETK_DVI (dvi)->dvi_document;
   if (!document) {
     printf ("The file %s can't be opened\n", argv[1]);
-    etk_main_quit ();
+    etk_shutdown ();
+    edvi_shutdown ();
     return -1;
   }
 
@@ -56,30 +58,34 @@
   etk_widget_show (hbox);
 
   list = etk_tree_new ();
-  etk_tree_headers_visible_set (ETK_TREE (list), FALSE);
-  etk_widget_size_request_set (list, 60, -1);
-  etk_box_append (ETK_BOX (hbox), list, ETK_BOX_START, ETK_BOX_NONE, 0);
-  etk_widget_show (list);
+  etk_tree_headers_visible_set (ETK_TREE (list), ETK_FALSE);
+  etk_tree_mode_set (ETK_TREE (list), ETK_TREE_MODE_LIST);
+  etk_tree_multiple_select_set (ETK_TREE (list), ETK_FALSE);
+
+  /* column */
+  col = etk_tree_col_new (ETK_TREE (list), "", 60, 0.0);
+  etk_tree_col_model_add (col, etk_tree_model_int_new());
 
-  etk_signal_connect ("row_selected", ETK_OBJECT (list),
-                      ETK_CALLBACK(_change_page_cb), dvi);
-  etk_tree_mode_set (ETK_TREE(list), ETK_TREE_MODE_LIST);
-  col = etk_tree_col_new (ETK_TREE(list), "",
-                          etk_tree_model_int_new (ETK_TREE (list)),
-                          60);
   etk_tree_build (ETK_TREE (list));
 
+  /* rows */
   page_count = edvi_document_page_count_get (ETK_DVI (dvi)->dvi_document);
-  etk_tree_freeze (ETK_TREE (list));
   for (i = 0; i < page_count; i++) {
     int  *num;
 
-    row = etk_tree_append (ETK_TREE (list), col, i + 1, NULL);
+    row = etk_tree_row_append (ETK_TREE (list), NULL, col, i + 1, NULL);
     num = (int *)malloc (sizeof (int));
     *num = i;
-    etk_tree_row_data_set (row, num);
+    etk_tree_row_data_set_full (row, num, free);
   }
-  etk_tree_thaw (ETK_TREE (list));
+
+  /* change page */
+  etk_signal_connect ("row_clicked", ETK_OBJECT (list),
+                      ETK_CALLBACK(_change_page_cb), dvi);
+
+  /* we attach and show */
+  etk_box_append (ETK_BOX (hbox), list, ETK_BOX_START, ETK_BOX_NONE, 0);
+  etk_widget_show (list);
 
   etk_box_append (ETK_BOX (hbox), dvi, ETK_BOX_START, ETK_BOX_NONE, 0);
   etk_widget_show (dvi);
@@ -88,6 +94,9 @@
 
   etk_main ();
 
+  etk_shutdown ();
+  edvi_shutdown ();
+
   return 0;
 }
 
@@ -95,11 +104,10 @@
 _quit_cb(void *data)
 {
   etk_main_quit ();
-  edvi_shutdown ();
 }
 
 static void
-_change_page_cb (Etk_Object *object, Etk_Tree_Row *row, void *data)
+_change_page_cb (Etk_Object *object, Etk_Tree_Row *row, Etk_Event_Mouse_Up 
*event, void *data)
 {
   Etk_Tree *tree;
   Etk_Dvi  *dvi;



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