Enlightenment CVS committal

Author  : rephorm
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_color_dialog.c e_color_dialog.h e_test.c 
        e_widget_color_well.c 


Log Message:

add a change callback to the color dialog
update grad preview live as you select a color

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_color_dialog.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- e_color_dialog.c    13 Oct 2006 20:35:39 -0000      1.7
+++ e_color_dialog.c    14 Oct 2006 04:50:00 -0000      1.8
@@ -8,6 +8,7 @@
 static void _e_color_dialog_button2_click(void *data, E_Dialog *edia);
 static void _e_color_dialog_free(E_Color_Dialog *dia);
 static void _e_color_dialog_dia_del(void *obj);
+static void _e_color_dialog_cb_csel_change(void *data, Evas_Object *obj);
 
 /**
  * Create a color selector dialog.
@@ -38,6 +39,7 @@
    evas_object_show(o);
    e_widget_min_size_get(o, &mw, &mh);
    e_dialog_content_set(dia->dia, o, 460, 260);
+   e_widget_on_change_hook_set(o, _e_color_dialog_cb_csel_change, dia);
 
    /* buttons at the bottom */
    e_dialog_button_add(dia->dia, "OK", NULL,  _e_color_dialog_button1_click, 
dia);
@@ -65,17 +67,35 @@
 }
 
 void
-e_color_dialog_select_callback_add(E_Color_Dialog *dia, void 
(*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data)
+e_color_dialog_select_callback_set(E_Color_Dialog *dia, void 
(*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data)
 {
    dia->select_func = func;
    dia->select_data = data;
 }
 
 void
-e_color_dialog_cancel_callback_add(E_Color_Dialog *dia, void 
(*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data)
+e_color_dialog_cancel_callback_set(E_Color_Dialog *dia, void 
(*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data)
 {
    dia->cancel_func = func;
    dia->cancel_data = data;
+}
+
+
+EAPI void
+e_color_dialog_change_callback_set(E_Color_Dialog *dia, void 
(*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data)
+{
+   dia->change_func = func;
+   dia->change_data = data;
+}
+
+static void
+_e_color_dialog_cb_csel_change(void *data, Evas_Object *obj)
+{
+   E_Color_Dialog *dia;
+   dia = data;
+   printf("COLOR DIALOG csel change\n");
+   if (dia->change_func && dia->color)
+     dia->change_func(dia, dia->color, dia->change_data);
 }
 
 static void
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_color_dialog.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_color_dialog.h    10 Sep 2006 04:51:07 -0000      1.4
+++ e_color_dialog.h    14 Oct 2006 04:50:00 -0000      1.5
@@ -24,13 +24,16 @@
    void  *select_data;
    void (*cancel_func)(E_Color_Dialog *dia, E_Color *color, void *data);
    void  *cancel_data;
+   void (*change_func)(E_Color_Dialog *dia, E_Color *color, void *data);
+   void  *change_data;
 };
 
 EAPI E_Color_Dialog  *e_color_dialog_new                (E_Container *con, 
const E_Color *initial_color);
 EAPI void             e_color_dialog_show               (E_Color_Dialog *dia);
 EAPI void             e_color_dialog_title_set          (E_Color_Dialog *dia, 
const char *title);
-EAPI void             e_color_dialog_select_callback_add(E_Color_Dialog *dia, 
void (*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data);
-EAPI void             e_color_dialog_cancel_callback_add(E_Color_Dialog *dia, 
void (*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data);
+EAPI void             e_color_dialog_select_callback_set(E_Color_Dialog *dia, 
void (*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data);
+EAPI void             e_color_dialog_cancel_callback_set(E_Color_Dialog *dia, 
void (*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data);
+EAPI void             e_color_dialog_change_callback_set(E_Color_Dialog *dia, 
void (*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data);
 
 #endif
 #endif
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_test.c,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -3 -r1.74 -r1.75
--- e_test.c    30 Aug 2006 14:45:33 -0000      1.74
+++ e_test.c    14 Oct 2006 04:50:00 -0000      1.75
@@ -668,7 +668,7 @@
 
    d = e_color_dialog_new(con, NULL);
    e_color_dialog_show(d);
-   e_color_dialog_select_callback_add(d, _e_test_cb_ok, NULL);
+   e_color_dialog_select_callback_set(d, _e_test_cb_ok, NULL);
 }
 
 #else
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_color_well.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- e_widget_color_well.c       13 Oct 2006 02:49:40 -0000      1.10
+++ e_widget_color_well.c       14 Oct 2006 04:50:00 -0000      1.11
@@ -20,6 +20,7 @@
 static void _e_wid_signal_cb1(void *data, Evas_Object *obj, const char 
*emission, const char *source);
 static void _e_wid_color_select_cb(E_Color_Dialog *dia, E_Color *color, void 
*data);
 static void _e_wid_color_cancel_cb(E_Color_Dialog *dia, E_Color *color, void 
*data);
+static void _e_wid_color_change_cb(E_Color_Dialog *dia, E_Color *color, void 
*data);
 static void _e_wid_disable_hook(Evas_Object *obj);
 
 static void
@@ -48,8 +49,9 @@
    if (!wd->dia)
      {
        wd->dia = e_color_dialog_new(wd->con, wd->color);
-       e_color_dialog_select_callback_add(wd->dia, _e_wid_color_select_cb, wd);
-       e_color_dialog_cancel_callback_add(wd->dia, _e_wid_color_cancel_cb, wd);
+       e_color_dialog_select_callback_set(wd->dia, _e_wid_color_select_cb, wd);
+       e_color_dialog_cancel_callback_set(wd->dia, _e_wid_color_cancel_cb, wd);
+       e_color_dialog_change_callback_set(wd->dia, _e_wid_color_change_cb, wd);
      }
    e_color_dialog_show(wd->dia);
 }
@@ -70,6 +72,16 @@
    E_Widget_Data *wd;
    wd = data;
    wd->dia = NULL;
+}
+
+static void
+_e_wid_color_change_cb(E_Color_Dialog *dia, E_Color *color, void *data)
+{
+   E_Widget_Data *wd;
+   wd = data;
+   printf("COLOR WELL change_cb\n");
+   e_color_copy(color, wd->color);
+   _e_wid_update(wd);
 }
 
 static void



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to