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("/");
404 return _elm_ql_init_count;
408 elm_quicklaunch_sub_init(int argc,
411 _elm_sub_init_count++;
412 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);
427 _elm_config_sub_init();
428 ecore_evas_init(); // FIXME: check errors
429 #ifdef HAVE_ELEMENTARY_ECORE_IMF
432 #ifdef HAVE_ELEMENTARY_ECORE_CON
434 ecore_con_url_init();
438 return _elm_sub_init_count;
442 elm_quicklaunch_sub_shutdown(void)
444 _elm_sub_init_count--;
445 if (_elm_sub_init_count > 0) return _elm_sub_init_count;
448 #ifdef SEMI_BROKEN_QUICKLAUNCH
449 return _elm_sub_init_count;
455 _elm_module_shutdown();
456 _elm_ews_wm_shutdown();
457 #ifdef HAVE_ELEMENTARY_ECORE_CON
458 ecore_con_url_shutdown();
459 ecore_con_shutdown();
461 #ifdef HAVE_ELEMENTARY_ECORE_IMF
462 ecore_imf_shutdown();
464 ecore_evas_shutdown();
465 _elm_config_sub_shutdown();
466 #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
467 if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
468 ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
469 ENGINE_COMPARE(ELM_XRENDER_X11) ||
470 ENGINE_COMPARE(ELM_OPENGL_X11) ||
471 ENGINE_COMPARE(ELM_SOFTWARE_SDL) ||
472 ENGINE_COMPARE(ELM_SOFTWARE_16_SDL) ||
473 ENGINE_COMPARE(ELM_OPENGL_SDL) ||
474 ENGINE_COMPARE(ELM_OPENGL_COCOA) ||
475 ENGINE_COMPARE(ELM_SOFTWARE_WIN32) ||
476 ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE) ||
477 ENGINE_COMPARE(ELM_EWS))
478 #undef ENGINE_COMPARE
479 evas_cserve_disconnect();
483 return _elm_sub_init_count;
487 elm_quicklaunch_shutdown(void)
489 _elm_ql_init_count--;
490 if (_elm_ql_init_count > 0) return _elm_ql_init_count;
491 if (pfx) eina_prefix_free(pfx);
493 eina_stringshare_del(_elm_data_dir);
494 _elm_data_dir = NULL;
495 eina_stringshare_del(_elm_lib_dir);
501 _elm_config_shutdown();
503 ecore_event_handler_del(_elm_exit_handler);
504 _elm_exit_handler = NULL;
506 _elm_theme_shutdown();
507 _elm_unneed_efreet();
508 _elm_unneed_e_dbus();
509 _elm_unneed_ethumb();
511 ecore_file_shutdown();
513 #ifdef HAVE_ELEMENTARY_EMAP
520 if ((_elm_log_dom > -1) && (_elm_log_dom != EINA_LOG_DOMAIN_GLOBAL))
522 eina_log_domain_unregister(_elm_log_dom);
526 _elm_widget_type_clear();
529 return _elm_ql_init_count;
533 elm_quicklaunch_seed(void)
535 #ifndef SEMI_BROKEN_QUICKLAUNCH
538 Evas_Object *win, *bg, *bt;
540 win = elm_win_add(NULL, "seed", ELM_WIN_BASIC);
541 bg = elm_bg_add(win);
542 elm_win_resize_object_add(win, bg);
543 evas_object_show(bg);
544 bt = elm_button_add(win);
546 elm_button_label_set(bt, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~-_=+\\|]}[{;:'\",<.>/?");
548 elm_object_text_set(bt, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~-_=+\\|]}[{;:'\",<.>/?");
549 >>>>>>> remotes/origin/upstream
550 elm_win_resize_object_add(win, bt);
551 ecore_main_loop_iterate();
552 evas_object_del(win);
553 ecore_main_loop_iterate();
554 #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
555 if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
556 ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
557 ENGINE_COMPARE(ELM_XRENDER_X11) ||
558 ENGINE_COMPARE(ELM_OPENGL_X11))
559 #undef ENGINE_COMPARE
561 # ifdef HAVE_ELEMENTARY_X
565 ecore_main_loop_iterate();
571 static void *qr_handle = NULL;
573 static int (*qr_main)(int argc,
577 elm_quicklaunch_prepare(int argc __UNUSED__,
581 char *exe = elm_quicklaunch_exe_path_get(argv[0]);
584 ERR("requested quicklaunch binary '%s' does not exist\n", argv[0]);
592 exe2 = malloc(strlen(exe) + 1 + 10);
594 p = strrchr(exe2, '/');
597 exename = alloca(strlen(p) + 1);
600 strcat(p, "../lib/");
603 if (!access(exe2, R_OK | X_OK))
611 qr_handle = dlopen(exe, RTLD_NOW | RTLD_GLOBAL);
614 fprintf(stderr, "dlerr: %s\n", dlerror());
615 WRN("dlopen('%s') failed: %s", exe, dlerror());
619 INF("dlopen('%s') = %p", exe, qr_handle);
620 qr_main = dlsym(qr_handle, "elm_main");
621 INF("dlsym(%p, 'elm_main') = %p", qr_handle, qr_main);
624 WRN("not quicklauncher capable: no elm_main in '%s'", exe);
643 extern char **environ;
648 for (i = 0, size = 0; environ[i]; i++)
649 size += strlen(environ[i]) + 1;
651 p = malloc((i + 1) * sizeof(char *));
656 for (i = 0; oldenv[i]; i++)
657 environ[i] = strdup(oldenv[i]);
664 elm_quicklaunch_fork(int argc,
667 void (postfork_func) (void *data),
677 // need to accept current environment from elementary_run
684 if (child > 0) return EINA_TRUE;
687 perror("could not fork");
692 perror("could not chdir");
693 args = alloca((argc + 1) * sizeof(char *));
694 for (i = 0; i < argc; i++) args[i] = argv[i];
696 WRN("%s not quicklaunch capable, fallback...", argv[0]);
697 execvp(argv[0], args);
698 ERR("failed to execute '%s': %s", argv[0], strerror(errno));
702 if (child > 0) return EINA_TRUE;
705 perror("could not fork");
708 if (postfork_func) postfork_func(postfork_data);
712 #ifdef SEMI_BROKEN_QUICKLAUNCH
713 ecore_app_args_set(argc, (const char **)argv);
716 _elm_config_sub_init();
717 #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
718 if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
719 ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
720 ENGINE_COMPARE(ELM_XRENDER_X11) ||
721 ENGINE_COMPARE(ELM_OPENGL_X11))
722 #undef ENGINE_COMPARE
724 # ifdef HAVE_ELEMENTARY_X
728 ecore_evas_init(); // FIXME: check errors
736 perror("could not chdir");
737 // FIXME: this is very linux specific. it changes argv[0] of the process
738 // so ps etc. report what you'd expect. for other unixes and os's this
745 ecore_app_args_get(&real_argc, &real_argv);
746 lastarg = real_argv[real_argc - 1] + strlen(real_argv[real_argc - 1]);
747 for (p = real_argv[0]; p < lastarg; p++) *p = 0;
748 strcpy(real_argv[0], argv[0]);
750 ecore_app_args_set(argc, (const char **)argv);
751 ret = qr_main(argc, argv);
765 elm_quicklaunch_cleanup(void)
778 elm_quicklaunch_fallback(int argc,
782 elm_quicklaunch_init(argc, argv);
783 elm_quicklaunch_sub_init(argc, argv);
784 elm_quicklaunch_prepare(argc, argv);
785 ret = qr_main(argc, argv);
791 elm_quicklaunch_exe_path_get(const char *exe)
793 static char *path = NULL;
794 static Eina_List *pathlist = NULL;
798 if (exe[0] == '/') return strdup(exe);
799 if ((exe[0] == '.') && (exe[1] == '/')) return strdup(exe);
800 if ((exe[0] == '.') && (exe[1] == '.') && (exe[2] == '/')) return strdup(exe);
805 path = getenv("PATH");
806 buf2 = alloca(strlen(path) + 1);
811 if ((*p == ':') || (!*p))
816 strncpy(buf2, pp, len);
818 pathlist = eina_list_append(pathlist, eina_stringshare_add(buf2));
830 EINA_LIST_FOREACH(pathlist, l, pathitr)
832 snprintf(buf, sizeof(buf), "%s/%s", pathitr, exe);
833 if (!access(buf, R_OK | X_OK)) return strdup(buf);
841 ecore_main_loop_begin();
847 ecore_main_loop_quit();
851 elm_policy_set(unsigned int policy,
854 Elm_Event_Policy_Changed *ev;
856 if (policy >= ELM_POLICY_LAST)
859 if (value == _elm_policies[policy])
862 /* TODO: validade policy? */
864 ev = malloc(sizeof(*ev));
866 ev->new_value = value;
867 ev->old_value = _elm_policies[policy];
869 _elm_policies[policy] = value;
871 ecore_event_add(ELM_EVENT_POLICY_CHANGED, ev, NULL, NULL);
877 elm_policy_get(unsigned int policy)
879 if (policy >= ELM_POLICY_LAST)
881 return _elm_policies[policy];
885 elm_language_set(const char *lang)
887 setlocale(LC_ALL, lang);
888 _elm_win_translate();
892 elm_object_mirrored_get(const Evas_Object *obj)
894 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
895 return elm_widget_mirrored_get(obj);
899 elm_object_mirrored_set(Evas_Object *obj, Eina_Bool mirrored)
901 EINA_SAFETY_ON_NULL_RETURN(obj);
902 elm_widget_mirrored_set(obj, mirrored);
906 elm_object_mirrored_automatic_get(const Evas_Object *obj)
908 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
909 return elm_widget_mirrored_automatic_get(obj);
913 elm_object_mirrored_automatic_set(Evas_Object *obj, Eina_Bool automatic)
915 EINA_SAFETY_ON_NULL_RETURN(obj);
916 elm_widget_mirrored_automatic_set(obj, automatic);
924 elm_object_scale_set(Evas_Object *obj,
927 EINA_SAFETY_ON_NULL_RETURN(obj);
928 elm_widget_scale_set(obj, scale);
932 elm_object_scale_get(const Evas_Object *obj)
934 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, 0.0);
935 return elm_widget_scale_get(obj);
939 elm_object_text_part_set(Evas_Object *obj, const char *part, const char *label)
941 EINA_SAFETY_ON_NULL_RETURN(obj);
942 elm_widget_text_part_set(obj, part, label);
946 elm_object_text_part_get(const Evas_Object *obj, const char *part)
948 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
949 return elm_widget_text_part_get(obj, part);
953 elm_object_part_text_set(Evas_Object *obj, const char *part, const char *label)
955 EINA_SAFETY_ON_NULL_RETURN(obj);
956 elm_widget_text_part_set(obj, part, label);
960 elm_object_part_text_get(const Evas_Object *obj, const char *part)
962 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
963 return elm_widget_text_part_get(obj, part);
967 elm_object_domain_translatable_text_part_set(Evas_Object *obj, const char *part, const char *domain, const char *text)
969 EINA_SAFETY_ON_NULL_RETURN(obj);
970 elm_widget_domain_translatable_text_part_set(obj, part, domain, text);
974 elm_object_translatable_text_part_get(const Evas_Object *obj, const char *part)
976 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
977 return elm_widget_translatable_text_part_get(obj, part);
981 elm_object_part_content_set(Evas_Object *obj, const char *part, Evas_Object *content)
983 EINA_SAFETY_ON_NULL_RETURN(obj);
984 elm_widget_content_part_set(obj, part, content);
988 elm_object_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content)
990 EINA_SAFETY_ON_NULL_RETURN(obj);
991 elm_widget_content_part_set(obj, part, content);
996 elm_object_part_content_get(const Evas_Object *obj, const char *part)
998 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
999 return elm_widget_content_part_get(obj, part);
1003 elm_object_content_part_get(const Evas_Object *obj, const char *part)
1005 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1006 return elm_widget_content_part_get(obj, part);
1010 elm_object_part_content_unset(Evas_Object *obj, const char *part)
1012 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1013 return elm_widget_content_part_unset(obj, part);
1018 elm_object_content_part_unset(Evas_Object *obj, const char *part)
1020 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1021 return elm_widget_content_part_unset(obj, part);
1028 return _elm_config->scale;
1032 elm_scale_set(double scale)
1034 if (_elm_config->scale == scale) return;
1035 _elm_config->scale = scale;
1040 elm_scale_all_set(double scale)
1042 elm_scale_set(scale);
1043 _elm_config_all_update();
1047 elm_password_show_last_get(void)
1049 return _elm_config->password_show_last;
1053 elm_password_show_last_set(Eina_Bool password_show_last)
1055 if (_elm_config->password_show_last == password_show_last) return;
1056 _elm_config->password_show_last = password_show_last;
1057 edje_password_show_last_set(_elm_config->password_show_last);
1061 elm_password_show_last_timeout_get(void)
1063 return _elm_config->password_show_last_timeout;
1067 elm_password_show_last_timeout_set(double password_show_last_timeout)
1069 if (_elm_config->password_show_last_timeout == password_show_last_timeout) return;
1070 _elm_config->password_show_last_timeout = password_show_last_timeout;
1071 edje_password_show_last_timeout_set(_elm_config->password_show_last_timeout);
1075 elm_object_style_set(Evas_Object *obj,
1078 EINA_SAFETY_ON_NULL_RETURN(obj);
1079 elm_widget_style_set(obj, style);
1082 elm_object_style_set(Evas_Object *obj,
1085 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1086 return elm_widget_style_set(obj, style);
1087 >>>>>>> remotes/origin/upstream
1091 elm_object_style_get(const Evas_Object *obj)
1093 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1094 return elm_widget_style_get(obj);
1098 elm_object_disabled_set(Evas_Object *obj,
1101 EINA_SAFETY_ON_NULL_RETURN(obj);
1102 elm_widget_disabled_set(obj, disabled);
1106 elm_object_disabled_get(const Evas_Object *obj)
1108 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1109 return elm_widget_disabled_get(obj);
1114 elm_config_save(void)
1116 return _elm_config_save();
1120 elm_config_reload(void)
1122 _elm_config_reload();
1126 elm_profile_current_get(void)
1128 return _elm_config_current_profile_get();
1132 elm_profile_dir_get(const char *profile,
1135 return _elm_config_profile_dir_get(profile, is_user);
1139 elm_profile_dir_free(const char *p_dir)
1141 free((void *)p_dir);
1145 elm_profile_list_get(void)
1147 return _elm_config_profiles_list();
1151 elm_profile_list_free(Eina_List *l)
1155 EINA_LIST_FREE(l, dir)
1156 eina_stringshare_del(dir);
1160 elm_profile_set(const char *profile)
1162 EINA_SAFETY_ON_NULL_RETURN(profile);
1163 _elm_config_profile_set(profile);
1167 elm_profile_all_set(const char *profile)
1169 _elm_config_profile_set(profile);
1170 _elm_config_all_update();
1174 elm_engine_current_get(void)
1176 return _elm_config->engine;
1180 elm_engine_set(const char *engine)
1182 EINA_SAFETY_ON_NULL_RETURN(engine);
1184 _elm_config_engine_set(engine);
1187 EAPI const Eina_List *
1188 elm_text_classes_list_get(void)
1190 return _elm_config_text_classes_get();
1194 elm_text_classes_list_free(const Eina_List *list)
1196 _elm_config_text_classes_free((Eina_List *)list);
1199 EAPI const Eina_List *
1200 elm_font_overlay_list_get(void)
1202 return _elm_config_font_overlays_list();
1206 elm_font_overlay_set(const char *text_class,
1208 Evas_Font_Size size)
1210 _elm_config_font_overlay_set(text_class, font, size);
1214 elm_font_overlay_unset(const char *text_class)
1216 _elm_config_font_overlay_remove(text_class);
1220 elm_font_overlay_apply(void)
1222 _elm_config_font_overlay_apply();
1226 elm_font_overlay_all_apply(void)
1228 elm_font_overlay_apply();
1229 _elm_config_all_update();
1232 EAPI Elm_Font_Properties *
1233 elm_font_properties_get(const char *font)
1235 EINA_SAFETY_ON_NULL_RETURN_VAL(font, NULL);
1236 return _elm_font_properties_get(NULL, font);
1240 elm_font_properties_free(Elm_Font_Properties *efp)
1244 EINA_SAFETY_ON_NULL_RETURN(efp);
1245 EINA_LIST_FREE(efp->styles, str)
1246 if (str) eina_stringshare_del(str);
1247 if (efp->name) eina_stringshare_del(efp->name);
1252 elm_font_fontconfig_name_get(const char *name,
1257 EINA_SAFETY_ON_NULL_RETURN_VAL(name, NULL);
1258 if (!style || style[0] == 0) return eina_stringshare_add(name);
1259 snprintf(buf, 256, "%s" ELM_FONT_TOKEN_STYLE "%s", name, style);
1260 return eina_stringshare_add(buf);
1264 elm_font_fontconfig_name_free(const char *name)
1266 eina_stringshare_del(name);
1270 elm_font_available_hash_add(Eina_List *list)
1272 Eina_Hash *font_hash;
1278 /* populate with default font families */
1279 font_hash = _elm_font_available_hash_add(font_hash, "Sans:style=Regular");
1280 font_hash = _elm_font_available_hash_add(font_hash, "Sans:style=Bold");
1281 font_hash = _elm_font_available_hash_add(font_hash, "Sans:style=Oblique");
1282 font_hash = _elm_font_available_hash_add(font_hash,
1283 "Sans:style=Bold Oblique");
1285 font_hash = _elm_font_available_hash_add(font_hash, "Serif:style=Regular");
1286 font_hash = _elm_font_available_hash_add(font_hash, "Serif:style=Bold");
1287 font_hash = _elm_font_available_hash_add(font_hash, "Serif:style=Oblique");
1288 font_hash = _elm_font_available_hash_add(font_hash,
1289 "Serif:style=Bold Oblique");
1291 font_hash = _elm_font_available_hash_add(font_hash,
1292 "Monospace:style=Regular");
1293 font_hash = _elm_font_available_hash_add(font_hash,
1294 "Monospace:style=Bold");
1295 font_hash = _elm_font_available_hash_add(font_hash,
1296 "Monospace:style=Oblique");
1297 font_hash = _elm_font_available_hash_add(font_hash,
1298 "Monospace:style=Bold Oblique");
1300 EINA_LIST_FOREACH(list, l, key)
1301 font_hash = _elm_font_available_hash_add(font_hash, key);
1307 elm_font_available_hash_del(Eina_Hash *hash)
1309 _elm_font_available_hash_del(hash);
1313 elm_finger_size_get(void)
1315 return _elm_config->finger_size;
1319 elm_finger_size_set(Evas_Coord size)
1321 if (_elm_config->finger_size == size) return;
1322 _elm_config->finger_size = size;
1327 elm_finger_size_all_set(Evas_Coord size)
1329 elm_finger_size_set(size);
1330 _elm_config_all_update();
1334 elm_coords_finger_size_adjust(int times_w,
1339 if ((w) && (*w < (_elm_config->finger_size * times_w)))
1340 *w = _elm_config->finger_size * times_w;
1341 if ((h) && (*h < (_elm_config->finger_size * times_h)))
1342 *h = _elm_config->finger_size * times_h;
1349 elm_cache_all_flush(void)
1350 >>>>>>> remotes/origin/upstream
1355 edje_file_cache_flush();
1356 edje_collection_cache_flush();
1358 EINA_LIST_FOREACH(_elm_win_list, l, obj)
1360 Evas *e = evas_object_evas_get(obj);
1361 evas_image_cache_flush(e);
1362 evas_font_cache_flush(e);
1363 evas_render_dump(e);
1369 elm_cache_flush_interval_get(void)
1371 return _elm_config->cache_flush_poll_interval;
1375 elm_cache_flush_interval_set(int size)
1377 if (_elm_config->cache_flush_poll_interval == size) return;
1378 _elm_config->cache_flush_poll_interval = size;
1384 elm_cache_flush_interval_all_set(int size)
1386 elm_cache_flush_interval_set(size);
1387 _elm_config_all_update();
1391 elm_cache_flush_enabled_get(void)
1393 return _elm_config->cache_flush_enable;
1397 elm_cache_flush_enabled_set(Eina_Bool enabled)
1399 enabled = !!enabled;
1400 if (_elm_config->cache_flush_enable == enabled) return;
1401 _elm_config->cache_flush_enable = enabled;
1407 elm_cache_flush_enabled_all_set(Eina_Bool enabled)
1409 elm_cache_flush_enabled_set(enabled);
1410 _elm_config_all_update();
1414 elm_font_cache_get(void)
1416 return _elm_config->font_cache;
1420 elm_font_cache_set(int size)
1422 if (_elm_config->font_cache == size) return;
1423 _elm_config->font_cache = size;
1429 elm_font_cache_all_set(int size)
1431 elm_font_cache_set(size);
1432 _elm_config_all_update();
1436 elm_image_cache_get(void)
1438 return _elm_config->image_cache;
1442 elm_image_cache_set(int size)
1444 if (_elm_config->image_cache == size) return;
1445 _elm_config->image_cache = size;
1451 elm_image_cache_all_set(int size)
1453 elm_image_cache_set(size);
1454 _elm_config_all_update();
1458 elm_edje_file_cache_get(void)
1460 return _elm_config->edje_cache;
1464 elm_edje_file_cache_set(int size)
1466 if (_elm_config->edje_cache == size) return;
1467 _elm_config->edje_cache = size;
1473 elm_edje_file_cache_all_set(int size)
1475 elm_edje_file_cache_set(size);
1476 _elm_config_all_update();
1480 elm_edje_collection_cache_get(void)
1482 return _elm_config->edje_collection_cache;
1486 elm_edje_collection_cache_set(int size)
1488 if (_elm_config->edje_collection_cache == size) return;
1489 _elm_config->edje_collection_cache = size;
1495 elm_edje_collection_cache_all_set(int size)
1497 elm_edje_collection_cache_set(size);
1498 _elm_config_all_update();
1500 EINA_DEPRECATED EAPI void
1503 elm_cache_all_flush();
1504 >>>>>>> remotes/origin/upstream
1508 elm_object_focus_get(const Evas_Object *obj)
1510 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1511 return elm_widget_focus_get(obj);
1515 elm_object_focus_set(Evas_Object *obj,
1518 EINA_SAFETY_ON_NULL_RETURN(obj);
1522 if (elm_widget_focus_get(obj)) return;
1523 elm_widget_focus_cycle(obj, ELM_FOCUS_NEXT);
1527 if (!elm_widget_can_focus_get(obj)) return;
1528 elm_widget_focused_object_clear(obj);
1533 elm_object_focus(Evas_Object *obj)
1535 EINA_SAFETY_ON_NULL_RETURN(obj);
1536 elm_object_focus_set(obj, EINA_TRUE);
1540 elm_object_unfocus(Evas_Object *obj)
1542 EINA_SAFETY_ON_NULL_RETURN(obj);
1543 elm_object_focus_set(obj, EINA_FALSE);
1546 if (focus == elm_widget_focus_get(obj)) return;
1549 elm_widget_focus_cycle(obj, ELM_FOCUS_NEXT);
1551 elm_widget_focused_object_clear(obj);
1552 >>>>>>> remotes/origin/upstream
1556 elm_object_focus_allow_set(Evas_Object *obj,
1559 EINA_SAFETY_ON_NULL_RETURN(obj);
1560 elm_widget_can_focus_set(obj, enable);
1563 /*FIXME: According to the elm_object_focus_allow_get(), child_can_focus field
1564 of the parent should be updated. Otherwise, the checking of it's child focus allow states should not be in elm_object_focus_allow_get() */
1565 >>>>>>> remotes/origin/upstream
1569 elm_object_focus_allow_get(const Evas_Object *obj)
1571 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1572 return (elm_widget_can_focus_get(obj)) || (elm_widget_child_can_focus_get(obj));
1576 elm_object_focus_custom_chain_set(Evas_Object *obj,
1579 EINA_SAFETY_ON_NULL_RETURN(obj);
1580 elm_widget_focus_custom_chain_set(obj, objs);
1584 elm_object_focus_custom_chain_unset(Evas_Object *obj)
1586 EINA_SAFETY_ON_NULL_RETURN(obj);
1587 elm_widget_focus_custom_chain_unset(obj);
1590 EAPI const Eina_List *
1591 elm_object_focus_custom_chain_get(const Evas_Object *obj)
1593 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
1594 return elm_widget_focus_custom_chain_get(obj);
1598 elm_object_focus_custom_chain_append(Evas_Object *obj,
1600 Evas_Object *relative_child)
1602 EINA_SAFETY_ON_NULL_RETURN(obj);
1604 EINA_SAFETY_ON_NULL_RETURN(child);
1606 >>>>>>> remotes/origin/upstream
1607 elm_widget_focus_custom_chain_append(obj, child, relative_child);
1611 elm_object_focus_custom_chain_prepend(Evas_Object *obj,
1613 Evas_Object *relative_child)
1615 EINA_SAFETY_ON_NULL_RETURN(obj);
1617 EINA_SAFETY_ON_NULL_RETURN(child);
1618 elm_widget_focus_custom_chain_prepend(obj, child, relative_child);
1622 elm_object_focus_cycle(Evas_Object *obj,
1623 Elm_Focus_Direction dir)
1625 EINA_SAFETY_ON_NULL_RETURN(obj);
1626 elm_widget_focus_cycle(obj, dir);
1630 elm_object_focus_direction_go(Evas_Object *obj,
1634 EINA_SAFETY_ON_NULL_RETURN(obj);
1635 elm_widget_focus_direction_go(obj, x, y);
1639 elm_object_tree_unfocusable_set(Evas_Object *obj,
1640 Eina_Bool tree_unfocusable)
1642 EINA_SAFETY_ON_NULL_RETURN(obj);
1643 elm_widget_tree_unfocusable_set(obj, tree_unfocusable);
1647 elm_object_tree_unfocusable_get(const Evas_Object *obj)
1649 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1650 return elm_widget_tree_unfocusable_get(obj);
1654 elm_focus_highlight_enabled_get(void)
1656 return _elm_config->focus_highlight_enable;
1660 elm_focus_highlight_enabled_set(Eina_Bool enable)
1662 _elm_config->focus_highlight_enable = !!enable;
1666 elm_focus_highlight_animate_get(void)
1668 return _elm_config->focus_highlight_animate;
1672 elm_focus_highlight_animate_set(Eina_Bool animate)
1674 _elm_config->focus_highlight_animate = !!animate;
1678 elm_scroll_bounce_enabled_get(void)
1680 return _elm_config->thumbscroll_bounce_enable;
1684 elm_scroll_bounce_enabled_set(Eina_Bool enabled)
1686 _elm_config->thumbscroll_bounce_enable = enabled;
1690 elm_scroll_bounce_enabled_all_set(Eina_Bool enabled)
1692 elm_scroll_bounce_enabled_set(enabled);
1693 _elm_config_all_update();
1697 elm_scroll_bounce_friction_get(void)
1699 return _elm_config->thumbscroll_bounce_friction;
1703 elm_scroll_bounce_friction_set(double friction)
1705 _elm_config->thumbscroll_bounce_friction = friction;
1709 elm_scroll_bounce_friction_all_set(double friction)
1711 elm_scroll_bounce_friction_set(friction);
1712 _elm_config_all_update();
1716 elm_scroll_page_scroll_friction_get(void)
1718 return _elm_config->page_scroll_friction;
1722 elm_scroll_page_scroll_friction_set(double friction)
1724 _elm_config->page_scroll_friction = friction;
1728 elm_scroll_page_scroll_friction_all_set(double friction)
1730 elm_scroll_page_scroll_friction_set(friction);
1731 _elm_config_all_update();
1735 elm_scroll_bring_in_scroll_friction_get(void)
1737 return _elm_config->bring_in_scroll_friction;
1741 elm_scroll_bring_in_scroll_friction_set(double friction)
1743 _elm_config->bring_in_scroll_friction = friction;
1747 elm_scroll_bring_in_scroll_friction_all_set(double friction)
1749 elm_scroll_bring_in_scroll_friction_set(friction);
1750 _elm_config_all_update();
1754 elm_scroll_zoom_friction_get(void)
1756 return _elm_config->zoom_friction;
1760 elm_scroll_zoom_friction_set(double friction)
1762 _elm_config->zoom_friction = friction;
1766 elm_scroll_zoom_friction_all_set(double friction)
1768 elm_scroll_zoom_friction_set(friction);
1769 _elm_config_all_update();
1773 elm_scroll_thumbscroll_enabled_get(void)
1775 return _elm_config->thumbscroll_enable;
1779 elm_scroll_thumbscroll_enabled_set(Eina_Bool enabled)
1781 _elm_config->thumbscroll_enable = enabled;
1785 elm_scroll_thumbscroll_enabled_all_set(Eina_Bool enabled)
1787 elm_scroll_thumbscroll_enabled_set(enabled);
1788 _elm_config_all_update();
1792 elm_scroll_thumbscroll_threshold_get(void)
1794 return _elm_config->thumbscroll_threshold;
1798 elm_scroll_thumbscroll_threshold_set(unsigned int threshold)
1800 _elm_config->thumbscroll_threshold = threshold;
1804 elm_scroll_thumbscroll_threshold_all_set(unsigned int threshold)
1806 elm_scroll_thumbscroll_threshold_set(threshold);
1807 _elm_config_all_update();
1811 elm_scroll_thumbscroll_momentum_threshold_get(void)
1813 return _elm_config->thumbscroll_momentum_threshold;
1817 elm_scroll_thumbscroll_momentum_threshold_set(double threshold)
1819 _elm_config->thumbscroll_momentum_threshold = threshold;
1823 elm_scroll_thumbscroll_momentum_threshold_all_set(double threshold)
1825 elm_scroll_thumbscroll_momentum_threshold_set(threshold);
1826 _elm_config_all_update();
1830 elm_scroll_thumbscroll_friction_get(void)
1832 return _elm_config->thumbscroll_friction;
1836 elm_scroll_thumbscroll_friction_set(double friction)
1838 _elm_config->thumbscroll_friction = friction;
1842 elm_scroll_thumbscroll_friction_all_set(double friction)
1844 elm_scroll_thumbscroll_friction_set(friction);
1845 _elm_config_all_update();
1849 elm_scroll_thumbscroll_border_friction_get(void)
1851 return _elm_config->thumbscroll_border_friction;
1855 elm_scroll_thumbscroll_border_friction_set(double friction)
1857 if (friction < 0.0) friction = 0.0;
1858 if (friction > 1.0) friction = 1.0;
1859 _elm_config->thumbscroll_friction = friction;
1863 elm_scroll_thumbscroll_border_friction_all_set(double friction)
1865 elm_scroll_thumbscroll_border_friction_set(friction);
1866 _elm_config_all_update();
1870 elm_scroll_thumbscroll_sensitivity_friction_get(void)
1872 return _elm_config->thumbscroll_sensitivity_friction;
1876 elm_scroll_thumbscroll_sensitivity_friction_set(double friction)
1878 if (friction < 0.1) friction = 0.1;
1879 if (friction > 1.0) friction = 1.0;
1880 _elm_config->thumbscroll_friction = friction;
1884 elm_scroll_thumbscroll_sensitivity_friction_all_set(double friction)
1886 elm_scroll_thumbscroll_sensitivity_friction_set(friction);
1887 _elm_config_all_update();
1889 elm_widget_focus_custom_chain_prepend(obj, child, relative_child);
1892 EINA_DEPRECATED EAPI void
1893 elm_object_focus_cycle(Evas_Object *obj,
1894 Elm_Focus_Direction dir)
1896 elm_object_focus_next(obj, dir);
1900 elm_object_focus_next(Evas_Object *obj,
1901 Elm_Focus_Direction dir)
1903 EINA_SAFETY_ON_NULL_RETURN(obj);
1904 elm_widget_focus_cycle(obj, dir);
1907 EINA_DEPRECATED EAPI void
1908 elm_object_tree_unfocusable_set(Evas_Object *obj,
1909 Eina_Bool unfocusable)
1911 elm_object_tree_focus_allow_set(obj, unfocusable);
1914 EINA_DEPRECATED EAPI Eina_Bool
1915 elm_object_tree_unfocusable_get(const Evas_Object *obj)
1917 return elm_object_tree_focus_allow_get(obj);
1921 elm_object_tree_focus_allow_set(Evas_Object *obj,
1922 Eina_Bool tree_focusable)
1924 EINA_SAFETY_ON_NULL_RETURN(obj);
1925 elm_widget_tree_unfocusable_set(obj, !tree_focusable);
1929 elm_object_tree_focus_allow_get(const Evas_Object *obj)
1931 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1932 return elm_widget_tree_unfocusable_get(obj);
1933 >>>>>>> remotes/origin/upstream
1937 elm_object_scroll_hold_push(Evas_Object *obj)
1939 EINA_SAFETY_ON_NULL_RETURN(obj);
1940 elm_widget_scroll_hold_push(obj);
1944 elm_object_scroll_hold_pop(Evas_Object *obj)
1946 EINA_SAFETY_ON_NULL_RETURN(obj);
1947 elm_widget_scroll_hold_pop(obj);
1951 elm_object_scroll_freeze_push(Evas_Object *obj)
1953 EINA_SAFETY_ON_NULL_RETURN(obj);
1954 elm_widget_scroll_freeze_push(obj);
1958 elm_object_scroll_lock_x_set(Evas_Object *obj,
1961 EINA_SAFETY_ON_NULL_RETURN(obj);
1962 elm_widget_drag_lock_x_set(obj, lock);
1966 elm_object_scroll_lock_y_set(Evas_Object *obj,
1969 EINA_SAFETY_ON_NULL_RETURN(obj);
1970 elm_widget_drag_lock_y_set(obj, lock);
1974 elm_object_scroll_lock_x_get(const Evas_Object *obj)
1976 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1977 return elm_widget_drag_lock_x_get(obj);
1981 elm_object_scroll_lock_y_get(const Evas_Object *obj)
1983 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1984 return elm_widget_drag_lock_y_get(obj);
1988 elm_object_scroll_freeze_pop(Evas_Object *obj)
1990 EINA_SAFETY_ON_NULL_RETURN(obj);
1991 elm_widget_scroll_freeze_pop(obj);
1995 elm_object_widget_check(const Evas_Object *obj)
1997 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1998 return elm_widget_is(obj);
2002 elm_object_parent_widget_get(const Evas_Object *obj)
2004 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
2005 return elm_widget_parent_widget_get(obj);
2009 elm_object_top_widget_get(const Evas_Object *obj)
2011 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
2012 return elm_widget_top_get(obj);
2016 elm_object_widget_type_get(const Evas_Object *obj)
2018 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
2019 return elm_widget_type_get(obj);
2023 elm_object_signal_emit(Evas_Object *obj,
2024 const char *emission,
2027 EINA_SAFETY_ON_NULL_RETURN(obj);
2028 elm_widget_signal_emit(obj, emission, source);
2032 elm_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
2034 EINA_SAFETY_ON_NULL_RETURN(obj);
2035 EINA_SAFETY_ON_NULL_RETURN(func);
2036 elm_widget_signal_callback_add(obj, emission, source, func, data);
2040 elm_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func)
2042 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
2043 EINA_SAFETY_ON_NULL_RETURN_VAL(func, NULL);
2044 return elm_widget_signal_callback_del(obj, emission, source, func);
2048 elm_object_event_callback_add(Evas_Object *obj, Elm_Event_Cb func, const void *data)
2050 EINA_SAFETY_ON_NULL_RETURN(obj);
2051 EINA_SAFETY_ON_NULL_RETURN(func);
2052 elm_widget_event_callback_add(obj, func, data);
2056 elm_object_event_callback_del(Evas_Object *obj, Elm_Event_Cb func, const void *data)
2058 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
2059 EINA_SAFETY_ON_NULL_RETURN_VAL(func, NULL);
2060 return elm_widget_event_callback_del(obj, func, data);
2064 elm_object_tree_dump(const Evas_Object *top)
2067 elm_widget_tree_dump(top);
2075 elm_object_tree_dot_dump(const Evas_Object *top,
2079 FILE *f = fopen(file, "wb");
2080 elm_widget_tree_dot_dump(top, f);
2091 elm_longpress_timeout_set(double longpress_timeout)
2093 _elm_config->longpress_timeout = longpress_timeout;
2097 elm_longpress_timeout_get(void)
2099 return _elm_config->longpress_timeout;
2101 elm_coords_finger_size_adjust(int times_w,
2106 if ((w) && (*w < (_elm_config->finger_size * times_w)))
2107 *w = _elm_config->finger_size * times_w;
2108 if ((h) && (*h < (_elm_config->finger_size * times_h)))
2109 *h = _elm_config->finger_size * times_h;
2110 >>>>>>> remotes/origin/upstream
2114 elm_object_item_widget_get(const Elm_Object_Item *it)
2120 elm_object_item_content_part_set(Elm_Object_Item *it,
2122 Evas_Object *content)
2125 _elm_widget_item_content_part_set((Elm_Widget_Item *) it, part, content);
2127 _elm_widget_item_content_part_set((Elm_Widget_Item *)it, part, content);
2128 >>>>>>> remotes/origin/upstream
2132 elm_object_item_part_content_set(Elm_Object_Item *it,
2134 Evas_Object *content)
2137 _elm_widget_item_content_part_set((Elm_Widget_Item *) it, part, content);
2139 _elm_widget_item_content_part_set((Elm_Widget_Item *)it, part, content);
2140 >>>>>>> remotes/origin/upstream
2144 elm_object_item_content_part_get(const Elm_Object_Item *it,
2148 return _elm_widget_item_content_part_get((Elm_Widget_Item *) it, part);
2150 return _elm_widget_item_content_part_get((Elm_Widget_Item *)it, part);
2151 >>>>>>> remotes/origin/upstream
2155 elm_object_item_part_content_get(const Elm_Object_Item *it,
2159 return _elm_widget_item_content_part_get((Elm_Widget_Item *) it, part);
2161 return _elm_widget_item_content_part_get((Elm_Widget_Item *)it, part);
2162 >>>>>>> remotes/origin/upstream
2166 elm_object_item_content_part_unset(Elm_Object_Item *it, const char *part)
2169 return _elm_widget_item_content_part_unset((Elm_Widget_Item *) it, part);
2171 return _elm_widget_item_content_part_unset((Elm_Widget_Item *)it, part);
2172 >>>>>>> remotes/origin/upstream
2176 elm_object_item_part_content_unset(Elm_Object_Item *it, const char *part)
2179 return _elm_widget_item_content_part_unset((Elm_Widget_Item *) it, part);
2181 return _elm_widget_item_content_part_unset((Elm_Widget_Item *)it, part);
2182 >>>>>>> remotes/origin/upstream
2186 elm_object_item_text_part_set(Elm_Object_Item *it,
2191 _elm_widget_item_text_part_set((Elm_Widget_Item *) it, part, label);
2193 _elm_widget_item_text_part_set((Elm_Widget_Item *)it, part, label);
2194 >>>>>>> remotes/origin/upstream
2198 elm_object_item_part_text_set(Elm_Object_Item *it,
2203 _elm_widget_item_text_part_set((Elm_Widget_Item *) it, part, label);
2205 _elm_widget_item_text_part_set((Elm_Widget_Item *)it, part, label);
2206 >>>>>>> remotes/origin/upstream
2210 elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part)
2213 return _elm_widget_item_text_part_get((Elm_Widget_Item *) it, part);
2215 return _elm_widget_item_text_part_get((Elm_Widget_Item *)it, part);
2216 >>>>>>> remotes/origin/upstream
2220 elm_object_item_part_text_get(const Elm_Object_Item *it, const char *part)
2223 return _elm_widget_item_text_part_get((Elm_Widget_Item *) it, part);
2225 return _elm_widget_item_text_part_get((Elm_Widget_Item *)it, part);
2226 >>>>>>> remotes/origin/upstream
2230 elm_object_access_info_set(Evas_Object *obj, const char *txt)
2232 elm_widget_access_info_set(obj, txt);
2236 elm_object_name_find(const Evas_Object *obj, const char *name, int recurse)
2238 return elm_widget_name_find(obj, name, recurse);
2242 elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt)
2245 _elm_widget_item_access_info_set((Elm_Widget_Item *) it, txt);
2247 _elm_widget_item_access_info_set((Elm_Widget_Item *)it, txt);
2248 >>>>>>> remotes/origin/upstream
2252 elm_object_item_data_get(const Elm_Object_Item *it)
2254 return elm_widget_item_data_get(it);
2258 elm_object_item_data_set(Elm_Object_Item *it, void *data)
2260 elm_widget_item_data_set(it, data);
2264 elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source)
2267 _elm_widget_item_signal_emit((Elm_Widget_Item *) it, emission, source);
2269 _elm_widget_item_signal_emit((Elm_Widget_Item *)it, emission, source);
2270 >>>>>>> remotes/origin/upstream
2273 EAPI void elm_object_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled)
2276 _elm_widget_item_disabled_set((Elm_Widget_Item *) it, disabled);
2278 _elm_widget_item_disabled_set((Elm_Widget_Item *)it, disabled);
2279 >>>>>>> remotes/origin/upstream
2282 EAPI Eina_Bool elm_object_item_disabled_get(const Elm_Object_Item *it)
2285 return _elm_widget_item_disabled_get((Elm_Widget_Item *) it);
2287 return _elm_widget_item_disabled_get((Elm_Widget_Item *)it);
2288 >>>>>>> remotes/origin/upstream
2291 EAPI void elm_object_item_del_cb_set(Elm_Object_Item *it, Evas_Smart_Cb del_cb)
2294 _elm_widget_item_del_cb_set((Elm_Widget_Item *) it, del_cb);
2296 _elm_widget_item_del_cb_set((Elm_Widget_Item *)it, del_cb);
2297 >>>>>>> remotes/origin/upstream
2300 EAPI void elm_object_item_del(Elm_Object_Item *it)
2303 _elm_widget_item_del((Elm_Widget_Item *) it);
2307 elm_object_item_tooltip_text_set(Elm_Object_Item *item, const char *text)
2309 elm_widget_item_tooltip_text_set(item, text);
2313 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)
2315 elm_widget_item_tooltip_content_cb_set(item, func, data, del_cb);
2319 elm_object_item_tooltip_unset(Elm_Object_Item *item)
2321 elm_widget_item_tooltip_unset(item);
2325 elm_object_item_tooltip_window_mode_set(Elm_Object_Item *item, Eina_Bool disable)
2327 return elm_widget_item_tooltip_window_mode_set(item, disable);
2331 elm_object_item_tooltip_window_mode_get(const Elm_Object_Item *item)
2333 return elm_widget_item_tooltip_window_mode_get(item);
2337 elm_object_item_tooltip_style_set(Elm_Object_Item *item, const char *style)
2339 elm_widget_item_tooltip_style_set(item, style);
2343 elm_object_item_tooltip_style_get(const Elm_Object_Item *item)
2345 return elm_widget_item_tooltip_style_get(item);
2348 EINA_DEPRECATED EAPI Evas_Object *
2349 elm_object_item_object_get(const Elm_Object_Item *it)
2351 return elm_object_item_widget_get(it);
2355 elm_object_item_cursor_set(Elm_Object_Item *item, const char *cursor)
2357 elm_widget_item_tooltip_style_set(item, cursor);
2361 elm_object_item_cursor_get(const Elm_Object_Item *item)
2363 return elm_widget_item_cursor_get(item);
2367 elm_object_item_cursor_unset(Elm_Object_Item *item)
2369 elm_widget_item_cursor_unset(item);
2373 elm_object_item_cursor_style_set(Elm_Object_Item *item, const char *style)
2375 elm_widget_item_cursor_style_set(item, style);
2379 elm_object_item_cursor_style_get(const Elm_Object_Item *item)
2381 return elm_widget_item_cursor_style_get(item);
2385 elm_object_item_cursor_engine_only_set(Elm_Object_Item *item, Eina_Bool engine_only)
2387 elm_widget_item_cursor_engine_only_set(item, engine_only);
2391 elm_object_item_cursor_engine_only_get(const Elm_Object_Item *item)
2393 return elm_widget_item_cursor_engine_only_get(item);
2395 _elm_widget_item_del((Elm_Widget_Item *)it);
2399 elm_object_item_tooltip_text_set(Elm_Object_Item *it, const char *text)
2401 elm_widget_item_tooltip_text_set(it, text);
2405 elm_object_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
2407 elm_widget_item_tooltip_content_cb_set(it, func, data, del_cb);
2411 elm_object_item_tooltip_unset(Elm_Object_Item *it)
2413 elm_widget_item_tooltip_unset(it);
2417 elm_object_item_tooltip_window_mode_set(Elm_Object_Item *it, Eina_Bool disable)
2419 return elm_widget_item_tooltip_window_mode_set(it, disable);
2423 elm_object_item_tooltip_window_mode_get(const Elm_Object_Item *it)
2425 return elm_widget_item_tooltip_window_mode_get(it);
2429 elm_object_item_tooltip_style_set(Elm_Object_Item *it, const char *style)
2431 elm_widget_item_tooltip_style_set(it, style);
2435 elm_object_item_tooltip_style_get(const Elm_Object_Item *it)
2437 return elm_widget_item_tooltip_style_get(it);
2441 elm_object_item_cursor_set(Elm_Object_Item *it, const char *cursor)
2443 elm_widget_item_cursor_set(it, cursor);
2447 elm_object_item_cursor_get(const Elm_Object_Item *it)
2449 return elm_widget_item_cursor_get(it);
2453 elm_object_item_cursor_unset(Elm_Object_Item *it)
2455 elm_widget_item_cursor_unset(it);
2459 elm_object_item_cursor_style_set(Elm_Object_Item *it, const char *style)
2461 elm_widget_item_cursor_style_set(it, style);
2465 elm_object_item_cursor_style_get(const Elm_Object_Item *it)
2467 return elm_widget_item_cursor_style_get(it);
2471 elm_object_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only)
2473 elm_widget_item_cursor_engine_only_set(it, engine_only);
2477 elm_object_item_cursor_engine_only_get(const Elm_Object_Item *it)
2479 return elm_widget_item_cursor_engine_only_get(it);
2483 elm_object_item_smart_callback_add(Elm_Object_Item *it, const char *event, Elm_Object_Item_Smart_Cb func, const void *data)
2485 elm_widget_item_smart_callback_add((Elm_Widget_Item *)it, event, func, data);
2489 elm_object_item_smart_callback_del(Elm_Object_Item *it, const char *event, Elm_Object_Item_Smart_Cb func)
2491 return elm_widget_item_smart_callback_del((Elm_Widget_Item *)it, event,
2493 >>>>>>> remotes/origin/upstream