Adding debug option in elementary.

SVN revision: 52966
This commit is contained in:
Tiago Rezende Campos Falcao 2010-10-01 19:03:23 +00:00
parent 6f6106f6c3
commit 3b04b52ba4
4 changed files with 41 additions and 1 deletions

View File

@ -424,6 +424,18 @@ if test "x$want_elementary_ethumb" = "xyes" -a "x$have_elementary_ethumb" = "xno
fi
AC_SUBST(ELM_ETHUMB_DEF)
ELM_DEBUG_DEF="#undef"
want_elementary_debug="no"
AC_ARG_ENABLE([debug],
[AC_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
[want_elementary_debug=$enableval], [])
if test "x$want_elementary_debug" = "xyes"; then
AC_DEFINE(HAVE_ELEMENTARY_DEBUG, 1, [Elementary debug.])
ELM_DEBUG_DEF="#define"
fi
AC_SUBST(ELM_DEBUG_DEF)
ELM_ALLOCA_H_DEF="#undef"
AC_CHECK_HEADER(alloca.h, [ELM_ALLOCA_H_DEF="#define"])
AC_SUBST(ELM_ALLOCA_H_DEF)

View File

@ -18,6 +18,7 @@
@ELM_EDBUS_DEF@ ELM_EDBUS
@ELM_EFREET_DEF@ ELM_EFREET
@ELM_ETHUMB_DEF@ ELM_ETHUMB
@ELM_DEBUG_DEF@ ELM_DEBUG
@ELM_ALLOCA_H_DEF@ ELM_ALLOCA_H
@ELM_LIBINTL_H_DEF@ ELM_LIBINTL_H
@ -325,7 +326,7 @@ extern "C" {
EAPI void elm_object_scroll_lock_y_set(Evas_Object *obj, Eina_Bool lock);
EAPI Eina_Bool elm_object_scroll_lock_x_get(const Evas_Object *obj);
EAPI Eina_Bool elm_object_scroll_lock_y_get(const Evas_Object *obj);
EAPI void elm_object_signal_emit(Evas_Object *obj, const char *emission, const char *source);
EAPI void elm_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data);
EAPI void *elm_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source));
@ -1795,6 +1796,11 @@ extern "C" {
* month.
*/
/* debug
* don't use it unless you are sure
*/
EAPI void elm_object_tree_dump(const Evas_Object *top);
#ifdef __cplusplus
}
#endif

View File

@ -1538,3 +1538,21 @@ elm_object_signal_callback_del(Evas_Object *obj, const char *emission, const cha
{
return elm_widget_signal_callback_del(obj, emission, source, func);
}
/**
* @defgroup Debug Debug
*/
/**
* Print Tree object hierarchy in stdout
*
* @param obj The root object
* @ingroup Debug
*/
EAPI void
elm_object_tree_dump(const Evas_Object *top)
{
#ifdef ELM_DEBUG
elm_widget_tree_dump(top);
#endif
}

View File

@ -2144,6 +2144,7 @@ _smart_init(void)
}
/* happy debug functions */
#ifdef ELM_DEBUG
static void
_sub_obj_tree_dump(const Evas_Object *o, int lvl)
{
@ -2168,9 +2169,12 @@ _sub_obj_tree_dump(const Evas_Object *o, int lvl)
else
printf("+ %s(%p)\n", evas_object_type_get(o), o);
}
#endif
EAPI void
elm_widget_tree_dump(const Evas_Object *top)
{
#ifdef ELM_DEBUG
_sub_obj_tree_dump(top, 0);
#endif
}