diff --git a/data/themes/default_label.edc b/data/themes/default_label.edc index 5e5518144..cb8f33cb0 100644 --- a/data/themes/default_label.edc +++ b/data/themes/default_label.edc @@ -31,89 +31,5 @@ group { } } } - part { - name: "event"; - type: RECT; - description { - state: "default" 0.0; - color: 0 0 0 0; - } - } - part { - name: "focus"; - mouse_events: 0; - description { - state: "default" 0.0; - visible: 0; - color: 255 255 255 0; - image { - normal: "focus.png"; - border: 7 7 7 7; - middle: 0; - } - fill { - smooth: 0; - } - } - description { - state: "focused" 0.0; - inherit: "default" 0.0; - visible: 1; - color: 255 255 255 255; - } - } - } - programs { -/* - program { - name: "turn_on1"; - signal: "toggle_on"; - source: ""; - action: STATE_SET "active" 0.0; - target: "item1"; - } - program { - name: "turn_off1"; - signal: "toggle_off"; - source: ""; - action: STATE_SET "default" 0.0; - target: "item1"; - } - program { - name: "click"; - signal: "mouse,down,1"; - source: "event"; - script { - new buf[100]; - new Float:val; - - get_state(PART:"item1", buf, sizeof(buf), val); - if (!strcmp(buf, "default")) { - set_state(PART:"item1", "active", 0.0); - emit("toggled", "on"); - } - else { - set_state(PART:"item1", "default", 0.0); - emit("toggled", "off"); - } - } - } - */ - program { - name: "focus_in"; - signal: "focus_in"; - source: ""; - action: STATE_SET "focused" 0.0; - transition: DECELERATE 0.2; - target: "focus"; - } - program { - name: "focus_out"; - signal: "focus_out"; - source: ""; - action: STATE_SET "default" 0.0; - transition: ACCELERATE 0.5; - target: "focus"; - } } } diff --git a/src/bin/e_fileman_smart.c b/src/bin/e_fileman_smart.c index 8a662fba3..a52b94925 100644 --- a/src/bin/e_fileman_smart.c +++ b/src/bin/e_fileman_smart.c @@ -296,9 +296,8 @@ static char *thumb_path; static double _e_fm_grab_time = 0; static Evas_Smart *e_fm_smart = NULL; - -static int my_val; - +/* dumym for now */ +static int dummy_val; /* externally accessible functions */ @@ -1707,22 +1706,22 @@ _e_fm_file_menu_properties(void *data, E_Menu *m, E_Menu_Item *mi) o = e_widget_framelist_add(e, "General", 0); snprintf(text, 512, "Name:"); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "%s", file->attr->name); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "Owner:"); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "%s", username); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "Group:"); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "%s", groupname); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "Type:"); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); switch(_e_fm_file_type(file)) { case E_FILEMAN_FILETYPE_DIRECTORY: @@ -1738,36 +1737,36 @@ _e_fm_file_menu_properties(void *data, E_Menu *m, E_Menu_Item *mi) snprintf(text, 512, "Unknown"); break; } - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "Last Access:"); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "%s", lastaccess); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "Last Modification"); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); snprintf(text, 512, "%s", lastmod); - e_widget_framelist_object_append(o, e_widget_label_add(e, text, &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, text)); e_widget_list_object_append(hb, o, 0, 1, 0.0); o = e_widget_framelist_add(e, "Permissions", 0); - e_widget_framelist_object_append(o, e_widget_label_add(e, "User:", &my_val)); - e_widget_framelist_object_append(o, e_widget_check_add(e, "Read", &my_val)); - e_widget_framelist_object_append(o, e_widget_check_add(e, "Write", &my_val)); - e_widget_framelist_object_append(o, e_widget_check_add(e, "Execute", &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, "User:")); + e_widget_framelist_object_append(o, e_widget_check_add(e, "Read", &dummy_val)); + e_widget_framelist_object_append(o, e_widget_check_add(e, "Write", &dummy_val)); + e_widget_framelist_object_append(o, e_widget_check_add(e, "Execute", &dummy_val)); - e_widget_framelist_object_append(o, e_widget_label_add(e, "Group:", &my_val)); - e_widget_framelist_object_append(o, e_widget_check_add(e, "Read", &my_val)); - e_widget_framelist_object_append(o, e_widget_check_add(e, "Write", &my_val)); - e_widget_framelist_object_append(o, e_widget_check_add(e, "Execute", &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, "Group:")); + e_widget_framelist_object_append(o, e_widget_check_add(e, "Read", &dummy_val)); + e_widget_framelist_object_append(o, e_widget_check_add(e, "Write", &dummy_val)); + e_widget_framelist_object_append(o, e_widget_check_add(e, "Execute", &dummy_val)); - e_widget_framelist_object_append(o, e_widget_label_add(e, "World:", &my_val)); - e_widget_framelist_object_append(o, e_widget_check_add(e, "Read", &my_val)); - e_widget_framelist_object_append(o, e_widget_check_add(e, "Write", &my_val)); - e_widget_framelist_object_append(o, e_widget_check_add(e, "Execute", &my_val)); + e_widget_framelist_object_append(o, e_widget_label_add(e, "World:")); + e_widget_framelist_object_append(o, e_widget_check_add(e, "Read", &dummy_val)); + e_widget_framelist_object_append(o, e_widget_check_add(e, "Write", &dummy_val)); + e_widget_framelist_object_append(o, e_widget_check_add(e, "Execute", &dummy_val)); e_widget_list_object_append(hb, o, 0, 0, 0.0); diff --git a/src/bin/e_includes.h b/src/bin/e_includes.h index 3dff4be28..0d6d8f026 100644 --- a/src/bin/e_includes.h +++ b/src/bin/e_includes.h @@ -70,3 +70,4 @@ #include "e_widget_framelist.h" #include "e_widget_list.h" #include "e_widget_button.h" +#include "e_widget_label.h" diff --git a/src/bin/e_widget_button.c b/src/bin/e_widget_button.c index 9ee236e88..3bcee464a 100644 --- a/src/bin/e_widget_button.c +++ b/src/bin/e_widget_button.c @@ -85,9 +85,15 @@ _e_wid_focus_hook(Evas_Object *obj) wd = e_widget_data_get(obj); if (e_widget_focus_get(obj)) - edje_object_signal_emit(wd->o_button, "focus_in", ""); + { + edje_object_signal_emit(wd->o_button, "focus_in", ""); + evas_object_focus_set(wd->o_button, 1); + } else - edje_object_signal_emit(wd->o_button, "focus_out", ""); + { + edje_object_signal_emit(wd->o_button, "focus_out", ""); + evas_object_focus_set(wd->o_button, 0); + } } static void diff --git a/src/bin/e_widget_check.c b/src/bin/e_widget_check.c index 70b94fefb..86e4ee18a 100644 --- a/src/bin/e_widget_check.c +++ b/src/bin/e_widget_check.c @@ -73,9 +73,15 @@ _e_wid_focus_hook(Evas_Object *obj) wd = e_widget_data_get(obj); if (e_widget_focus_get(obj)) - edje_object_signal_emit(wd->o_check, "focus_in", ""); + { + edje_object_signal_emit(wd->o_check, "focus_in", ""); + evas_object_focus_set(wd->o_check, 1); + } else - edje_object_signal_emit(wd->o_check, "focus_out", ""); + { + edje_object_signal_emit(wd->o_check, "focus_out", ""); + evas_object_focus_set(wd->o_check, 0); + } } static void diff --git a/src/bin/e_widget_label.c b/src/bin/e_widget_label.c index 11ed9bb46..5f89581ac 100644 --- a/src/bin/e_widget_label.c +++ b/src/bin/e_widget_label.c @@ -2,118 +2,28 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ #include "e.h" - -typedef struct _E_Widget_Data E_Widget_Data; -struct _E_Widget_Data -{ - Evas_Object *o_label; - int *valptr; -}; - -static void _e_wid_del_hook(Evas_Object *obj); -static void _e_wid_focus_hook(Evas_Object *obj); -static void _e_wid_do(Evas_Object *obj); -static void _e_wid_activate_hook(Evas_Object *obj); -static void _e_wid_signal_cb1(void *data, Evas_Object *obj, const char *emission, const char *source); -static void _e_wid_focus_steal(void *data, Evas *e, Evas_Object *obj, void *event_info); /* local subsystem functions */ /* externally accessible functions */ Evas_Object * -e_widget_label_add(Evas *evas, char *label, int *val) +e_widget_label_add(Evas *evas, char *label) { Evas_Object *obj, *o; - E_Widget_Data *wd; Evas_Coord mw, mh; obj = e_widget_add(evas); - e_widget_del_hook_set(obj, _e_wid_del_hook); - e_widget_focus_hook_set(obj, _e_wid_focus_hook); - e_widget_activate_hook_set(obj, _e_wid_activate_hook); - wd = calloc(1, sizeof(E_Widget_Data)); - wd->valptr = val; - e_widget_data_set(obj, wd); - o = edje_object_add(evas); - wd->o_label = o; e_theme_edje_object_set(o, "base/theme/widgets", "widgets/label"); - edje_object_signal_callback_add(o, "toggled", "*", _e_wid_signal_cb1, obj); edje_object_part_text_set(o, "label", label); evas_object_show(o); edje_object_size_min_calc(o, &mw, &mh); + e_widget_can_focus_set(obj, 0); e_widget_min_size_set(obj, mw, mh); - - if (wd->valptr) - { - if (*(wd->valptr)) edje_object_signal_emit(o, "toggle_on", ""); - } - e_widget_sub_object_add(obj, o); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj); e_widget_resize_object_set(obj, o); return obj; } - -static void -_e_wid_del_hook(Evas_Object *obj) -{ - E_Widget_Data *wd; - - wd = e_widget_data_get(obj); - free(wd); -} - -static void -_e_wid_focus_hook(Evas_Object *obj) -{ - E_Widget_Data *wd; - - wd = e_widget_data_get(obj); - if (e_widget_focus_get(obj)) - edje_object_signal_emit(wd->o_label, "focus_in", ""); - else - edje_object_signal_emit(wd->o_label, "focus_out", ""); -} - -static void -_e_wid_do(Evas_Object *obj) -{ - E_Widget_Data *wd; - - wd = e_widget_data_get(obj); - if (wd->valptr) - { - if (*(wd->valptr) == 0) *(wd->valptr) = 1; - else *(wd->valptr) = 0; - } -} - -static void -_e_wid_activate_hook(Evas_Object *obj) -{ - E_Widget_Data *wd; - - wd = e_widget_data_get(obj); - _e_wid_do(obj); - if (wd->valptr) - { - if (*(wd->valptr)) edje_object_signal_emit(wd->o_label, "toggle_on", ""); - else edje_object_signal_emit(wd->o_label, "toggle_off", ""); - } -} - -static void -_e_wid_signal_cb1(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - _e_wid_do(data); -} - -static void -_e_wid_focus_steal(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - e_widget_focus_steal(data); -} diff --git a/src/bin/e_widget_label.h b/src/bin/e_widget_label.h index 2a45b2a37..31fa6d72a 100644 --- a/src/bin/e_widget_label.h +++ b/src/bin/e_widget_label.h @@ -6,7 +6,7 @@ #ifndef E_WIDGET_LABEL_H #define E_WIDGET_LABEL_H -EAPI Evas_Object *e_widget_label_add(Evas *evas, char *label, int *val); +EAPI Evas_Object *e_widget_label_add(Evas *evas, char *label); #endif #endif diff --git a/src/bin/e_widget_radio.c b/src/bin/e_widget_radio.c index ab43be436..cda2f4246 100644 --- a/src/bin/e_widget_radio.c +++ b/src/bin/e_widget_radio.c @@ -99,9 +99,15 @@ _e_wid_focus_hook(Evas_Object *obj) wd = e_widget_data_get(obj); if (e_widget_focus_get(obj)) - edje_object_signal_emit(wd->o_radio, "focus_in", ""); + { + edje_object_signal_emit(wd->o_radio, "focus_in", ""); + evas_object_focus_set(wd->o_radio, 1); + } else - edje_object_signal_emit(wd->o_radio, "focus_out", ""); + { + edje_object_signal_emit(wd->o_radio, "focus_out", ""); + evas_object_focus_set(wd->o_radio, 0); + } } static void