forked from enlightenment/efl
parent
4981652e8c
commit
1bb3339188
|
@ -510,6 +510,7 @@ extern "C" {
|
|||
EAPI Evas_Object *edje_object_part_external_object_get(const Evas_Object *obj, const char *part);
|
||||
EAPI Eina_Bool edje_object_part_external_param_set(Evas_Object *obj, const char *part, const Edje_External_Param *param);
|
||||
EAPI Eina_Bool edje_object_part_external_param_get(const Evas_Object *obj, const char *part, Edje_External_Param *param);
|
||||
EAPI Edje_External_Param_Type edje_object_part_external_param_type_get(const Evas_Object *obj, const char *part, const char *param);
|
||||
|
||||
EAPI Eina_Bool edje_object_part_box_append (Evas_Object *obj, const char *part, Evas_Object *child);
|
||||
EAPI Eina_Bool edje_object_part_box_prepend (Evas_Object *obj, const char *part, Evas_Object *child);
|
||||
|
|
|
@ -173,6 +173,54 @@ edje_object_part_external_param_get(const Evas_Object *obj, const char *part, Ed
|
|||
return _edje_external_param_get(rp->swallowed_object, param);
|
||||
}
|
||||
|
||||
/**
|
||||
* Facility to query the type of the given parameter of the given part.
|
||||
*
|
||||
* @param obj A valid Evas_Object handle
|
||||
* @param part The part name
|
||||
* @param param the parameter name to use.
|
||||
*
|
||||
* @return @c EDJE_EXTERNAL_PARAM_TYPE_MAX on errors, or another value
|
||||
* from #Edje_External_Param_Type on success.
|
||||
*/
|
||||
EAPI Edje_External_Param_Type
|
||||
edje_object_part_external_param_type_get(const Evas_Object *obj, const char *part, const char *param)
|
||||
{
|
||||
Edje *ed;
|
||||
Edje_Real_Part *rp;
|
||||
Edje_External_Type *type;
|
||||
Edje_External_Param_Info *info;
|
||||
|
||||
ed = _edje_fetch(obj);
|
||||
if ((!ed) || (!part)) return EDJE_EXTERNAL_PARAM_TYPE_MAX;
|
||||
|
||||
rp = _edje_real_part_recursive_get(ed, (char *)part);
|
||||
if (!rp)
|
||||
{
|
||||
ERR("no part '%s'", part);
|
||||
return EDJE_EXTERNAL_PARAM_TYPE_MAX;
|
||||
}
|
||||
type = evas_object_data_get(obj, "Edje_External_Type");
|
||||
if (!type)
|
||||
{
|
||||
ERR("no external type for object %p", obj);
|
||||
return EDJE_EXTERNAL_PARAM_TYPE_MAX;
|
||||
}
|
||||
if (!type->parameters_info)
|
||||
{
|
||||
ERR("no parameters information for external type '%s'",
|
||||
type->module_name);
|
||||
return EDJE_EXTERNAL_PARAM_TYPE_MAX;
|
||||
}
|
||||
for (info = type->parameters_info; info->name != NULL; info++)
|
||||
if (strcmp(info->name, param) == 0)
|
||||
return info->type;
|
||||
|
||||
ERR("no parameter '%s' external type '%s'", param, type->module_name);
|
||||
return EDJE_EXTERNAL_PARAM_TYPE_MAX;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Register given type name to return the given information.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue