Get us some nice auto translation scheme
[framework/uifw/elementary.git] / src / lib / elm_main.c
index 89ca775..9144dbe 100644 (file)
@@ -2,7 +2,9 @@
 # include "elementary_config.h"
 #endif
 
+#ifdef HAVE_FORK
 #include <dlfcn.h> /* dlopen,dlclose,etc */
+#endif
 
 #ifdef HAVE_CRT_EXTERNS_H
 # include <crt_externs.h>
@@ -79,6 +81,7 @@ _elm_rescale(void)
 {
    edje_scale_set(_elm_config->scale);
    _elm_win_rescale(NULL, EINA_FALSE);
+   _elm_ews_wm_rescale(NULL, EINA_FALSE);
 }
 
 static void *app_mainfunc = NULL;
@@ -384,7 +387,7 @@ elm_quicklaunch_init(int    argc,
 
    if (argv) _elm_appname = strdup(ecore_file_file_get(argv[0]));
 
-   pfx = eina_prefix_new(NULL, elm_quicklaunch_init,
+   pfx = eina_prefix_new(argv[0], elm_quicklaunch_init,
                          "ELM", "elementary", "config/profile.cfg",
                          PACKAGE_LIB_DIR, /* don't have a bin dir currently */
                          PACKAGE_LIB_DIR,
@@ -421,21 +424,11 @@ elm_quicklaunch_sub_init(int    argc,
         edje_init();
         _elm_module_init();
         _elm_config_sub_init();
-#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
-        if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
-            ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
-            ENGINE_COMPARE(ELM_XRENDER_X11) ||
-            ENGINE_COMPARE(ELM_OPENGL_X11))
-#undef ENGINE_COMPARE
-          {
-#ifdef HAVE_ELEMENTARY_X
-             ecore_x_init(NULL);
-#endif
-          }
         ecore_evas_init(); // FIXME: check errors
         ecore_imf_init();
         ecore_con_init();
         ecore_con_url_init();
+        _elm_ews_wm_init();
      }
    return _elm_sub_init_count;
 }
@@ -455,21 +448,12 @@ elm_quicklaunch_sub_shutdown(void)
      {
         _elm_win_shutdown();
         _elm_module_shutdown();
+        _elm_ews_wm_shutdown();
         ecore_con_url_shutdown();
         ecore_con_shutdown();
         ecore_imf_shutdown();
         ecore_evas_shutdown();
-#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
-        if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
-            ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
-            ENGINE_COMPARE(ELM_XRENDER_X11) ||
-            ENGINE_COMPARE(ELM_OPENGL_X11))
-#undef ENGINE_COMPARE
-          {
-#ifdef HAVE_ELEMENTARY_X
-             ecore_x_disconnect();
-#endif
-          }
+        _elm_config_sub_shutdown();
 #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
         if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
             ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
@@ -479,7 +463,8 @@ elm_quicklaunch_sub_shutdown(void)
             ENGINE_COMPARE(ELM_SOFTWARE_16_SDL) ||
             ENGINE_COMPARE(ELM_OPENGL_SDL) ||
             ENGINE_COMPARE(ELM_SOFTWARE_WIN32) ||
-            ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE))
+            ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE) ||
+            ENGINE_COMPARE(ELM_EWS))
 #undef ENGINE_COMPARE
           evas_cserve_disconnect();
         edje_shutdown();
@@ -512,6 +497,7 @@ elm_quicklaunch_shutdown(void)
    _elm_unneed_efreet();
    _elm_unneed_e_dbus();
    _elm_unneed_ethumb();
+   _elm_unneed_web();
    ecore_file_shutdown();
 
 #ifdef HAVE_ELEMENTARY_EMAP
@@ -879,6 +865,13 @@ elm_policy_get(unsigned int policy)
    return _elm_policies[policy];
 }
 
+EAPI void
+elm_language_set(const char *lang)
+{
+   setlocale(LC_ALL, lang);
+   _elm_win_translate();
+}
+
 EAPI Eina_Bool
 elm_object_mirrored_get(const Evas_Object *obj)
 {
@@ -941,6 +934,20 @@ elm_object_text_part_get(const Evas_Object *obj, const char *part)
 }
 
 EAPI void
