forked from enlightenment/efl
Eo composite: Reordered parameters and improved docs.
SVN revision: 71906
This commit is contained in:
parent
1fabc3a749
commit
b122dd0dc5
|
@ -21,7 +21,7 @@ _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED)
|
|||
eo_do_super(obj, eo_constructor());
|
||||
|
||||
Eo *bt = eo_add(ELW_BUTTON_CLASS, obj);
|
||||
eo_composite_object_attach(obj, bt);
|
||||
eo_composite_object_attach(bt, obj);
|
||||
eo_do(bt, eo_event_callback_forwarder_add(EV_CLICKED, obj));
|
||||
eo_do(bt, evas_obj_visibility_set(EINA_TRUE));
|
||||
|
||||
|
|
|
@ -790,23 +790,27 @@ EAPI void eo_manual_free(Eo *obj);
|
|||
|
||||
/**
|
||||
* @brief Make an object a composite object of another.
|
||||
* @param obj the "parent" object.
|
||||
* @param comp_obj the object that will be used to composite obj.
|
||||
* @param comp_obj the object that will be used to composite parent.
|
||||
* @param parent the "parent" object.
|
||||
*
|
||||
* This functions also sets the parent of comp_obj to parent.
|
||||
*
|
||||
* @see eo_composite_object_detach()
|
||||
* @see eo_composite_is()
|
||||
*/
|
||||
EAPI void eo_composite_object_attach(Eo *obj, Eo *comp_obj);
|
||||
EAPI void eo_composite_object_attach(Eo *comp_obj, Eo *parent);
|
||||
|
||||
/**
|
||||
* @brief Detach a composite object from another object.
|
||||
* @param obj the "parent" object.
|
||||
* @param comp_obj the object attached to obj.
|
||||
* @param comp_obj the object attached to parent.
|
||||
* @param parent the "parent" object.
|
||||
*
|
||||
* This functions also sets the parent of comp_obj to @c NULL.
|
||||
*
|
||||
* @see eo_composite_object_attach()
|
||||
* @see eo_composite_is()
|
||||
*/
|
||||
EAPI void eo_composite_object_detach(Eo *obj, Eo *comp_obj);
|
||||
EAPI void eo_composite_object_detach(Eo *comp_obj, Eo *parent);
|
||||
|
||||
/**
|
||||
* @brief Check if an object is a composite object.
|
||||
|
|
|
@ -1506,37 +1506,37 @@ eo_shutdown(void)
|
|||
}
|
||||
|
||||
EAPI void
|
||||
eo_composite_object_attach(Eo *obj, Eo *emb_obj)
|
||||
eo_composite_object_attach(Eo *comp_obj, Eo *parent)
|
||||
{
|
||||
EO_MAGIC_RETURN(obj, EO_EINA_MAGIC);
|
||||
EO_MAGIC_RETURN(emb_obj, EO_EINA_MAGIC);
|
||||
EO_MAGIC_RETURN(comp_obj, EO_EINA_MAGIC);
|
||||
EO_MAGIC_RETURN(parent, EO_EINA_MAGIC);
|
||||
|
||||
emb_obj->composite = EINA_TRUE;
|
||||
eo_parent_set(emb_obj, obj);
|
||||
obj->composite_objects = eina_list_prepend(obj->composite_objects, emb_obj);
|
||||
comp_obj->composite = EINA_TRUE;
|
||||
eo_parent_set(comp_obj, parent);
|
||||
parent->composite_objects = eina_list_prepend(parent->composite_objects, comp_obj);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
eo_composite_object_detach(Eo *obj, Eo *emb_obj)
|
||||
eo_composite_object_detach(Eo *comp_obj, Eo *parent)
|
||||
{
|
||||
EO_MAGIC_RETURN(obj, EO_EINA_MAGIC);
|
||||
EO_MAGIC_RETURN(emb_obj, EO_EINA_MAGIC);
|
||||
EO_MAGIC_RETURN(comp_obj, EO_EINA_MAGIC);
|
||||
EO_MAGIC_RETURN(parent, EO_EINA_MAGIC);
|
||||
|
||||
emb_obj->composite = EINA_FALSE;
|
||||
obj->composite_objects = eina_list_remove(obj->composite_objects, emb_obj);
|
||||
eo_parent_set(emb_obj, NULL);
|
||||
comp_obj->composite = EINA_FALSE;
|
||||
parent->composite_objects = eina_list_remove(parent->composite_objects, comp_obj);
|
||||
eo_parent_set(comp_obj, NULL);
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
eo_composite_is(const Eo *emb_obj)
|
||||
eo_composite_is(const Eo *comp_obj)
|
||||
{
|
||||
if (!EINA_MAGIC_CHECK(emb_obj, EO_EINA_MAGIC))
|
||||
if (!EINA_MAGIC_CHECK(comp_obj, EO_EINA_MAGIC))
|
||||
{
|
||||
EINA_MAGIC_FAIL(emb_obj, EO_EINA_MAGIC);
|
||||
EINA_MAGIC_FAIL(comp_obj, EO_EINA_MAGIC);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
return emb_obj->composite;
|
||||
return comp_obj->composite;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
|
|
@ -24,7 +24,7 @@ _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED)
|
|||
eo_do_super(obj, eo_constructor());
|
||||
|
||||
Eo *simple = eo_add(SIMPLE_CLASS, obj);
|
||||
eo_composite_object_attach(obj, simple);
|
||||
eo_composite_object_attach(simple, obj);
|
||||
eo_do(simple, eo_event_callback_forwarder_add(EV_A_CHANGED, obj));
|
||||
|
||||
fail_if(eo_composite_is(obj));
|
||||
|
|
|
@ -47,9 +47,9 @@ main(int argc, char *argv[])
|
|||
fail_if(cb_called);
|
||||
|
||||
fail_if(!eo_composite_is(simple));
|
||||
eo_composite_object_detach(obj, simple);
|
||||
eo_composite_object_detach(simple, obj);
|
||||
fail_if(eo_composite_is(simple));
|
||||
eo_composite_object_attach(obj, simple);
|
||||
eo_composite_object_attach(simple, obj);
|
||||
fail_if(!eo_composite_is(simple));
|
||||
|
||||
eo_unref(simple);
|
||||
|
|
|
@ -72,7 +72,7 @@ START_TEST(eo_composite_tests)
|
|||
Eo *obj2 = eo_add(SIMPLE_CLASS, NULL);
|
||||
fail_if(!obj2);
|
||||
|
||||
eo_composite_object_attach(obj, obj2);
|
||||
eo_composite_object_attach(obj2, obj);
|
||||
eo_parent_set(obj2, NULL);
|
||||
fail_if(eo_composite_is(obj2));
|
||||
|
||||
|
|
Loading…
Reference in New Issue