Enlightenment CVS committal

Author  : moom16
Project : e17
Module  : proto

Dir     : e17/proto/etk/src/bin


Modified Files:
        etk_test.c etk_test.h 


Log Message:
* Reorganize the test app with categories


===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/etk/src/bin/etk_test.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- etk_test.c  11 Feb 2006 00:28:31 -0000      1.14
+++ etk_test.c  12 Feb 2006 20:56:03 -0000      1.15
@@ -1,76 +1,114 @@
 #include "etk_test.h"
 
+#define ETK_TEST_NUM_COLS 2
+
+typedef enum _Etk_Test_Categories
+{
+   ETK_TEST_BASIC_WIDGET,
+   ETK_TEST_ADVANCED_WIDGET,
+   ETK_TEST_CONTAINER,
+   ETK_TEST_DIALOG,
+   ETK_TEST_MISC,
+   ETK_TEST_NUM_CATEGORIES
+} Etk_Test_Categories;
+
+typedef struct _Etk_Test_Example
+{
+   char *name;
+   void (*func)(void *data);
+   Etk_Test_Categories category;
+} Etk_Test_Example;
+
 static void _etk_test_main_window();
 static void _etk_test_main_quit_cb(void *data);
 
-static Etk_Test_Set tests[] =
+static char *_etk_test_categories[ETK_TEST_NUM_CATEGORIES] =
+{ "Basic Widgets", "Advanced Widgets", "Containers", "Dialogs", "Misc" };
+
+static Etk_Test_Example _etk_test_examples[] =
 {
    {
       "Button",
-      etk_test_button_window_create
+      etk_test_button_window_create,
+      ETK_TEST_BASIC_WIDGET
    },
    {
       "Entry",
-      etk_test_entry_window_create
+      etk_test_entry_window_create,
+      ETK_TEST_BASIC_WIDGET
    },
    {
       "Table",
-      etk_test_table_window_create
+      etk_test_table_window_create,
+      ETK_TEST_CONTAINER
    },
    {
       "Image",
-      etk_test_image_window_create
+      etk_test_image_window_create,
+      ETK_TEST_BASIC_WIDGET
    },
    {
       "Slider",
-      etk_test_slider_window_create
+      etk_test_slider_window_create,
+      ETK_TEST_BASIC_WIDGET
    },
    {
       "Canvas",
-      etk_test_canvas_window_create
+      etk_test_canvas_window_create,
+      ETK_TEST_ADVANCED_WIDGET
    },
    {
       "Colorpicker",
-      etk_test_colorpicker_window_create
+      etk_test_colorpicker_window_create,
+      ETK_TEST_DIALOG
    },
    {
       "Tree",
-      etk_test_tree_window_create
+      etk_test_tree_window_create,
+      ETK_TEST_ADVANCED_WIDGET
    },
    {
       "Paned",
-      etk_test_paned_window_create
+      etk_test_paned_window_create,
+      ETK_TEST_CONTAINER
    },
    {
       "Scrolled View",
-      etk_test_scrolled_view_window_create
+      etk_test_scrolled_view_window_create,
+      ETK_TEST_CONTAINER
    },
    {
       "Menu",
-      etk_test_menu_window_create
+      etk_test_menu_window_create,
+      ETK_TEST_ADVANCED_WIDGET
    },
    {
       "File Chooser",
-      etk_test_filechooser_window_create
+      etk_test_filechooser_window_create,
+      ETK_TEST_DIALOG
    },
    {
       "Notebook",
-      etk_test_notebook_window_create
+      etk_test_notebook_window_create,
+      ETK_TEST_CONTAINER
    },
    {
       "Progress Bar",
-      etk_test_progress_bar_window_create
+      etk_test_progress_bar_window_create,
+      ETK_TEST_BASIC_WIDGET
    },
    {
       "Spin Button",
-      etk_test_spin_button_window_create
+      etk_test_spin_button_window_create,
+      ETK_TEST_BASIC_WIDGET
    },
    {
       "X Drag / Drop",
-      etk_test_xdnd_window_create
+      etk_test_xdnd_window_create,
+      ETK_TEST_MISC
    }
 };