+elm_object_domain_translatable_text_part_set(Evas_Object *obj, const char *part, const char *domain, const char *text)
+{
+   EINA_SAFETY_ON_NULL_RETURN(obj);
+   elm_widget_domain_translatable_text_part_set(obj, part, domain, text);
+}
+
+EAPI const char *
+elm_object_translatable_text_part_get(const Evas_Object *obj, const char *part)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
+   return elm_widget_translatable_text_part_get(obj, part);
+}
+
+EAPI void
 elm_object_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content)
 {
    EINA_SAFETY_ON_NULL_RETURN(obj);
@@ -978,14 +985,36 @@ elm_scale_set(double scale)
 EAPI void
 elm_scale_all_set(double scale)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int scale_i = (unsigned int)(scale * 1000.0);
+   elm_scale_set(scale);
+   _elm_config_all_update();
+}
 
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_SCALE");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &scale_i, 1);
-#endif
+EAPI Eina_Bool
+elm_password_show_last_get(void)
+{
+   return _elm_config->password_show_last;
+}
+
+EAPI void
+elm_password_show_last_set(Eina_Bool password_show_last)
+{
+   if (_elm_config->password_show_last == password_show_last) return;
+   _elm_config->password_show_last = password_show_last;
+   edje_password_show_last_set(_elm_config->password_show_last);
+}
+
+EAPI double
+elm_password_show_last_timeout_get(void)
+{
+   return _elm_config->password_show_last_timeout;
+}
+
+EAPI void
+elm_password_show_last_timeout_set(double password_show_last_timeout)
+{
+   if (_elm_config->password_show_last_timeout == password_show_last_timeout) return;
+   _elm_config->password_show_last_timeout = password_show_last_timeout;
+   edje_password_show_last_timeout_set(_elm_config->password_show_last_timeout);
 }
 
 EAPI void
@@ -1074,13 +1103,8 @@ elm_profile_set(const char *profile)
 EAPI void
 elm_profile_all_set(const char *profile)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_PROFILE");
-   ecore_x_window_prop_string_set(ecore_x_window_root_first_get(),
-                                  atom, profile);
-#endif
+   _elm_config_profile_set(profile);
+   _elm_config_all_update();
 }
 
 EAPI const char *
@@ -1138,14 +1162,8 @@ elm_font_overlay_apply(void)
 EAPI void
 elm_font_overlay_all_apply(void)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int dummy = (unsigned int)(1 * 1000.0);
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_FONT_OVERLAY");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(), atom, &dummy,
-                                  1);
-#endif
+   elm_font_overlay_apply();
+   _elm_config_all_update();
 }
 
 EAPI Elm_Font_Properties *
@@ -1245,14 +1263,8 @@ elm_finger_size_set(Evas_Coord size)
 EAPI void
 elm_finger_size_all_set(Evas_Coord size)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int size_i = (unsigned int)size;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_FINGER_SIZE");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &size_i, 1);
-#endif
+   elm_finger_size_set(size);
+   _elm_config_all_update();
 }
 
 EAPI void
@@ -1303,14 +1315,8 @@ elm_cache_flush_interval_set(int size)
 EAPI void
 elm_cache_flush_interval_all_set(int size)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int size_i = (unsigned int)size;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_CACHE_FLUSH_INTERVAL");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &size_i, 1);
-#endif
+   elm_cache_flush_interval_set(size);
+   _elm_config_all_update();
 }
 
 EAPI Eina_Bool
@@ -1332,14 +1338,8 @@ elm_cache_flush_enabled_set(Eina_Bool enabled)
 EAPI void
 elm_cache_flush_enabled_all_set(Eina_Bool enabled)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int enabled_i = (unsigned int)enabled;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_CACHE_FLUSH_ENABLE");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &enabled_i, 1);
-#endif
+   elm_cache_flush_enabled_set(enabled);
+   _elm_config_all_update();
 }
 
 EAPI int
@@ -1360,14 +1360,8 @@ elm_font_cache_set(int size)
 EAPI void
 elm_font_cache_all_set(int size)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int size_i = (unsigned int)size;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_FONT_CACHE");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &size_i, 1);
-#endif
+   elm_font_cache_set(size);
+   _elm_config_all_update();
 }
 
 EAPI int
@@ -1388,14 +1382,8 @@ elm_image_cache_set(int size)
 EAPI void
 elm_image_cache_all_set(int size)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int size_i = (unsigned int)size;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_IMAGE_CACHE");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &size_i, 1);
-#endif
+   elm_image_cache_set(size);
+   _elm_config_all_update();
 }
 
 EAPI int
@@ -1416,14 +1404,8 @@ elm_edje_file_cache_set(int size)
 EAPI void
 elm_edje_file_cache_all_set(int size)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int size_i = (unsigned int)size;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_EDJE_FILE_CACHE");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &size_i, 1);
-#endif
+   elm_edje_file_cache_set(size);
+   _elm_config_all_update();
 }
 
 EAPI int
