2 # include "elementary_config.h"
6 #include <dlfcn.h> /* dlopen,dlclose,etc */
9 #ifdef HAVE_CRT_EXTERNS_H
10 # include <crt_externs.h>
17 #include <Elementary.h>
20 #define SEMI_BROKEN_QUICKLAUNCH 1
22 static Elm_Version _version = { VMAJ, VMIN, VMIC, VREV };
23 EAPI Elm_Version *elm_version = &_version;
26 _elm_dangerous_call_check(const char *call)
31 snprintf(buf, sizeof(buf), "%i.%i.%i.%i", VMAJ, VMIN, VMIC, VREV);
32 eval = getenv("ELM_NO_FINGER_WAGGLING");
33 if ((eval) && (!strcmp(eval, buf)))
35 printf("ELEMENTARY FINGER WAGGLE!!!!!!!!!!\n"
38 "PLEASE see the API documentation for this function. This call\n"
39 "should almost never be used. Only in very special cases.\n"
41 "To remove this warning please set the environment variable:\n"
42 " ELM_NO_FINGER_WAGGLING\n"
43 "To the value of the Elementary version + revision number. e.g.:\n"
51 static Eina_Bool _elm_signal_exit(void *data,
55 static Eina_Prefix *pfx = NULL;
56 char *_elm_appname = NULL;
57 const char *_elm_data_dir = NULL;
58 const char *_elm_lib_dir = NULL;
59 int _elm_log_dom = -1;
61 EAPI int ELM_EVENT_POLICY_CHANGED = 0;
63 static int _elm_init_count = 0;
64 static int _elm_sub_init_count = 0;
65 static int _elm_ql_init_count = 0;
66 static int _elm_policies[ELM_POLICY_LAST];
67 static Ecore_Event_Handler *_elm_exit_handler = NULL;
68 static Eina_Bool quicklaunch_on = 0;
71 _elm_signal_exit(void *data __UNUSED__,
72 int ev_type __UNUSED__,
76 return ECORE_CALLBACK_PASS_ON;
82 edje_scale_set(_elm_config->scale);
83 _elm_win_rescale(NULL, EINA_FALSE);
84 _elm_ews_wm_rescale(NULL, EINA_FALSE);
87 static void *app_mainfunc = NULL;
88 static const char *app_domain = NULL;
89 static const char *app_checkfile = NULL;
91 static const char *app_compile_bin_dir = NULL;
92 static const char *app_compile_lib_dir = NULL;
93 static const char *app_compile_data_dir = NULL;
94 static const char *app_compile_locale_dir = NULL;
95 static const char *app_prefix_dir = NULL;
96 static const char *app_bin_dir = NULL;
97 static const char *app_lib_dir = NULL;
98 static const char *app_data_dir = NULL;
99 static const char *app_locale_dir = NULL;
101 static Eina_Prefix *app_pfx = NULL;
108 const char *dirs[4] = { NULL, NULL, NULL, NULL };
109 char *caps = NULL, *p1, *p2;
112 if (!app_domain) return;
114 ecore_app_args_get(&argc, &argv);
115 if (argc < 1) return;
117 dirs[0] = app_compile_bin_dir;
118 dirs[1] = app_compile_lib_dir;
119 dirs[2] = app_compile_data_dir;
120 dirs[3] = app_compile_locale_dir;
122 if (!dirs[1]) dirs[1] = dirs[0];
123 if (!dirs[0]) dirs[0] = dirs[1];
124 if (!dirs[3]) dirs[3] = dirs[2];
125 if (!dirs[2]) dirs[2] = dirs[3];
129 caps = alloca(strlen(app_domain) + 1);
130 for (p1 = (char *)app_domain, p2 = caps; *p1; p1++, p2++)
134 app_pfx = eina_prefix_new(argv[0], app_mainfunc, caps, app_domain,
135 app_checkfile, dirs[0], dirs[1], dirs[2], dirs[3]);
139 _prefix_shutdown(void)
141 if (app_pfx) eina_prefix_free(app_pfx);
142 if (app_domain) eina_stringshare_del(app_domain);
143 if (app_checkfile) eina_stringshare_del(app_checkfile);
144 if (app_compile_bin_dir) eina_stringshare_del(app_compile_bin_dir);
145 if (app_compile_lib_dir) eina_stringshare_del(app_compile_lib_dir);
146 if (app_compile_data_dir) eina_stringshare_del(app_compile_data_dir);
147 if (app_compile_locale_dir) eina_stringshare_del(app_compile_locale_dir);
148 if (app_prefix_dir) eina_stringshare_del(app_prefix_dir);
149 if (app_bin_dir) eina_stringshare_del(app_bin_dir);
150 if (app_lib_dir) eina_stringshare_del(app_lib_dir);
151 if (app_data_dir) eina_stringshare_del(app_data_dir);
152 if (app_locale_dir) eina_stringshare_del(app_locale_dir);
155 app_checkfile = NULL;
156 app_compile_bin_dir = NULL;
157 app_compile_lib_dir = NULL;
158 app_compile_data_dir = NULL;
159 app_compile_locale_dir = NULL;
160 app_prefix_dir = NULL;
164 app_locale_dir = NULL;
173 if (_elm_init_count > 1) return _elm_init_count;
174 elm_quicklaunch_init(argc, argv);
175 elm_quicklaunch_sub_init(argc, argv);
177 return _elm_init_count;
184 if (_elm_init_count > 0) return _elm_init_count;
186 while (_elm_win_deferred_free) ecore_main_loop_iterate();
188 // _prefix_shutdown();
189 elm_quicklaunch_sub_shutdown();
190 elm_quicklaunch_shutdown();
191 return _elm_init_count;
195 elm_app_info_set(void *mainfunc, const char *dom, const char *checkfile)
197 app_mainfunc = mainfunc;
198 eina_stringshare_replace(&app_domain, dom);
199 eina_stringshare_replace(&app_checkfile, checkfile);
203 elm_app_compile_bin_dir_set(const char *dir)
205 eina_stringshare_replace(&app_compile_bin_dir, dir);
209 elm_app_compile_lib_dir_set(const char *dir)
211 eina_stringshare_replace(&app_compile_lib_dir, dir);
215 elm_app_compile_data_dir_set(const char *dir)
217 eina_stringshare_replace(&app_compile_data_dir, dir);
221 elm_app_compile_locale_set(const char *dir)
223 eina_stringshare_replace(&app_compile_locale_dir, dir);
227 elm_app_prefix_dir_get(void)
229 if (app_prefix_dir) return app_prefix_dir;
231 if (!app_pfx) return "";
232 app_prefix_dir = eina_prefix_get(app_pfx);
233 return app_prefix_dir;
237 elm_app_bin_dir_get(void)
239 if (app_bin_dir) return app_bin_dir;
241 if (!app_pfx) return "";
242 app_bin_dir = eina_prefix_bin_get(app_pfx);
247 elm_app_lib_dir_get(void)
249 if (app_lib_dir) return app_lib_dir;
251 if (!app_pfx) return "";
252 app_lib_dir = eina_prefix_lib_get(app_pfx);
257 elm_app_data_dir_get(void)
259 if (app_data_dir) return app_data_dir;
261 if (!app_pfx) return "";
262 app_data_dir = eina_prefix_data_get(app_pfx);
267 elm_app_locale_dir_get(void)
269 if (app_locale_dir) return app_locale_dir;
271 if (!app_pfx) return "";
272 app_locale_dir = eina_prefix_locale_get(app_pfx);
273 return app_locale_dir;
277 static int _elm_need_e_dbus = 0;
280 elm_need_e_dbus(void)
283 if (_elm_need_e_dbus++) return EINA_TRUE;
292 _elm_unneed_e_dbus(void)
295 if (--_elm_need_e_dbus) return;
297 _elm_need_e_dbus = 0;
303 static int _elm_need_efreet = 0;
306 elm_need_efreet(void)
309 if (_elm_need_efreet++) return EINA_TRUE;
317 list = efreet_icon_extra_list_get();
320 e_user_dir_concat_static(buf, "icons");
321 *list = eina_list_prepend(*list, (void *)eina_stringshare_add(buf));
322 e_prefix_data_concat_static(buf, "data/icons");
323 *list = eina_list_prepend(*list, (void *)eina_stringshare_add(buf));
334 _elm_unneed_efreet(void)
337 if (--_elm_need_efreet) return;
339 _elm_need_efreet = 0;
340 efreet_trash_shutdown();
341 efreet_mime_shutdown();
347 elm_quicklaunch_mode_set(Eina_Bool ql_on)
349 quicklaunch_on = ql_on;
353 elm_quicklaunch_mode_get(void)
355 return quicklaunch_on;
359 elm_quicklaunch_init(int argc,
362 _elm_ql_init_count++;
363 if (_elm_ql_init_count > 1) return _elm_ql_init_count;
365 _elm_log_dom = eina_log_domain_register("elementary", EINA_COLOR_LIGHTBLUE);
368 EINA_LOG_ERR("could not register elementary log domain.");
369 _elm_log_dom = EINA_LOG_DOMAIN_GLOBAL;
375 #ifdef HAVE_ELEMENTARY_EMAP
378 ecore_app_args_set(argc, (const char **)argv);
380 memset(_elm_policies, 0, sizeof(_elm_policies));
381 if (!ELM_EVENT_POLICY_CHANGED)
382 ELM_EVENT_POLICY_CHANGED = ecore_event_type_new();
386 _elm_exit_handler = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, _elm_signal_exit, NULL);
388 if (argv) _elm_appname = strdup(ecore_file_file_get(argv[0]));
390 pfx = eina_prefix_new(argv ? argv[0] : NULL, elm_quicklaunch_init,
391 "ELM", "elementary", "config/profile.cfg",
392 PACKAGE_LIB_DIR, /* don't have a bin dir currently */
398 _elm_data_dir = eina_stringshare_add(eina_prefix_data_get(pfx));
399 _elm_lib_dir = eina_stringshare_add(eina_prefix_lib_get(pfx));
401 if (!_elm_data_dir) _elm_data_dir = eina_stringshare_add("/");
402 if (!_elm_lib_dir) _elm_lib_dir = eina_stringshare_add("/");
405 return _elm_ql_init_count;
409 elm_quicklaunch_sub_init(int argc,
412 _elm_sub_init_count++;
413 if (_elm_sub_init_count > 1) return _elm_sub_init_count;
416 #ifdef SEMI_BROKEN_QUICKLAUNCH
417 return _elm_sub_init_count;
422 ecore_app_args_set(argc, (const char **)argv);
426 _elm_config_sub_init();
427 ecore_evas_init(); // FIXME: check errors
428 #ifdef HAVE_ELEMENTARY_ECORE_IMF
431 #ifdef HAVE_ELEMENTARY_ECORE_CON
433 ecore_con_url_init();
437 return _elm_sub_init_count;
441 elm_quicklaunch_sub_shutdown(void)
443 _elm_sub_init_count--;
444 if (_elm_sub_init_count > 0) return _elm_sub_init_count;
447 #ifdef SEMI_BROKEN_QUICKLAUNCH
448 return _elm_sub_init_count;
454 _elm_module_shutdown();
455 _elm_ews_wm_shutdown();
456 #ifdef HAVE_ELEMENTARY_ECORE_CON
457 ecore_con_url_shutdown();
458 ecore_con_shutdown();
460 #ifdef HAVE_ELEMENTARY_ECORE_IMF
461 ecore_imf_shutdown();
463 ecore_evas_shutdown();
464 _elm_config_sub_shutdown();
465 #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
466 if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
467 ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
468 ENGINE_COMPARE(ELM_XRENDER_X11) ||
469 ENGINE_COMPARE(ELM_OPENGL_X11) ||
470 ENGINE_COMPARE(ELM_SOFTWARE_SDL) ||
471 ENGINE_COMPARE(ELM_SOFTWARE_16_SDL) ||
472 ENGINE_COMPARE(ELM_OPENGL_SDL) ||
473 ENGINE_COMPARE(ELM_OPENGL_COCOA) ||
474 ENGINE_COMPARE(ELM_SOFTWARE_WIN32) ||
475 ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE) ||
476 ENGINE_COMPARE(ELM_EWS))
477 #undef ENGINE_COMPARE
478 evas_cserve_disconnect();
482 return _elm_sub_init_count;
486 elm_quicklaunch_shutdown(void)
488 _elm_ql_init_count--;
489 if (_elm_ql_init_count > 0) return _elm_ql_init_count;
490 if (pfx) eina_prefix_free(pfx);
492 eina_stringshare_del(_elm_data_dir);
493 _elm_data_dir = NULL;
494 eina_stringshare_del(_elm_lib_dir);
500 _elm_config_shutdown();
502 ecore_event_handler_del(_elm_exit_handler);
503 _elm_exit_handler = NULL;
505 _elm_theme_shutdown();
506 _elm_unneed_efreet();
507 _elm_unneed_e_dbus();
508 _elm_unneed_ethumb();
510 ecore_file_shutdown();
512 #ifdef HAVE_ELEMENTARY_EMAP
519 if ((_elm_log_dom > -1) && (_elm_log_dom != EINA_LOG_DOMAIN_GLOBAL))
521 eina_log_domain_unregister(_elm_log_dom);
525 _elm_widget_type_clear();
528 return _elm_ql_init_count;
532 elm_quicklaunch_seed(void)
534 #ifndef SEMI_BROKEN_QUICKLAUNCH
537 Evas_Object *win, *bg, *bt;
539 win = elm_win_add(NULL, "seed", ELM_WIN_BASIC);
540 bg = elm_bg_add(win);
541 elm_win_resize_object_add(win, bg);
542 evas_object_show(bg);
543 bt = elm_button_add(win);
544 elm_button_label_set(bt, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~-_=+\\|]}[{;:'\",<.>/?");
545 elm_win_resize_object_add(win, bt);
546 ecore_main_loop_iterate();
547 evas_object_del(win);
548 ecore_main_loop_iterate();
549 #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
550 if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
551 ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
552 ENGINE_COMPARE(ELM_XRENDER_X11) ||
553 ENGINE_COMPARE(ELM_OPENGL_X11))
554 #undef ENGINE_COMPARE
556 # ifdef HAVE_ELEMENTARY_X
560 ecore_main_loop_iterate();
566 static void *qr_handle = NULL;
568 static int (*qr_main)(int argc,
572 elm_quicklaunch_prepare(int argc __UNUSED__,
576 char *exe = elm_quicklaunch_exe_path_get(argv[0]);
579 ERR("requested quicklaunch binary '%s' does not exist\n", argv[0]);
587 exe2 = malloc(strlen(exe) + 1 + 10);
589 p = strrchr(exe2, '/');
592 exename = alloca(strlen(p) + 1);
595 strcat(p, "../lib/");
598 if (!access(exe2, R_OK | X_OK))
606 qr_handle = dlopen(exe, RTLD_NOW | RTLD_GLOBAL);
609 fprintf(stderr, "dlerr: %s\n", dlerror());
610 WRN("dlopen('%s') failed: %s", exe, dlerror());
614 INF("dlopen('%s') = %p", exe, qr_handle);
615 qr_main = dlsym(qr_handle, "elm_main");
616 INF("dlsym(%p, 'elm_main') = %p", qr_handle, qr_main);
619 WRN("not quicklauncher capable: no elm_main in '%s'", exe);
638 extern char **environ;
643 for (i = 0, size = 0; environ[i]; i++)
644 size += strlen(environ[i]) + 1;
646 p = malloc((i + 1) * sizeof(char *));
651 for (i = 0; oldenv[i]; i++)
652 environ[i] = strdup(oldenv[i]);
659 elm_quicklaunch_fork(int argc,
662 void (postfork_func) (void *data),
672 // need to accept current environment from elementary_run
679 if (child > 0) return EINA_TRUE;
682 perror("could not fork");
687 perror("could not chdir");
688 args = alloca((argc + 1) * sizeof(char *));
689 for (i = 0; i < argc; i++) args[i] = argv[i];
691 WRN("%s not quicklaunch capable, fallback...", argv[0]);
692 execvp(argv[0], args);
693 ERR("failed to execute '%s': %s", argv[0], strerror(errno));
697 if (child > 0) return EINA_TRUE;
700 perror("could not fork");
703 if (postfork_func) postfork_func(postfork_data);
707 #ifdef SEMI_BROKEN_QUICKLAUNCH
708 ecore_app_args_set(argc, (const char **)argv);
711 _elm_config_sub_init();
712 #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
713 if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
714 ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
715 ENGINE_COMPARE(ELM_XRENDER_X11) ||
716 ENGINE_COMPARE(ELM_OPENGL_X11))
717 #undef ENGINE_COMPARE
719 # ifdef HAVE_ELEMENTARY_X
723 ecore_evas_init(); // FIXME: check errors
731 perror("could not chdir");
732 // FIXME: this is very linux specific. it changes argv[0] of the process
733 // so ps etc. report what you'd expect. for other unixes and os's this
740 ecore_app_args_get(&real_argc, &real_argv);
741 lastarg = real_argv[real_argc - 1] + strlen(real_argv[real_argc - 1]);
742 for (p = real_argv[0]; p < lastarg; p++) *p = 0;
743 strcpy(real_argv[0], argv[0]);
745 ecore_app_args_set(argc, (const char **)argv);
746 ret = qr_main(argc, argv);
760 elm_quicklaunch_cleanup(void)
773 elm_quicklaunch_fallback(int argc,
777 elm_quicklaunch_init(argc, argv);
778 elm_quicklaunch_sub_init(argc, argv);
779 elm_quicklaunch_prepare(argc, argv);
780 ret = qr_main(argc, argv);
786 elm_quicklaunch_exe_path_get(const char *exe)
788 static char *path = NULL;
789 static Eina_List *pathlist = NULL;
793 if (exe[0] == '/') return strdup(exe);
794 if ((exe[0] == '.') && (exe[1] == '/')) return strdup(exe);
795 if ((exe[0] == '.') && (exe[1] == '.') && (exe[2] == '/')) return strdup(exe);
800 path = getenv("PATH");
801 buf2 = alloca(strlen(path) + 1);
806 if ((*p == ':') || (!*p))
811 strncpy(buf2, pp, len);
813 pathlist = eina_list_append(pathlist, eina_stringshare_add(buf2));
825 EINA_LIST_FOREACH(pathlist, l, pathitr)
827 snprintf(buf, sizeof(buf), "%s/%s", pathitr, exe);
828 if (!access(buf, R_OK | X_OK)) return strdup(buf);
836 ecore_main_loop_begin();
842 ecore_main_loop_quit();
846 elm_policy_set(unsigned int policy,
849 Elm_Event_Policy_Changed *ev;
851 if (policy >= ELM_POLICY_LAST)
854 if (value == _elm_policies[policy])
857 /* TODO: validade policy? */
859 ev = malloc(sizeof(*ev));
861 ev->new_value = value;
862 ev->old_value = _elm_policies[policy];
864 _elm_policies[policy] = value;
866 ecore_event_add(ELM_EVENT_POLICY_CHANGED, ev, NULL, NULL);
872 elm_policy_get(unsigned int policy)
874 if (policy >= ELM_POLICY_LAST)
876 return _elm_policies[policy];
880 elm_language_set(const char *lang)
882 setlocale(LC_ALL, lang);
883 _elm_win_translate();
887 elm_object_mirrored_get(const Evas_Object *obj)
889 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
890 return elm_widget_mirrored_get(obj);
894 elm_object_mirrored_set(Evas_Object *obj, Eina_Bool mirrored)
896 EINA_SAFETY_ON_NULL_RETURN(obj);
897 elm_widget_mirrored_set(obj, mirrored);
901 elm_object_mirrored_automatic_get(const Evas_Object *obj)
903 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
904 return elm_widget_mirrored_automatic_get(obj);
908 elm_object_mirrored_automatic_set(Evas_Object *obj, Eina_Bool automatic)
910 EINA_SAFETY_ON_NULL_RETURN(obj);
911 elm_widget_mirrored_automatic_set(obj, automatic);
919 elm_object_scale_set(Evas_Object *obj,
922 EINA_SAFETY_ON_NULL_RETURN(obj);
923 elm_widget_scale_set(obj, scale);
927 elm_object_scale_get(const Evas_Object *obj)
929 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, 0.0);
930 return elm_widget_scale_get(obj);
934 elm_object_text_part_set(Evas_Object *obj, const char *part, const char *label)
936 EINA_SAFETY_ON_NULL_RETURN(obj);
937 elm_widget_text_part_set(obj, part, label);
941 elm_object_text_part_get(const Evas_Object *obj, const char *part)
943 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
944 return elm_widget_text_part_get(obj, part);
948 elm_object_part_text_set(Evas_Object *obj, const char *part, const char *label)
950 EINA_SAFETY_ON_NULL_RETURN(obj);
951 elm_widget_text_part_set(obj, part, label);
955 elm_object_part_text_get(const Evas_Object *obj, const char *part)
957 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
958 return elm_widget_text_part_get(obj, part);
962 elm_object_domain_translatable_text_part_set(Evas_Object *obj, const char *part, const char *domain, const char *text)
964 EINA_SAFETY_ON_NULL_RETURN(obj);
965 elm_widget_domain_translatable_text_part_set(obj, part, domain, text);
969 elm_object_translatable_text_part_get(const Evas_Object *obj, const char *part)
971 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
972 return elm_widget_translatable_text_part_get(obj, part);
976 elm_object_part_content_set(Evas_Object *obj, const char *part, Evas_Object *content)
978 EINA_SAFETY_ON_NULL_RETURN(obj);
979 elm_widget_content_part_set(obj, part, content);
983 elm_object_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content)
985 EINA_SAFETY_ON_NULL_RETURN(obj);
986 elm_widget_content_part_set(obj, part, content);
991 elm_object_part_content_get(const Evas_Object *obj, const char *part)
993 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
994 return elm_widget_content_part_get(obj, part);
998 elm_object_content_part_get(const Evas_Object *obj, const char *part)
1000 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1001 return elm_widget_content_part_get(obj, part);
1005 elm_object_part_content_unset(Evas_Object *obj, const char *part)
1007 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1008 return elm_widget_content_part_unset(obj, part);
1013 elm_object_content_part_unset(Evas_Object *obj, const char *part)
1015 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1016 return elm_widget_content_part_unset(obj, part);
1022 return _elm_config->scale;
1026 elm_scale_set(double scale)
1028 if (_elm_config->scale == scale) return;
1029 _elm_config->scale = scale;
1034 elm_scale_all_set(double scale)
1036 elm_scale_set(scale);
1037 _elm_config_all_update();
1041 elm_password_show_last_get(void)
1043 return _elm_config->password_show_last;
1047 elm_password_show_last_set(Eina_Bool password_show_last)
1049 if (_elm_config->password_show_last == password_show_last) return;
1050 _elm_config->password_show_last = password_show_last;
1051 edje_password_show_last_set(_elm_config->password_show_last);
1055 elm_password_show_last_timeout_get(void)
1057 return _elm_config->password_show_last_timeout;
1061 elm_password_show_last_timeout_set(double password_show_last_timeout)
1063 if (_elm_config->password_show_last_timeout == password_show_last_timeout) return;
1064 _elm_config->password_show_last_timeout = password_show_last_timeout;
1065 edje_password_show_last_timeout_set(_elm_config->password_show_last_timeout);
1069 elm_object_style_set(Evas_Object *obj,
1072 EINA_SAFETY_ON_NULL_RETURN(obj);
1073 elm_widget_style_set(obj, style);
1077 elm_object_style_get(const Evas_Object *obj)
1079 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1080 return elm_widget_style_get(obj);
1084 elm_object_disabled_set(Evas_Object *obj,
1087 EINA_SAFETY_ON_NULL_RETURN(obj);
1088 elm_widget_disabled_set(obj, disabled);
1092 elm_object_disabled_get(const Evas_Object *obj)
1094 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1095 return elm_widget_disabled_get(obj);
1099 elm_config_save(void)
1101 return _elm_config_save();
1105 elm_config_reload(void)
1107 _elm_config_reload();
1111 elm_profile_current_get(void)
1113 return _elm_config_current_profile_get();
1117 elm_profile_dir_get(const char *profile,
1120 return _elm_config_profile_dir_get(profile, is_user);
1124 elm_profile_dir_free(const char *p_dir)
1126 free((void *)p_dir);
1130 elm_profile_list_get(void)
1132 return _elm_config_profiles_list();
1136 elm_profile_list_free(Eina_List *l)
1140 EINA_LIST_FREE(l, dir)
1141 eina_stringshare_del(dir);
1145 elm_profile_set(const char *profile)
1147 EINA_SAFETY_ON_NULL_RETURN(profile);
1148 _elm_config_profile_set(profile);
1152 elm_profile_all_set(const char *profile)
1154 _elm_config_profile_set(profile);
1155 _elm_config_all_update();
1159 elm_engine_current_get(void)
1161 return _elm_config->engine;
1165 elm_engine_set(const char *engine)
1167 EINA_SAFETY_ON_NULL_RETURN(engine);
1169 _elm_config_engine_set(engine);
1172 EAPI const Eina_List *
1173 elm_text_classes_list_get(void)
1175 return _elm_config_text_classes_get();
1179 elm_text_classes_list_free(const Eina_List *list)
1181 _elm_config_text_classes_free((Eina_List *)list);
1184 EAPI const Eina_List *
1185 elm_font_overlay_list_get(void)
1187 return _elm_config_font_overlays_list();
1191 elm_font_overlay_set(const char *text_class,
1193 Evas_Font_Size size)
1195 _elm_config_font_overlay_set(text_class, font, size);
1199 elm_font_overlay_unset(const char *text_class)
1201 _elm_config_font_overlay_remove(text_class);
1205 elm_font_overlay_apply(void)
1207 _elm_config_font_overlay_apply();
1211 elm_font_overlay_all_apply(void)
1213 elm_font_overlay_apply();
1214 _elm_config_all_update();
1217 EAPI Elm_Font_Properties *
1218 elm_font_properties_get(const char *font)
1220 EINA_SAFETY_ON_NULL_RETURN_VAL(font, NULL);
1221 return _elm_font_properties_get(NULL, font);
1225 elm_font_properties_free(Elm_Font_Properties *efp)
1229 EINA_SAFETY_ON_NULL_RETURN(efp);
1230 EINA_LIST_FREE(efp->styles, str)
1231 if (str) eina_stringshare_del(str);
1232 if (efp->name) eina_stringshare_del(efp->name);
1237 elm_font_fontconfig_name_get(const char *name,
1242 EINA_SAFETY_ON_NULL_RETURN_VAL(name, NULL);
1243 if (!style || style[0] == 0) return eina_stringshare_add(name);
1244 snprintf(buf, 256, "%s" ELM_FONT_TOKEN_STYLE "%s", name, style);
1245 return eina_stringshare_add(buf);
1249 elm_font_fontconfig_name_free(const char *name)
1251 eina_stringshare_del(name);
1255 elm_font_available_hash_add(Eina_List *list)
1257 Eina_Hash *font_hash;
1263 /* populate with default font families */
1264 font_hash = _elm_font_available_hash_add(font_hash, "Sans:style=Regular");
1265 font_hash = _elm_font_available_hash_add(font_hash, "Sans:style=Bold");
1266 font_hash = _elm_font_available_hash_add(font_hash, "Sans:style=Oblique");
1267 font_hash = _elm_font_available_hash_add(font_hash,
1268 "Sans:style=Bold Oblique");
1270 font_hash = _elm_font_available_hash_add(font_hash, "Serif:style=Regular");
1271 font_hash = _elm_font_available_hash_add(font_hash, "Serif:style=Bold");
1272 font_hash = _elm_font_available_hash_add(font_hash, "Serif:style=Oblique");
1273 font_hash = _elm_font_available_hash_add(font_hash,
1274 "Serif:style=Bold Oblique");
1276 font_hash = _elm_font_available_hash_add(font_hash,
1277 "Monospace:style=Regular");
1278 font_hash = _elm_font_available_hash_add(font_hash,
1279 "Monospace:style=Bold");
1280 font_hash = _elm_font_available_hash_add(font_hash,
1281 "Monospace:style=Oblique");
1282 font_hash = _elm_font_available_hash_add(font_hash,
1283 "Monospace:style=Bold Oblique");
1285 EINA_LIST_FOREACH(list, l, key)
1286 font_hash = _elm_font_available_hash_add(font_hash, key);
1292 elm_font_available_hash_del(Eina_Hash *hash)
1294 _elm_font_available_hash_del(hash);
1298 elm_finger_size_get(void)
1300 return _elm_config->finger_size;
1304 elm_finger_size_set(Evas_Coord size)
1306 if (_elm_config->finger_size == size) return;
1307 _elm_config->finger_size = size;
1312 elm_finger_size_all_set(Evas_Coord size)
1314 elm_finger_size_set(size);
1315 _elm_config_all_update();
1319 elm_coords_finger_size_adjust(int times_w,
1324 if ((w) && (*w < (_elm_config->finger_size * times_w)))
1325 *w = _elm_config->finger_size * times_w;
1326 if ((h) && (*h < (_elm_config->finger_size * times_h)))
1327 *h = _elm_config->finger_size * times_h;
1336 edje_file_cache_flush();
1337 edje_collection_cache_flush();
1339 EINA_LIST_FOREACH(_elm_win_list, l, obj)
1341 Evas *e = evas_object_evas_get(obj);
1342 evas_image_cache_flush(e);
1343 evas_font_cache_flush(e);
1344 evas_render_dump(e);
1349 elm_cache_flush_interval_get(void)
1351 return _elm_config->cache_flush_poll_interval;
1355 elm_cache_flush_interval_set(int size)
1357 if (_elm_config->cache_flush_poll_interval == size) return;
1358 _elm_config->cache_flush_poll_interval = size;
1364 elm_cache_flush_interval_all_set(int size)
1366 elm_cache_flush_interval_set(size);
1367 _elm_config_all_update();
1371 elm_cache_flush_enabled_get(void)
1373 return _elm_config->cache_flush_enable;
1377 elm_cache_flush_enabled_set(Eina_Bool enabled)
1379 enabled = !!enabled;
1380 if (_elm_config->cache_flush_enable == enabled) return;
1381 _elm_config->cache_flush_enable = enabled;
1387 elm_cache_flush_enabled_all_set(Eina_Bool enabled)
1389 elm_cache_flush_enabled_set(enabled);
1390 _elm_config_all_update();
1394 elm_font_cache_get(void)
1396 return _elm_config->font_cache;
1400 elm_font_cache_set(int size)
1402 if (_elm_config->font_cache == size) return;
1403 _elm_config->font_cache = size;
1409 elm_font_cache_all_set(int size)
1411 elm_font_cache_set(size);
1412 _elm_config_all_update();
1416 elm_image_cache_get(void)
1418 return _elm_config->image_cache;
1422 elm_image_cache_set(int size)
1424 if (_elm_config->image_cache == size) return;
1425 _elm_config->image_cache = size;
1431 elm_image_cache_all_set(int size)
1433 elm_image_cache_set(size);
1434 _elm_config_all_update();
1438 elm_edje_file_cache_get(void)
1440 return _elm_config->edje_cache;
1444 elm_edje_file_cache_set(int size)
1446 if (_elm_config->edje_cache == size) return;
1447 _elm_config->edje_cache = size;
1453 elm_edje_file_cache_all_set(int size)
1455 elm_edje_file_cache_set(size);
1456 _elm_config_all_update();
1460 elm_edje_collection_cache_get(void)
1462 return _elm_config->edje_collection_cache;
1466 elm_edje_collection_cache_set(int size)
1468 if (_elm_config->edje_collection_cache == size) return;
1469 _elm_config->edje_collection_cache = size;
1475 elm_edje_collection_cache_all_set(int size)
1477 elm_edje_collection_cache_set(size);
1478 _elm_config_all_update();
1482 elm_object_focus_get(const Evas_Object *obj)
1484 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1485 return elm_widget_focus_get(obj);
1489 elm_object_focus_set(Evas_Object *obj,
1492 EINA_SAFETY_ON_NULL_RETURN(obj);
1495 if (elm_widget_focus_get(obj)) return;
1496 elm_widget_focus_cycle(obj, ELM_FOCUS_NEXT);
1500 if (!elm_widget_can_focus_get(obj)) return;
1501 elm_widget_focused_object_clear(obj);
1506 elm_object_focus(Evas_Object *obj)
1508 EINA_SAFETY_ON_NULL_RETURN(obj);
1509 elm_object_focus_set(obj, EINA_TRUE);
1513 elm_object_unfocus(Evas_Object *obj)
1515 EINA_SAFETY_ON_NULL_RETURN(obj);
1516 elm_object_focus_set(obj, EINA_FALSE);
1520 elm_object_focus_allow_set(Evas_Object *obj,
1523 EINA_SAFETY_ON_NULL_RETURN(obj);
1524 elm_widget_can_focus_set(obj, enable);
1528 elm_object_focus_allow_get(const Evas_Object *obj)
1530 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1531 return (elm_widget_can_focus_get(obj)) || (elm_widget_child_can_focus_get(obj));
1535 elm_object_focus_custom_chain_set(Evas_Object *obj,
1538 EINA_SAFETY_ON_NULL_RETURN(obj);
1539 elm_widget_focus_custom_chain_set(obj, objs);
1543 elm_object_focus_custom_chain_unset(Evas_Object *obj)
1545 EINA_SAFETY_ON_NULL_RETURN(obj);
1546 elm_widget_focus_custom_chain_unset(obj);
1549 EAPI const Eina_List *
1550 elm_object_focus_custom_chain_get(const Evas_Object *obj)
1552 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1553 return elm_widget_focus_custom_chain_get(obj);
1557 elm_object_focus_custom_chain_append(Evas_Object *obj,
1559 Evas_Object *relative_child)
1561 EINA_SAFETY_ON_NULL_RETURN(obj);
1562 EINA_SAFETY_ON_NULL_RETURN(child);
1563 elm_widget_focus_custom_chain_append(obj, child, relative_child);
1567 elm_object_focus_custom_chain_prepend(Evas_Object *obj,
1569 Evas_Object *relative_child)
1571 EINA_SAFETY_ON_NULL_RETURN(obj);
1572 EINA_SAFETY_ON_NULL_RETURN(child);
1573 elm_widget_focus_custom_chain_prepend(obj, child, relative_child);
1577 elm_object_focus_cycle(Evas_Object *obj,
1578 Elm_Focus_Direction dir)
1580 EINA_SAFETY_ON_NULL_RETURN(obj);
1581 elm_widget_focus_cycle(obj, dir);
1585 elm_object_focus_direction_go(Evas_Object *obj,
1589 EINA_SAFETY_ON_NULL_RETURN(obj);
1590 elm_widget_focus_direction_go(obj, x, y);
1594 elm_object_tree_unfocusable_set(Evas_Object *obj,
1595 Eina_Bool tree_unfocusable)
1597 EINA_SAFETY_ON_NULL_RETURN(obj);
1598 elm_widget_tree_unfocusable_set(obj, tree_unfocusable);
1602 elm_object_tree_unfocusable_get(const Evas_Object *obj)
1604 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1605 return elm_widget_tree_unfocusable_get(obj);
1609 elm_focus_highlight_enabled_get(void)
1611 return _elm_config->focus_highlight_enable;
1615 elm_focus_highlight_enabled_set(Eina_Bool enable)
1617 _elm_config->focus_highlight_enable = !!enable;
1621 elm_focus_highlight_animate_get(void)
1623 return _elm_config->focus_highlight_animate;
1627 elm_focus_highlight_animate_set(Eina_Bool animate)
1629 _elm_config->focus_highlight_animate = !!animate;
1633 elm_scroll_bounce_enabled_get(void)
1635 return _elm_config->thumbscroll_bounce_enable;
1639 elm_scroll_bounce_enabled_set(Eina_Bool enabled)
1641 _elm_config->thumbscroll_bounce_enable = enabled;
1645 elm_scroll_bounce_enabled_all_set(Eina_Bool enabled)
1647 elm_scroll_bounce_enabled_set(enabled);
1648 _elm_config_all_update();
1652 elm_scroll_bounce_friction_get(void)
1654 return _elm_config->thumbscroll_bounce_friction;
1658 elm_scroll_bounce_friction_set(double friction)
1660 _elm_config->thumbscroll_bounce_friction = friction;
1664 elm_scroll_bounce_friction_all_set(double friction)
1666 elm_scroll_bounce_friction_set(friction);
1667 _elm_config_all_update();
1671 elm_scroll_page_scroll_friction_get(void)
1673 return _elm_config->page_scroll_friction;
1677 elm_scroll_page_scroll_friction_set(double friction)
1679 _elm_config->page_scroll_friction = friction;
1683 elm_scroll_page_scroll_friction_all_set(double friction)
1685 elm_scroll_page_scroll_friction_set(friction);
1686 _elm_config_all_update();
1690 elm_scroll_bring_in_scroll_friction_get(void)
1692 return _elm_config->bring_in_scroll_friction;
1696 elm_scroll_bring_in_scroll_friction_set(double friction)
1698 _elm_config->bring_in_scroll_friction = friction;
1702 elm_scroll_bring_in_scroll_friction_all_set(double friction)
1704 elm_scroll_bring_in_scroll_friction_set(friction);
1705 _elm_config_all_update();
1709 elm_scroll_zoom_friction_get(void)
1711 return _elm_config->zoom_friction;
1715 elm_scroll_zoom_friction_set(double friction)
1717 _elm_config->zoom_friction = friction;
1721 elm_scroll_zoom_friction_all_set(double friction)
1723 elm_scroll_zoom_friction_set(friction);
1724 _elm_config_all_update();
1728 elm_scroll_thumbscroll_enabled_get(void)
1730 return _elm_config->thumbscroll_enable;
1734 elm_scroll_thumbscroll_enabled_set(Eina_Bool enabled)
1736 _elm_config->thumbscroll_enable = enabled;
1740 elm_scroll_thumbscroll_enabled_all_set(Eina_Bool enabled)
1742 elm_scroll_thumbscroll_enabled_set(enabled);
1743 _elm_config_all_update();
1747 elm_scroll_thumbscroll_threshold_get(void)
1749 return _elm_config->thumbscroll_threshold;
1753 elm_scroll_thumbscroll_threshold_set(unsigned int threshold)
1755 _elm_config->thumbscroll_threshold = threshold;
1759 elm_scroll_thumbscroll_threshold_all_set(unsigned int threshold)
1761 elm_scroll_thumbscroll_threshold_set(threshold);
1762 _elm_config_all_update();
1766 elm_scroll_thumbscroll_momentum_threshold_get(void)
1768 return _elm_config->thumbscroll_momentum_threshold;
1772 elm_scroll_thumbscroll_momentum_threshold_set(double threshold)
1774 _elm_config->thumbscroll_momentum_threshold = threshold;
1778 elm_scroll_thumbscroll_momentum_threshold_all_set(double threshold)
1780 elm_scroll_thumbscroll_momentum_threshold_set(threshold);
1781 _elm_config_all_update();
1785 elm_scroll_thumbscroll_friction_get(void)
1787 return _elm_config->thumbscroll_friction;
1791 elm_scroll_thumbscroll_friction_set(double friction)
1793 _elm_config->thumbscroll_friction = friction;
1797 elm_scroll_thumbscroll_friction_all_set(double friction)
1799 elm_scroll_thumbscroll_friction_set(friction);
1800 _elm_config_all_update();
1804 elm_scroll_thumbscroll_border_friction_get(void)
1806 return _elm_config->thumbscroll_border_friction;
1810 elm_scroll_thumbscroll_border_friction_set(double friction)
1812 if (friction < 0.0) friction = 0.0;
1813 if (friction > 1.0) friction = 1.0;
1814 _elm_config->thumbscroll_friction = friction;
1818 elm_scroll_thumbscroll_border_friction_all_set(double friction)
1820 elm_scroll_thumbscroll_border_friction_set(friction);
1821 _elm_config_all_update();
1825 elm_scroll_thumbscroll_sensitivity_friction_get(void)
1827 return _elm_config->thumbscroll_sensitivity_friction;
1831 elm_scroll_thumbscroll_sensitivity_friction_set(double friction)
1833 if (friction < 0.1) friction = 0.1;
1834 if (friction > 1.0) friction = 1.0;
1835 _elm_config->thumbscroll_friction = friction;
1839 elm_scroll_thumbscroll_sensitivity_friction_all_set(double friction)
1841 elm_scroll_thumbscroll_sensitivity_friction_set(friction);
1842 _elm_config_all_update();
1846 elm_object_scroll_hold_push(Evas_Object *obj)
1848 EINA_SAFETY_ON_NULL_RETURN(obj);
1849 elm_widget_scroll_hold_push(obj);
1853 elm_object_scroll_hold_pop(Evas_Object *obj)
1855 EINA_SAFETY_ON_NULL_RETURN(obj);
1856 elm_widget_scroll_hold_pop(obj);
1860 elm_object_scroll_freeze_push(Evas_Object *obj)
1862 EINA_SAFETY_ON_NULL_RETURN(obj);
1863 elm_widget_scroll_freeze_push(obj);
1867 elm_object_scroll_lock_x_set(Evas_Object *obj,
1870 EINA_SAFETY_ON_NULL_RETURN(obj);
1871 elm_widget_drag_lock_x_set(obj, lock);
1875 elm_object_scroll_lock_y_set(Evas_Object *obj,
1878 EINA_SAFETY_ON_NULL_RETURN(obj);
1879 elm_widget_drag_lock_y_set(obj, lock);
1883 elm_object_scroll_lock_x_get(const Evas_Object *obj)
1885 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1886 return elm_widget_drag_lock_x_get(obj);
1890 elm_object_scroll_lock_y_get(const Evas_Object *obj)
1892 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1893 return elm_widget_drag_lock_y_get(obj);
1897 elm_object_scroll_freeze_pop(Evas_Object *obj)
1899 EINA_SAFETY_ON_NULL_RETURN(obj);
1900 elm_widget_scroll_freeze_pop(obj);
1904 elm_object_widget_check(const Evas_Object *obj)
1906 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1907 return elm_widget_is(obj);
1911 elm_object_parent_widget_get(const Evas_Object *obj)
1913 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1914 return elm_widget_parent_widget_get(obj);
1918 elm_object_top_widget_get(const Evas_Object *obj)
1920 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1921 return elm_widget_top_get(obj);
1925 elm_object_widget_type_get(const Evas_Object *obj)
1927 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1928 return elm_widget_type_get(obj);
1932 elm_object_signal_emit(Evas_Object *obj,
1933 const char *emission,
1936 EINA_SAFETY_ON_NULL_RETURN(obj);
1937 elm_widget_signal_emit(obj, emission, source);
1941 elm_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
1943 EINA_SAFETY_ON_NULL_RETURN(obj);
1944 EINA_SAFETY_ON_NULL_RETURN(func);
1945 elm_widget_signal_callback_add(obj, emission, source, func, data);
1949 elm_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func)
1951 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1952 EINA_SAFETY_ON_NULL_RETURN_VAL(func, NULL);
1953 return elm_widget_signal_callback_del(obj, emission, source, func);
1957 elm_object_event_callback_add(Evas_Object *obj, Elm_Event_Cb func, const void *data)
1959 EINA_SAFETY_ON_NULL_RETURN(obj);
1960 EINA_SAFETY_ON_NULL_RETURN(func);
1961 elm_widget_event_callback_add(obj, func, data);
1965 elm_object_event_callback_del(Evas_Object *obj, Elm_Event_Cb func, const void *data)
1967 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1968 EINA_SAFETY_ON_NULL_RETURN_VAL(func, NULL);
1969 return elm_widget_event_callback_del(obj, func, data);
1973 elm_object_tree_dump(const Evas_Object *top)
1976 elm_widget_tree_dump(top);
1984 elm_object_tree_dot_dump(const Evas_Object *top,
1988 FILE *f = fopen(file, "wb");
1989 elm_widget_tree_dot_dump(top, f);
1999 elm_longpress_timeout_set(double longpress_timeout)
2001 _elm_config->longpress_timeout = longpress_timeout;
2005 elm_longpress_timeout_get(void)
2007 return _elm_config->longpress_timeout;
2011 elm_object_item_widget_get(const Elm_Object_Item *it)
2017 elm_object_item_content_part_set(Elm_Object_Item *it,
2019 Evas_Object *content)
2021 _elm_widget_item_content_part_set((Elm_Widget_Item *) it, part, content);
2025 elm_object_item_part_content_set(Elm_Object_Item *it,
2027 Evas_Object *content)
2029 _elm_widget_item_content_part_set((Elm_Widget_Item *) it, part, content);
2033 elm_object_item_content_part_get(const Elm_Object_Item *it,
2036 return _elm_widget_item_content_part_get((Elm_Widget_Item *) it, part);
2040 elm_object_item_part_content_get(const Elm_Object_Item *it,
2043 return _elm_widget_item_content_part_get((Elm_Widget_Item *) it, part);
2047 elm_object_item_content_part_unset(Elm_Object_Item *it, const char *part)
2049 return _elm_widget_item_content_part_unset((Elm_Widget_Item *) it, part);
2053 elm_object_item_part_content_unset(Elm_Object_Item *it, const char *part)
2055 return _elm_widget_item_content_part_unset((Elm_Widget_Item *) it, part);
2059 elm_object_item_text_part_set(Elm_Object_Item *it,
2063 _elm_widget_item_text_part_set((Elm_Widget_Item *) it, part, label);
2067 elm_object_item_part_text_set(Elm_Object_Item *it,
2071 _elm_widget_item_text_part_set((Elm_Widget_Item *) it, part, label);
2075 elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part)
2077 return _elm_widget_item_text_part_get((Elm_Widget_Item *) it, part);
2081 elm_object_item_part_text_get(const Elm_Object_Item *it, const char *part)
2083 return _elm_widget_item_text_part_get((Elm_Widget_Item *) it, part);
2087 elm_object_access_info_set(Evas_Object *obj, const char *txt)
2089 elm_widget_access_info_set(obj, txt);
2093 elm_object_name_find(const Evas_Object *obj, const char *name, int recurse)
2095 return elm_widget_name_find(obj, name, recurse);
2099 elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt)
2101 _elm_widget_item_access_info_set((Elm_Widget_Item *) it, txt);
2105 elm_object_item_data_get(const Elm_Object_Item *it)
2107 return elm_widget_item_data_get(it);
2111 elm_object_item_data_set(Elm_Object_Item *it, void *data)
2113 elm_widget_item_data_set(it, data);
2117 elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source)
2119 _elm_widget_item_signal_emit((Elm_Widget_Item *) it, emission, source);
2122 EAPI void elm_object_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled)
2124 _elm_widget_item_disabled_set((Elm_Widget_Item *) it, disabled);
2127 EAPI Eina_Bool elm_object_item_disabled_get(const Elm_Object_Item *it)
2129 return _elm_widget_item_disabled_get((Elm_Widget_Item *) it);
2132 EAPI void elm_object_item_del_cb_set(Elm_Object_Item *it, Evas_Smart_Cb del_cb)
2134 _elm_widget_item_del_cb_set((Elm_Widget_Item *) it, del_cb);
2137 EAPI void elm_object_item_del(Elm_Object_Item *it)
2139 _elm_widget_item_del((Elm_Widget_Item *) it);
2143 elm_object_item_tooltip_text_set(Elm_Object_Item *item, const char *text)
2145 elm_widget_item_tooltip_text_set(item, text);
2149 elm_object_item_tooltip_content_cb_set(Elm_Object_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
2151 elm_widget_item_tooltip_content_cb_set(item, func, data, del_cb);
2155 elm_object_item_tooltip_unset(Elm_Object_Item *item)
2157 elm_widget_item_tooltip_unset(item);
2161 elm_object_item_tooltip_window_mode_set(Elm_Object_Item *item, Eina_Bool disable)
2163 return elm_widget_item_tooltip_window_mode_set(item, disable);
2167 elm_object_item_tooltip_window_mode_get(const Elm_Object_Item *item)
2169 return elm_widget_item_tooltip_window_mode_get(item);
2173 elm_object_item_tooltip_style_set(Elm_Object_Item *item, const char *style)
2175 elm_widget_item_tooltip_style_set(item, style);
2179 elm_object_item_tooltip_style_get(const Elm_Object_Item *item)
2181 return elm_widget_item_tooltip_style_get(item);
2184 EINA_DEPRECATED EAPI Evas_Object *
2185 elm_object_item_object_get(const Elm_Object_Item *it)
2187 return elm_object_item_widget_get(it);
2191 elm_object_item_cursor_set(Elm_Object_Item *item, const char *cursor)
2193 elm_widget_item_tooltip_style_set(item, cursor);
2197 elm_object_item_cursor_get(const Elm_Object_Item *item)
2199 return elm_widget_item_cursor_get(item);
2203 elm_object_item_cursor_unset(Elm_Object_Item *item)
2205 elm_widget_item_cursor_unset(item);
2209 elm_object_item_cursor_style_set(Elm_Object_Item *item, const char *style)
2211 elm_widget_item_cursor_style_set(item, style);
2215 elm_object_item_cursor_style_get(const Elm_Object_Item *item)
2217 return elm_widget_item_cursor_style_get(item);
2221 elm_object_item_cursor_engine_only_set(Elm_Object_Item *item, Eina_Bool engine_only)
2223 elm_widget_item_cursor_engine_only_set(item, engine_only);
2227 elm_object_item_cursor_engine_only_get(const Elm_Object_Item *item)
2229 return elm_widget_item_cursor_engine_only_get(item);