From 852ce8816dfac4ea8838cb91d3d119b6eec558f6 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Tue, 3 Oct 2006 05:49:31 +0000 Subject: [PATCH] Start of a color classes config dialog. Commented out in Config Panel for now. SVN revision: 26319 --- src/bin/Makefile.am | 2 + src/bin/e_configure.c | 1 + src/bin/e_includes.h | 1 + src/bin/e_int_config_color_classes.c | 114 +++++++++++++++++++++++++++ src/bin/e_int_config_color_classes.h | 9 +++ src/bin/e_int_config_performance.c | 1 - 6 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 src/bin/e_int_config_color_classes.c create mode 100644 src/bin/e_int_config_color_classes.h diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index d4e4a7da2..525443a3e 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -134,6 +134,7 @@ e_int_config_desklock.h \ e_int_config_exebuf.h \ e_int_config_apps.h \ e_int_config_cfgdialogs.h \ +e_int_config_color_classes.h \ e_deskpreview.h \ e_exebuf.h \ e_desklock.h \ @@ -281,6 +282,7 @@ e_int_config_exebuf.c \ e_int_config_apps.c \ e_int_config_cfgdialogs.c \ e_int_config_intl.c \ +e_int_config_color_classes.c \ e_deskpreview.c \ e_exebuf.c \ e_desklock.c \ diff --git a/src/bin/e_configure.c b/src/bin/e_configure.c index 3a027f32a..438a4db80 100644 --- a/src/bin/e_configure.c +++ b/src/bin/e_configure.c @@ -67,6 +67,7 @@ e_configure_show(E_Container *con) e_configure_standard_item_add(eco, "enlightenment/background", _("Wallpaper"), e_int_config_wallpaper); e_configure_standard_item_add(eco, "enlightenment/themes", _("Theme"), e_int_config_theme); e_configure_standard_item_add(eco, "enlightenment/fonts", _("Fonts"), e_int_config_fonts); +// e_configure_standard_item_add(eco, "enlightenment/themes", _("Colors"), e_int_config_color_classes); e_configure_standard_item_add(eco, "enlightenment/icon_themes", _("Icon Theme"), e_int_config_icon_themes); e_configure_standard_item_add(eco, "enlightenment/mouse", _("Mouse Cursor"), e_int_config_cursor); e_configure_standard_item_add(eco, "enlightenment/windows", _("Window Display"), e_int_config_window_display); diff --git a/src/bin/e_includes.h b/src/bin/e_includes.h index d1df6237d..b20404340 100644 --- a/src/bin/e_includes.h +++ b/src/bin/e_includes.h @@ -106,6 +106,7 @@ #include "e_int_config_apps.h" #include "e_int_config_cfgdialogs.h" #include "e_int_config_intl.h" +#include "e_int_config_color_classes.h" #include "e_deskpreview.h" #include "e_exebuf.h" #include "e_desklock.h" diff --git a/src/bin/e_int_config_color_classes.c b/src/bin/e_int_config_color_classes.c new file mode 100644 index 000000000..1a7f1e014 --- /dev/null +++ b/src/bin/e_int_config_color_classes.c @@ -0,0 +1,114 @@ +#include "e.h" + +static void *_create_data (E_Config_Dialog *cfd); +static void _free_data (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); +static int _basic_apply_data (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); +static Evas_Object *_basic_create_widgets (E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); +static int _adv_apply_data (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); +static Evas_Object *_adv_create_widgets (E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); + +struct _E_Config_Dialog_Data +{ + char *cur_class; +}; + +EAPI E_Config_Dialog * +e_int_config_color_classes(E_Container *con) +{ + E_Config_Dialog *cfd; + E_Config_Dialog_View *v; + + v = E_NEW(E_Config_Dialog_View, 1); + if (!v) return NULL; + + v->create_cfdata = _create_data; + v->free_cfdata = _free_data; + v->basic.apply_cfdata = _basic_apply_data; + v->basic.create_widgets = _basic_create_widgets; + v->advanced.apply_cfdata = _adv_apply_data; + v->advanced.create_widgets = _adv_create_widgets; + + cfd = e_config_dialog_new(con, _("Colors"), "E", "_config_color_classes", + "enlightenment/themes", 0, v, NULL); + return cfd; +} + +static void +_fill_data(E_Config_Dialog_Data *cfdata) +{ + cfdata->cur_class = NULL; +} + +static void * +_create_data(E_Config_Dialog *cfd) +{ + E_Config_Dialog_Data *cfdata; + + cfdata = E_NEW(E_Config_Dialog_Data, 1); + _fill_data(cfdata); + return cfdata; +} + +static void +_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) +{ + E_FREE(cfdata); +} + +static int +_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) +{ + return 1; +} + +static Evas_Object * +_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) +{ + Evas_Object *o, *of, *ob; + Evas_List *l; + + o = e_widget_list_add(evas, 0, 0); + of = e_widget_framelist_add(evas, _("Color Classes"), 0); + ob = e_widget_ilist_add(evas, 16, 16, &(cfdata->cur_class)); +// e_widget_ilist_append(ob, NULL, _("Test"), NULL, NULL, NULL); + for (l = edje_color_class_list(); l; l = l->next) + { + e_widget_ilist_append(ob, NULL, l->data, NULL, NULL, NULL); + } + e_widget_ilist_go(ob); + e_widget_min_size_set(ob, 100, 200); + e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(o, of, 1, 1, 0.5); + + e_dialog_resizable_set(cfd->dia, 1); + return o; +} + +static int +_adv_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) +{ + return 1; +} + +static Evas_Object * +_adv_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) +{ + Evas_Object *o, *of, *ob; + Evas_List *l; + + o = e_widget_list_add(evas, 0, 0); + of = e_widget_framelist_add(evas, _("Color Classes"), 0); + ob = e_widget_ilist_add(evas, 16, 16, &(cfdata->cur_class)); +// e_widget_ilist_append(ob, NULL, _("Test"), NULL, NULL, NULL); + for (l = edje_color_class_list(); l; l = l->next) + { + e_widget_ilist_append(ob, NULL, l->data, NULL, NULL, NULL); + } + e_widget_ilist_go(ob); + e_widget_min_size_set(ob, 100, 100); + e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(o, of, 1, 1, 0.5); + + e_dialog_resizable_set(cfd->dia, 1); + return o; +} diff --git a/src/bin/e_int_config_color_classes.h b/src/bin/e_int_config_color_classes.h new file mode 100644 index 000000000..e796b234e --- /dev/null +++ b/src/bin/e_int_config_color_classes.h @@ -0,0 +1,9 @@ +#ifdef E_TYPEDEFS +#else +#ifndef E_INT_CONFIG_COLOR_CLASSES_H +#define E_INT_CONFIG_COLOR_CLASSES_H + +EAPI E_Config_Dialog *e_int_config_color_classes(E_Container *con); + +#endif +#endif diff --git a/src/bin/e_int_config_performance.c b/src/bin/e_int_config_performance.c index d444b21dc..31276a756 100644 --- a/src/bin/e_int_config_performance.c +++ b/src/bin/e_int_config_performance.c @@ -95,7 +95,6 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf return o; } - static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) {