@@ -1444,14 +1426,8 @@ elm_edje_collection_cache_set(int size)
 EAPI void
 elm_edje_collection_cache_all_set(int size)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int size_i = (unsigned int)size;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_EDJE_COLLECTION_CACHE");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &size_i, 1);
-#endif
+   elm_edje_collection_cache_set(size);
+   _elm_config_all_update();
 }
 
 EAPI Eina_Bool
@@ -1620,15 +1596,8 @@ elm_scroll_bounce_enabled_set(Eina_Bool enabled)
 EAPI void
 elm_scroll_bounce_enabled_all_set(Eina_Bool enabled)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int bounce_enable_i = (unsigned int)enabled;
-
-   if (!atom)
-     atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_BOUNCE_ENABLE");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &bounce_enable_i, 1);
-#endif
+   elm_scroll_bounce_enabled_set(enabled);
+   _elm_config_all_update();
 }
 
 EAPI double
@@ -1646,15 +1615,8 @@ elm_scroll_bounce_friction_set(double friction)
 EAPI void
 elm_scroll_bounce_friction_all_set(double friction)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int bounce_friction_i = (unsigned int)(friction * 1000.0);
-
-   if (!atom)
-     atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_BOUNCE_FRICTION");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &bounce_friction_i, 1);
-#endif
+   elm_scroll_bounce_friction_set(friction);
+   _elm_config_all_update();
 }
 
 EAPI double
@@ -1672,15 +1634,8 @@ elm_scroll_page_scroll_friction_set(double friction)
 EAPI void
 elm_scroll_page_scroll_friction_all_set(double friction)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int page_scroll_friction_i = (unsigned int)(friction * 1000.0);
-
-   if (!atom)
-     atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_PAGE_SCROLL_FRICTION");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &page_scroll_friction_i, 1);
-#endif
+   elm_scroll_page_scroll_friction_set(friction);
+   _elm_config_all_update();
 }
 
 EAPI double
@@ -1698,16 +1653,8 @@ elm_scroll_bring_in_scroll_friction_set(double friction)
 EAPI void
 elm_scroll_bring_in_scroll_friction_all_set(double friction)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int bring_in_scroll_friction_i = (unsigned int)(friction * 1000.0);
-
-   if (!atom)
-     atom =
-       ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_BRING_IN_SCROLL_FRICTION");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &bring_in_scroll_friction_i, 1);
-#endif
+   elm_scroll_bring_in_scroll_friction_set(friction);
+   _elm_config_all_update();
 }
 
 EAPI double
@@ -1725,15 +1672,8 @@ elm_scroll_zoom_friction_set(double friction)
 EAPI void
 elm_scroll_zoom_friction_all_set(double friction)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int zoom_friction_i = (unsigned int)(friction * 1000.0);
-
-   if (!atom)
-     atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_ZOOM_FRICTION");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &zoom_friction_i, 1);
-#endif
+   elm_scroll_zoom_friction_set(friction);
+   _elm_config_all_update();
 }
 
 EAPI Eina_Bool
@@ -1751,14 +1691,8 @@ elm_scroll_thumbscroll_enabled_set(Eina_Bool enabled)
 EAPI void
 elm_scroll_thumbscroll_enabled_all_set(Eina_Bool enabled)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int ts_enable_i = (unsigned int)enabled;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_ENABLE");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &ts_enable_i, 1);
-#endif
+   elm_scroll_thumbscroll_enabled_set(enabled);
+   _elm_config_all_update();
 }
 
 EAPI unsigned int
@@ -1776,14 +1710,8 @@ elm_scroll_thumbscroll_threshold_set(unsigned int threshold)
 EAPI void
 elm_scroll_thumbscroll_threshold_all_set(unsigned int threshold)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int ts_threshold_i = (unsigned int)threshold;
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_THRESHOLD");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &ts_threshold_i, 1);
-#endif
+   elm_scroll_thumbscroll_threshold_set(threshold);
+   _elm_config_all_update();
 }
 
 EAPI double
@@ -1801,15 +1729,8 @@ elm_scroll_thumbscroll_momentum_threshold_set(double threshold)
 EAPI void
 elm_scroll_thumbscroll_momentum_threshold_all_set(double threshold)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int ts_momentum_threshold_i = (unsigned int)(threshold * 1000.0);
-
-   if (!atom)
-     atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_MOMENTUM_THRESHOLD");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &ts_momentum_threshold_i, 1);
-#endif
+   elm_scroll_thumbscroll_momentum_threshold_set(threshold);
+   _elm_config_all_update();
 }
 
 EAPI double
