Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: Makefile.am e_includes.h e_int_menus.c e_test.c Added Files: e_config_dialog.c e_config_dialog.h e_int_config_focus.c e_int_config_focus.h Log Message: first gui config dialog... quickly snuck into the menu - shoudl go in panel tho.... =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/Makefile.am,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- Makefile.am 13 Oct 2005 09:06:15 -0000 1.60 +++ Makefile.am 13 Oct 2005 15:15:27 -0000 1.61 @@ -91,7 +91,9 @@ e_widget_button.h \ e_widget_label.h \ e_widget_frametable.h \ -e_widget_table.h +e_widget_table.h \ +e_config_dialog.h \ +e_int_config_focus.h enlightenment_src = \ e_user.c \ @@ -165,6 +167,8 @@ e_widget_label.c \ e_widget_frametable.c \ e_widget_table.c \ +e_config_dialog.c \ +e_int_config_focus.c \ $(ENLIGHTENMENTHEADERS) enlightenment_SOURCES = \ =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_includes.h,v retrieving revision 1.45 retrieving revision 1.46 diff -u -3 -r1.45 -r1.46 --- e_includes.h 13 Oct 2005 09:06:15 -0000 1.45 +++ e_includes.h 13 Oct 2005 15:15:27 -0000 1.46 @@ -73,3 +73,5 @@ #include "e_widget_label.h" #include "e_widget_frametable.h" #include "e_widget_table.h" +#include "e_config_dialog.h" +#include "e_int_config_focus.h" =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_menus.c,v retrieving revision 1.105 retrieving revision 1.106 diff -u -3 -r1.105 -r1.106 --- e_int_menus.c 10 Oct 2005 20:40:35 -0000 1.105 +++ e_int_menus.c 13 Oct 2005 15:15:27 -0000 1.106 @@ -36,6 +36,7 @@ static void _e_int_menus_config_pre_cb (void *data, E_Menu *m); static void _e_int_menus_config_free_hook (void *obj); static void _e_int_menus_config_item_cb (void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_int_menus_config_generic_cb (void *data, E_Menu *m, E_Menu_Item *mi); static void _e_int_menus_clients_pre_cb (void *data, E_Menu *m); static void _e_int_menus_clients_free_hook (void *obj); static void _e_int_menus_clients_item_cb (void *data, E_Menu *m, E_Menu_Item *mi); @@ -607,6 +608,10 @@ e_menu_item_label_set(mi, _("Configuration Panel")); e_menu_item_callback_set(mi, _e_int_menus_config_item_cb, NULL); + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Focus Settings")); + e_menu_item_callback_set(mi, _e_int_menus_config_generic_cb, "focus"); + l = evas_hash_find(_e_int_menus_augmentation, "config"); if (l) { @@ -636,6 +641,12 @@ } static void +_e_int_menus_config_generic_cb(void *data, E_Menu *m, E_Menu_Item *mi) +{ + if (!strcmp((char *)data, "focus")) e_int_config_focus(m->zone->container); +} + +static void _e_int_menus_clients_pre_cb(void *data, E_Menu *m) { E_Menu_Item *mi; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_test.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- e_test.c 13 Oct 2005 06:59:20 -0000 1.24 +++ e_test.c 13 Oct 2005 15:15:27 -0000 1.25 @@ -405,6 +405,81 @@ e_dialog_show(dia); } #elif 0 + +typedef struct _B_CFData { + int val; +} B_CFData; +typedef struct _A_CFData { + int val2; +} A_CFData; + +static void *_b_create_data(void *cfdata_other, E_Config_Dialog_CFData_Type type_other); +static void _b_free_data(B_CFData *cfdata); +static void _b_apply_data(B_CFData *cfdata); +static Evas_Object *_b_create_widgets(Evas *evas, B_CFData *cfdata); +static void *_a_create_data(void *cfdata_other, E_Config_Dialog_CFData_Type type_other); +static void _a_free_data(A_CFData *cfdata); +static void _a_apply_data(A_CFData *cfdata); +static Evas_Object *_a_create_widgets(Evas *evas, A_CFData *cfdata); + +static void *_b_create_data(void *cfdata_other, E_Config_Dialog_CFData_Type type_other) { + B_CFData *cfdata; + cfdata = E_NEW(B_CFData, 1); + if (cfdata_other) cfdata->val = ((A_CFData *)cfdata_other)->val2; + return cfdata; +} +static void _b_free_data(B_CFData *cfdata) { + printf("FREE BASIC\n"); + free(cfdata); +} +static void _b_apply_data(B_CFData *cfdata) { + printf("APPLY BASIC %i\n", cfdata->val); +} +static Evas_Object *_b_create_widgets(Evas *evas, B_CFData *cfdata) { + Evas_Object *o, *ob; + o = e_widget_framelist_add(evas, "Basic Options", 0); + ob = e_widget_check_add(evas, "Basic Checkbox", &(cfdata->val)); + e_widget_framelist_object_append(o, ob); + return o; +} + +static void *_a_create_data(void *cfdata_other, E_Config_Dialog_CFData_Type type_other) { + A_CFData *cfdata; + cfdata = E_NEW(A_CFData, 1); + if (cfdata_other) cfdata->val2 = ((B_CFData *)cfdata_other)->val; + return cfdata; +} +static void _a_free_data(A_CFData *cfdata) { + printf("FREE ADVANCED\n"); + free(cfdata); +} +static void _a_apply_data(A_CFData *cfdata) { + printf("APPLY ADVANCED %i\n", cfdata->val2); +} +static Evas_Object *_a_create_widgets(Evas *evas, A_CFData *cfdata) { + Evas_Object *o, *ob; + o = e_widget_framelist_add(evas, "Advanced Options", 0); + ob = e_widget_check_add(evas, "Advanced Checkbox", &(cfdata->val2)); + e_widget_framelist_object_append(o, ob); + return o; +} + +static void +_e_test_internal(E_Container *con) +{ + E_Config_Dialog *cfd; + E_Config_Dialog_View a, b; + + b.create_cfdata = _b_create_data; + b.free_cfdata = _b_free_data; + b.apply_cfdata = _b_apply_data; + b.create_widgets = _b_create_widgets; + a.create_cfdata = _a_create_data; + a.free_cfdata = _a_free_data; + a.apply_cfdata = _a_apply_data; + a.create_widgets = _a_create_widgets; + cfd = e_config_dialog_new(con, "A test dialog", &b, &a); +} #else static void _e_test_internal(E_Container *con) ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs