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

Reply via email to