Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_int_config_color_classes.c 


Log Message:
Disable the color wells by default, and enable when needed.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_color_classes.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_int_config_color_classes.c        3 Oct 2006 13:14:17 -0000       1.6
+++ e_int_config_color_classes.c        3 Oct 2006 14:14:59 -0000       1.7
@@ -11,6 +11,7 @@
 static Evas_Object *_adv_create_widgets   (E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata);
 
 static void         _load_color_classes   (Evas_Object *obj, 
E_Config_Dialog_Data *cfdata);
+static void         _cb_enable_change     (void *data, Evas_Object *obj, void 
*event_info);
 
 struct _CFColor_Hash 
 {
@@ -31,6 +32,10 @@
    int state;
    E_Color *color1, *color2, *color3;
    Evas_List *classes;
+   struct 
+     {
+       Evas_Object *c1, *c2, *c3;
+     } gui;
 };
 
 /* Key Pairs for color classes
@@ -211,29 +216,37 @@
    e_widget_framelist_object_append(of, ob);
    e_widget_table_object_append(ot, of, 0, 0, 1, 4, 1, 1, 1, 1);
    
-   of = e_widget_framelist_add(evas, _("State"), 0);
-   e_widget_framelist_content_align_set(of, 0.0, 0.0);
-   rg = e_widget_radio_group_new(&(cfdata->state));
-   ob = e_widget_radio_add(evas, _("Enabled"), 1, rg);
-   e_widget_framelist_object_append(of, ob);
-   ob = e_widget_radio_add(evas, _("Disabled"), 0, rg);
-   e_widget_framelist_object_append(of, ob);
-   e_widget_table_object_append(ot, of, 1, 0, 1, 1, 1, 1, 1, 1);
-
    of = e_widget_framelist_add(evas, _("Object Color"), 1);
    ob = e_widget_color_well_add(evas, cfdata->color1, 1);
+   cfdata->gui.c1 = ob;
+   e_widget_disabled_set(ob, 1);
    e_widget_framelist_object_append(of, ob);
    e_widget_table_object_append(ot, of, 1, 1, 1, 1, 1, 1, 1, 1);
 
    of = e_widget_framelist_add(evas, _("Outline Color"), 1);
    ob = e_widget_color_well_add(evas, cfdata->color2, 1);
+   cfdata->gui.c2 = ob;
+   e_widget_disabled_set(ob, 1);
    e_widget_framelist_object_append(of, ob);
    e_widget_table_object_append(ot, of, 1, 2, 1, 1, 1, 1, 1, 1);
 
    of = e_widget_framelist_add(evas, _("Shadow Color"), 1);
    ob = e_widget_color_well_add(evas, cfdata->color3, 1);
+   cfdata->gui.c3 = ob;
+   e_widget_disabled_set(ob, 1);
    e_widget_framelist_object_append(of, ob);
    e_widget_table_object_append(ot, of, 1, 3, 1, 1, 1, 1, 1, 1);
+
+   of = e_widget_framelist_add(evas, _("State"), 0);
+   e_widget_framelist_content_align_set(of, 0.0, 0.0);
+   rg = e_widget_radio_group_new(&(cfdata->state));
+   ob = e_widget_radio_add(evas, _("Enabled"), 1, rg);
+   evas_object_smart_callback_add(ob, "changed", _cb_enable_change, cfdata);   
+   e_widget_framelist_object_append(of, ob);
+   ob = e_widget_radio_add(evas, _("Disabled"), 0, rg);
+   evas_object_smart_callback_add(ob, "changed", _cb_enable_change, cfdata);
+   e_widget_framelist_object_append(of, ob);
+   e_widget_table_object_append(ot, of, 1, 0, 1, 1, 1, 1, 1, 1);
    
    e_widget_list_object_append(o, ot, 1, 1, 0.5);
    e_dialog_resizable_set(cfd->dia, 1);
@@ -272,4 +285,26 @@
    e_widget_ilist_go(obj);
    e_widget_min_size_get(obj, &w, &h);
    e_widget_min_size_set(obj, w, 275);
+}
+
+static void 
+_cb_enable_change(void *data, Evas_Object *obj, void *event_info) 
+{
+   E_Config_Dialog_Data *cfdata;
+   
+   cfdata = data;
+   if (!cfdata) return;
+   printf("Change Event: %i\n", cfdata->state);
+   if (cfdata->state == 0) 
+     {
+       e_widget_disabled_set(cfdata->gui.c1, 1);
+       e_widget_disabled_set(cfdata->gui.c2, 1);
+       e_widget_disabled_set(cfdata->gui.c3, 1);       
+     }
+   else if (cfdata->state == 1) 
+     {
+       e_widget_disabled_set(cfdata->gui.c1, 0);
+       e_widget_disabled_set(cfdata->gui.c2, 0);
+       e_widget_disabled_set(cfdata->gui.c3, 0);
+     }
 }



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to