@@ -1827,14 +1748,8 @@ elm_scroll_thumbscroll_friction_set(double friction)
 EAPI void
 elm_scroll_thumbscroll_friction_all_set(double friction)
 {
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int ts_friction_i = (unsigned int)(friction * 1000.0);
-
-   if (!atom) atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_FRICTION");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &ts_friction_i, 1);
-#endif
+   elm_scroll_thumbscroll_friction_set(friction);
+   _elm_config_all_update();
 }
 
 EAPI double
@@ -1846,33 +1761,37 @@ elm_scroll_thumbscroll_border_friction_get(void)
 EAPI void
 elm_scroll_thumbscroll_border_friction_set(double friction)
 {
-   if (friction < 0.0)
-     friction = 0.0;
-
-   if (friction > 1.0)
-     friction = 1.0;
-
+   if (friction < 0.0) friction = 0.0;
+   if (friction > 1.0) friction = 1.0;
    _elm_config->thumbscroll_friction = friction;
 }
 
 EAPI void
 elm_scroll_thumbscroll_border_friction_all_set(double friction)
 {
-   if (friction < 0.0)
-     friction = 0.0;
+   elm_scroll_thumbscroll_border_friction_set(friction);
+   _elm_config_all_update();
+}
 
-   if (friction > 1.0)
-     friction = 1.0;
+EAPI double
+elm_scroll_thumbscroll_sensitivity_friction_get(void)
+{
+   return _elm_config->thumbscroll_sensitivity_friction;
+}
 
-#ifdef HAVE_ELEMENTARY_X
-   static Ecore_X_Atom atom = 0;
-   unsigned int border_friction_i = (unsigned int)(friction * 1000.0);
+EAPI void
+elm_scroll_thumbscroll_sensitivity_friction_set(double friction)
+{
+   if (friction < 0.1) friction = 0.1;
+   if (friction > 1.0) friction = 1.0;
+   _elm_config->thumbscroll_friction = friction;
+}
 
-   if (!atom)
-     atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_BORDER_FRICTION");
-   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                  atom, &border_friction_i, 1);
-#endif
+EAPI void
+elm_scroll_thumbscroll_sensitivity_friction_all_set(double friction)
+{
+   elm_scroll_thumbscroll_sensitivity_friction_set(friction);
+   _elm_config_all_update();
 }
 
 EAPI void
@@ -2040,25 +1959,31 @@ elm_longpress_timeout_get(void)
    return _elm_config->longpress_timeout;
 }
 
+EAPI Evas_Object *
+elm_object_item_object_get(const Elm_Object_Item *it)
+{
+   return ((Elm_Widget_Item *) it)->widget;
+}
+
 EAPI void
 elm_object_item_content_part_set(Elm_Object_Item *it,
                                  const char *part,
                                  Evas_Object *content)
 {
-   elm_widget_item_content_part_set(it, part, content);
+   _elm_widget_item_content_part_set((Elm_Widget_Item *) it, part, content);
 }
 
 EAPI Evas_Object *
 elm_object_item_content_part_get(const Elm_Object_Item *it,
                                  const char *part)
 {
-   return elm_widget_item_content_part_get(it, part);
+   return _elm_widget_item_content_part_get((Elm_Widget_Item *) it, part);
 }
 
 EAPI Evas_Object *
 elm_object_item_content_part_unset(Elm_Object_Item *it, const char *part)
 {
-   return elm_widget_item_content_part_unset(it, part);
+   return _elm_widget_item_content_part_unset((Elm_Widget_Item *) it, part);
 }
 
 EAPI void
@@ -2066,11 +1991,41 @@ elm_object_item_text_part_set(Elm_Object_Item *it,
                               const char *part,
                               const char *label)
 {
-   elm_widget_item_text_part_set(it, part, label);
+   _elm_widget_item_text_part_set((Elm_Widget_Item *) it, part, label);
 }
 
 EAPI const char *
 elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part)
 {
-   return elm_widget_item_text_part_get(it, part);
+   return _elm_widget_item_text_part_get((Elm_Widget_Item *) it, part);
+}
+
+EAPI void
+elm_object_access_info_set(Evas_Object *obj, const char *txt)
+{
+   elm_widget_access_info_set(obj, txt);
+}
+
+EAPI void
+elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt)
+{
+   _elm_widget_item_access_info_set((Elm_Widget_Item *) it, txt);
+}
+
+EAPI void *
+elm_object_item_data_get(const Elm_Object_Item *it)
+{
+   return elm_widget_item_data_get(it);
+}
+
+EAPI void
+elm_object_item_data_set(Elm_Object_Item *it, void *data)
+{
+   elm_widget_item_data_set(it, data);
+}
+
+EAPI void
+elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source)
+{
+   _elm_widget_item_signal_emit((Elm_Widget_Item *) it, emission, source);
 }