Print params in same line with func in obj info genlist
This commit is contained in:
parent
9f43b8c2d2
commit
d9ffab2699
|
@ -166,31 +166,6 @@ _obj_info_expanded_cb(void *data EINA_UNUSED, Eo *obj,
|
||||||
elm_genlist_item_expanded_set(glg, EINA_FALSE);
|
elm_genlist_item_expanded_set(glg, EINA_FALSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(node->type == CLOUSEAU_OBJ_FUNC)
|
|
||||||
{
|
|
||||||
Eolian_Debug_Function *func = (Eolian_Debug_Function *)(node->data);
|
|
||||||
Eolian_Debug_Parameter *param;
|
|
||||||
EINA_LIST_FOREACH(func->params, itr, param)
|
|
||||||
{
|
|
||||||
_Obj_info_node *node_itr = calloc(1, sizeof(*node_itr));
|
|
||||||
node_itr->type = CLOUSEAU_OBJ_PARAM;
|
|
||||||
node_itr->data = param;
|
|
||||||
|
|
||||||
elm_genlist_item_append(
|
|
||||||
obj, _obj_info_itc, node_itr, glit,
|
|
||||||
ELM_GENLIST_ITEM_NONE, NULL, NULL);
|
|
||||||
}
|
|
||||||
if(func->params == NULL)
|
|
||||||
{
|
|
||||||
_Obj_info_node *node_itr = calloc(1, sizeof(*node_itr));
|
|
||||||
node_itr->type = CLOUSEAU_OBJ_RET;
|
|
||||||
node_itr->data = &func->ret;
|
|
||||||
|
|
||||||
elm_genlist_item_append(
|
|
||||||
obj, _obj_info_itc, node_itr, glit,
|
|
||||||
ELM_GENLIST_ITEM_NONE, NULL, NULL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -247,66 +222,57 @@ void _eolian_type_to_string (const Eolian_Type *param_eolian_type, char *c_type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define _MAX_LABEL 50
|
#define _MAX_LABEL 2000
|
||||||
static char *_obj_info_eo_param_str_get(_Obj_info_node *node)
|
|
||||||
{
|
|
||||||
char name[_MAX_LABEL]; name[0] = '\0';
|
|
||||||
char c_type[_MAX_LABEL];
|
|
||||||
Eolian_Debug_Parameter *param = node->data;
|
|
||||||
const Eolian_Function_Parameter *type = param->etype;
|
|
||||||
const Eolian_Type *eo_type = eolian_parameter_type_get(type);
|
|
||||||
param = node->data;
|
|
||||||
char *print_format;
|
|
||||||
if (param->value.type == EOLIAN_DEBUG_STRING)
|
|
||||||
print_format = "%s %s = %s";
|
|
||||||
else
|
|
||||||
print_format = "%s %s = %lX";
|
|
||||||
_eolian_type_to_string(eo_type, c_type);
|
|
||||||
snprintf(name, _MAX_LABEL,
|
|
||||||
print_format,
|
|
||||||
c_type, eolian_parameter_name_get(type),
|
|
||||||
param->value.value.value);
|
|
||||||
|
|
||||||
return strdup(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
static char *_obj_info_eo_ret_str_get(_Obj_info_node *node)
|
|
||||||
{
|
|
||||||
char name[_MAX_LABEL]; name[0] = '\0';
|
|
||||||
char c_type[_MAX_LABEL];
|
|
||||||
Eolian_Debug_Return *param = node->data;
|
|
||||||
param = node->data;
|
|
||||||
char *print_format;
|
|
||||||
if (param->value.type == EOLIAN_DEBUG_STRING)
|
|
||||||
print_format = "%s = %s";
|
|
||||||
else
|
|
||||||
print_format = "%s = %lX";
|
|
||||||
_eolian_type_to_string(param->etype, c_type);
|
|
||||||
snprintf(name, _MAX_LABEL,
|
|
||||||
print_format,
|
|
||||||
c_type,
|
|
||||||
param->value.value.value);
|
|
||||||
|
|
||||||
return strdup(name);
|
|
||||||
}
|
|
||||||
#undef _MAX_LABEL
|
|
||||||
|
|
||||||
static char *_obj_info_item_label_get(void *data, Evas_Object *obj EINA_UNUSED,
|
static char *_obj_info_item_label_get(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
const char *part EINA_UNUSED)
|
const char *part EINA_UNUSED)
|
||||||
{
|
{
|
||||||
_Obj_info_node *node = data;
|
_Obj_info_node *node = data;
|
||||||
switch(node->type)
|
|
||||||
|
if(node->type == CLOUSEAU_OBJ_CLASS)
|
||||||
{
|
{
|
||||||
case CLOUSEAU_OBJ_CLASS :
|
|
||||||
return strdup(eolian_class_name_get(((Eolian_Debug_Class *)(node->data))->ekl));
|
return strdup(eolian_class_name_get(((Eolian_Debug_Class *)(node->data))->ekl));
|
||||||
case CLOUSEAU_OBJ_FUNC :
|
|
||||||
return strdup(eolian_function_name_get(((Eolian_Debug_Function *)(node->data))->efunc));
|
|
||||||
case CLOUSEAU_OBJ_PARAM : return _obj_info_eo_param_str_get(node);
|
|
||||||
case CLOUSEAU_OBJ_RET: return _obj_info_eo_ret_str_get(node);
|
|
||||||
default:
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
else if(node->type == CLOUSEAU_OBJ_FUNC)
|
||||||
|
{
|
||||||
|
Eina_List *itr;
|
||||||
|
char *print_format;
|
||||||
|
char buffer[_MAX_LABEL];
|
||||||
|
int buffer_size = 0;
|
||||||
|
buffer_size += snprintf(buffer + buffer_size,
|
||||||
|
_MAX_LABEL - buffer_size, "%s: ",
|
||||||
|
eolian_function_name_get(((Eolian_Debug_Function *)(node->data))->efunc));
|
||||||
|
buffer[0] = toupper(buffer[0]);
|
||||||
|
|
||||||
|
Eolian_Debug_Function *func = (Eolian_Debug_Function *)(node->data);
|
||||||
|
Eolian_Debug_Parameter *param;
|
||||||
|
EINA_LIST_FOREACH(func->params, itr, param)
|
||||||
|
{
|
||||||
|
if (param->value.type == EOLIAN_DEBUG_STRING)
|
||||||
|
print_format = "%s:%s ";
|
||||||
|
else
|
||||||
|
print_format = "%s:%lX ";
|
||||||
|
|
||||||
|
buffer_size += snprintf(buffer + buffer_size,
|
||||||
|
_MAX_LABEL - buffer_size, print_format, eolian_parameter_name_get(param->etype),
|
||||||
|
param->value.value.value);
|
||||||
|
|
||||||
|
}
|
||||||
|
if(func->params == NULL)
|
||||||
|
{
|
||||||
|
if (func->ret.value.type == EOLIAN_DEBUG_STRING)
|
||||||
|
print_format = ":%s ";
|
||||||
|
else
|
||||||
|
print_format = ":%lX ";
|
||||||
|
|
||||||
|
buffer_size -= snprintf(buffer + buffer_size,
|
||||||
|
_MAX_LABEL - buffer_size, print_format,
|
||||||
|
func->ret.value.value.value);
|
||||||
|
}
|
||||||
|
return strdup(buffer);
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
#undef _MAX_LABEL
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_debug_obj_info_cb(Eina_Debug_Client *src EINA_UNUSED,
|
_debug_obj_info_cb(Eina_Debug_Client *src EINA_UNUSED,
|
||||||
|
|
Loading…
Reference in New Issue