-static int num_tests = sizeof(tests) / sizeof (tests[0]);
+static int _etk_test_num_examples = sizeof(_etk_test_examples) / sizeof 
(_etk_test_examples[0]);
 
 int main(int argc, char *argv[])
 {
@@ -91,24 +129,46 @@
 static void _etk_test_main_window()
 {
    Etk_Widget *win;
-   Etk_Widget *table;
+   Etk_Widget *vbox;
+   Etk_Widget *tables[ETK_TEST_NUM_CATEGORIES];
    Etk_Widget *button;
-   int i;
+   Etk_Widget *frame;
+   int current_ids[ETK_TEST_NUM_CATEGORIES];
+   int i, j, num_examples;
 
    win = etk_window_new();
    etk_window_title_set(ETK_WINDOW(win), _("Etk Test Application"));
    etk_container_border_width_set(ETK_CONTAINER(win), 5);
    etk_signal_connect("destroyed", ETK_OBJECT(win), 
ETK_CALLBACK(_etk_test_main_quit_cb), NULL);
    
-   table = etk_table_new((num_tests + 4) / 5, 5, ETK_TRUE);
-   etk_container_add(ETK_CONTAINER(win), table);
+   vbox = etk_vbox_new(ETK_FALSE, 0);
+   etk_container_add(ETK_CONTAINER(win), vbox);
+   
+   for (i = 0; i < ETK_TEST_NUM_CATEGORIES; i++)
+   {
+      current_ids[i] = 0;
+      for (num_examples = 0, j = 0; j < _etk_test_num_examples; j++)
+      {
+         if (_etk_test_examples[j].category == i)
+            num_examples++;
+      }
+      
+      frame = etk_frame_new(_(_etk_test_categories[i]));
+      etk_box_pack_start(ETK_BOX(vbox), frame, ETK_TRUE, ETK_TRUE, 0);
+      tables[i] = etk_table_new(ETK_TEST_NUM_COLS, (num_examples + 
ETK_TEST_NUM_COLS - 1) / ETK_TEST_NUM_COLS, ETK_TRUE);
+      etk_container_add(ETK_CONTAINER(frame), tables[i]);
+   }
 
-   for (i = 0; i < num_tests; i++)
+   for (i = 0; i < _etk_test_num_examples; i++)
    {
-      button = etk_button_new_with_label(_(tests[i].name));
-      etk_signal_connect_swapped("clicked", ETK_OBJECT(button), 
ETK_CALLBACK(tests[i].func), NULL);
-      etk_table_attach_defaults(ETK_TABLE(table), button, i / 5, i / 5, i % 5, 
i % 5);
+      button = etk_button_new_with_label(_(_etk_test_examples[i].name));
+      etk_signal_connect_swapped("clicked", ETK_OBJECT(button), 
ETK_CALLBACK(_etk_test_examples[i].func), NULL);
+      j = current_ids[_etk_test_examples[i].category];
+      
etk_table_attach_defaults(ETK_TABLE(tables[_etk_test_examples[i].category]), 
button,
+         j % ETK_TEST_NUM_COLS, j % ETK_TEST_NUM_COLS, j / ETK_TEST_NUM_COLS, 
j / ETK_TEST_NUM_COLS);
+      current_ids[_etk_test_examples[i].category]++;
    }
+   
    etk_widget_show_all(win);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/etk/src/bin/etk_test.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- etk_test.h  8 Feb 2006 12:49:38 -0000       1.10
+++ etk_test.h  12 Feb 2006 20:56:03 -0000      1.11
@@ -3,13 +3,6 @@
 
 #include "Etk.h"
 
-typedef struct _Etk_Test_Set Etk_Test_Set;
-struct _Etk_Test_Set
-{
-   char *name;
-   void (*func)(void *data);
-};
-
 void etk_test_button_window_create(void *data);
 void etk_test_entry_window_create(void *data);
 void etk_test_table_window_create(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