Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: Makefile.am e_dialog.c e_dialog.h e_includes.h e_test.c Added Files: e_widget.c e_widget.h e_widget_check.c e_widget_check.h Log Message: started work on a quick & dirty widget infrastructure - designed ONLY for simple dialogs and ease of use. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/Makefile.am,v retrieving revision 1.54 retrieving revision 1.55 diff -u -3 -r1.54 -r1.55 --- Makefile.am 10 Oct 2005 00:55:07 -0000 1.54 +++ Makefile.am 10 Oct 2005 12:16:18 -0000 1.55 @@ -82,7 +82,9 @@ e_entry.h \ e_fileman.h \ e_scrollbar.h \ -e_fileman_smart.h +e_fileman_smart.h \ +e_widget.h \ +e_widget_check.h enlightenment_src = \ e_user.c \ @@ -147,6 +149,8 @@ e_fileman.c \ e_scrollbar.c \ e_fileman_smart.c \ +e_widget.c \ +e_widget_check.c \ $(ENLIGHTENMENTHEADERS) enlightenment_SOURCES = \ =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_dialog.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- e_dialog.c 5 Oct 2005 16:41:49 -0000 1.23 +++ e_dialog.c 10 Oct 2005 12:16:18 -0000 1.24 @@ -61,13 +61,6 @@ evas_object_move(o, 0, 0); evas_object_show(o); - o = edje_object_add(e_win_evas_get(dia->win)); - dia->text_object = o; - e_theme_edje_object_set(o, "base/theme/dialog", - "widgets/dialog/text"); - edje_object_part_swallow(dia->bg_object, "content_swallow", o); - evas_object_show(o); - o = e_box_add(e_win_evas_get(dia->win)); dia->box_object = o; e_box_orientation_set(o, 1); @@ -207,20 +200,38 @@ void e_dialog_text_set(E_Dialog *dia, char *text) { + if (!dia->text_object) + { + Evas_Object *o; + + o = edje_object_add(e_win_evas_get(dia->win)); + dia->text_object = o; + e_theme_edje_object_set(o, "base/theme/dialog", + "widgets/dialog/text"); + edje_object_part_swallow(dia->bg_object, "content_swallow", o); + evas_object_show(o); + } edje_object_part_text_set(dia->text_object, "text", text); } void e_dialog_icon_set(E_Dialog *dia, char *icon, Evas_Coord size) { - if (icon) - { - dia->icon_object = edje_object_add(e_win_evas_get(dia->win)); - e_util_edje_icon_set(dia->icon_object, icon); - edje_extern_object_min_size_set(dia->icon_object, size, size); - edje_object_part_swallow(dia->bg_object, "icon_swallow", dia->icon_object); - evas_object_show(dia->icon_object); - } + if (!icon) return; + + dia->icon_object = edje_object_add(e_win_evas_get(dia->win)); + e_util_edje_icon_set(dia->icon_object, icon); + edje_extern_object_min_size_set(dia->icon_object, size, size); + edje_object_part_swallow(dia->bg_object, "icon_swallow", dia->icon_object); + evas_object_show(dia->icon_object); +} + +void +e_dialog_content_set(E_Dialog *dia, Evas_Object *obj, Evas_Coord minw, Evas_Coord minh) +{ + edje_extern_object_min_size_set(obj, minw, minh); + edje_object_part_swallow(dia->bg_object, "content_swallow", obj); + evas_object_show(obj); } void @@ -230,9 +241,12 @@ Evas_Object *o; o = dia->text_object; - edje_object_size_min_calc(o, &mw, &mh); - edje_extern_object_min_size_set(o, mw, mh); - edje_object_part_swallow(dia->bg_object, "content_swallow", o); + if (o) + { + edje_object_size_min_calc(o, &mw, &mh); + edje_extern_object_min_size_set(o, mw, mh); + edje_object_part_swallow(dia->bg_object, "content_swallow", o); + } o = dia->box_object; e_box_min_size_get(o, &mw, &mh); @@ -305,7 +319,6 @@ e_dialog_button_focus_button(dia, db); } -/* TODO: Implement shift-tab and left arrow */ static void _e_dialog_cb_key_down(void *data, Evas *e, Evas_Object *obj, void *event) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_dialog.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_dialog.h 26 Sep 2005 10:32:13 -0000 1.5 +++ e_dialog.h 10 Oct 2005 12:16:18 -0000 1.6 @@ -27,14 +27,15 @@ void *data; }; -EAPI E_Dialog *e_dialog_new (E_Container *con); -EAPI void e_dialog_button_add (E_Dialog *dia, char *label, char *icon, void (*func) (void *data, E_Dialog *dia), void *data); -EAPI int e_dialog_button_focus_num(E_Dialog *dia, int button); -EAPI int e_dialog_button_focus_button(E_Dialog *dia, E_Dialog_Button *button); -EAPI void e_dialog_title_set (E_Dialog *dia, char *title); -EAPI void e_dialog_text_set (E_Dialog *dia, char *text); -EAPI void e_dialog_icon_set (E_Dialog *dia, char *icon, Evas_Coord size); -EAPI void e_dialog_show (E_Dialog *dia); +EAPI E_Dialog *e_dialog_new (E_Container *con); +EAPI void e_dialog_button_add (E_Dialog *dia, char *label, char *icon, void (*func) (void *data, E_Dialog *dia), void *data); +EAPI int e_dialog_button_focus_num (E_Dialog *dia, int button); +EAPI int e_dialog_button_focus_button (E_Dialog *dia, E_Dialog_Button *button); +EAPI void e_dialog_title_set (E_Dialog *dia, char *title); +EAPI void e_dialog_text_set (E_Dialog *dia, char *text); +EAPI void e_dialog_icon_set (E_Dialog *dia, char *icon, Evas_Coord size); +EAPI void e_dialog_content_set (E_Dialog *dia, Evas_Object *obj, Evas_Coord minw, Evas_Coord minh); +EAPI void e_dialog_show (E_Dialog *dia); #endif #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_includes.h,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- e_includes.h 10 Oct 2005 00:55:07 -0000 1.39 +++ e_includes.h 10 Oct 2005 12:16:18 -0000 1.40 @@ -64,3 +64,5 @@ #include "e_scrollbar.h" #include "e_fileman.h" #include "e_fileman_smart.h" +#include "e_widget.h" +#include "e_widget_check.h" =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_test.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- e_test.c 20 Sep 2005 08:34:23 -0000 1.17 +++ e_test.c 10 Oct 2005 12:16:18 -0000 1.18 @@ -308,6 +308,34 @@ e_dialog_show(dia); } #elif 0 +static int my_val = 0; + +static void +_e_test_internal(E_Container *con) +{ + E_Dialog *dia; + + dia = e_dialog_new(con); + e_dialog_title_set(dia, "A Test Dialog"); + { + Evas_Object *o; + Evas_Coord mw, mh; + + o = e_widget_checkbox_add(e_win_evas_get(dia->win), + "My checkbox widget which on toggles is modifying my_val", + &my_val); + e_widget_min_size_get(o, &mw, &mh); + e_dialog_content_set(dia, o, mw, mh); +// e_theme_edje_object_set(o, "base/theme/dialog", +// "widgets/frame"); + } + e_dialog_button_add(dia, "OK", NULL, NULL, NULL); + e_dialog_button_add(dia, "Apply", "enlightenment/reset", NULL, NULL); + e_dialog_button_add(dia, "Cancel", "enlightenment/exit", NULL, NULL); + e_win_centered_set(dia->win, 1); + e_dialog_show(dia); +} +#elif 0 #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