forked from enlightenment/efl
edje: Implement part proxy for all parts
This is required for part_state_get, which is now based on the EO API internally. This fixes the test case introduced in the following commmit.
This commit is contained in:
parent
bac435a49e
commit
63518c4c2c
|
@ -2,10 +2,14 @@
|
|||
#include "edje_part_helper.h"
|
||||
#define MY_CLASS EFL_CANVAS_LAYOUT_INTERNAL_CLASS
|
||||
|
||||
PROXY_IMPLEMENTATION(other, INTERNAL, EINA_FALSE)
|
||||
#undef PROXY_IMPLEMENTATION
|
||||
|
||||
PROXY_INIT(box)
|
||||
PROXY_INIT(table)
|
||||
PROXY_INIT(swallow)
|
||||
PROXY_INIT(external)
|
||||
PROXY_INIT(other)
|
||||
|
||||
void
|
||||
_edje_internal_proxy_shutdown(void)
|
||||
|
@ -14,6 +18,7 @@ _edje_internal_proxy_shutdown(void)
|
|||
_table_shutdown();
|
||||
_swallow_shutdown();
|
||||
_external_shutdown();
|
||||
_other_shutdown();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#include "../evas/canvas/evas_box.eo.h"
|
||||
|
||||
PROXY_IMPLEMENTATION(box, BOX, EINA_FALSE)
|
||||
PROXY_IMPLEMENTATION(box, INTERNAL_BOX, EINA_FALSE)
|
||||
#undef PROXY_IMPLEMENTATION
|
||||
|
||||
typedef struct _Part_Item_Iterator Part_Item_Iterator;
|
||||
|
|
|
@ -89,7 +89,7 @@ _edje_ ## type ## _internal_proxy_get(Edje_Object *obj EINA_UNUSED, Edje *ed, Ed
|
|||
ERR("Found invalid handle for efl_part. Reset."); \
|
||||
_ ## type ## _proxy = NULL; \
|
||||
} \
|
||||
proxy = efl_add(MY_CLASS, ed->obj, \
|
||||
proxy = efl_add(EFL_CANVAS_LAYOUT_##TYPE##_CLASS, ed->obj, \
|
||||
_edje_real_part_set(efl_added, ed, rp, rp->part->name)); \
|
||||
__VA_ARGS__; \
|
||||
if (!no_del_cb) efl_del_intercept_set(proxy, _ ## type ## _del_cb); \
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include "efl_canvas_layout_internal_swallow.eo.h"
|
||||
#define MY_CLASS EFL_CANVAS_LAYOUT_INTERNAL_SWALLOW_CLASS
|
||||
|
||||
PROXY_IMPLEMENTATION(swallow, SWALLOW, EINA_FALSE)
|
||||
PROXY_IMPLEMENTATION(swallow, INTERNAL_SWALLOW, EINA_FALSE)
|
||||
#undef PROXY_IMPLEMENTATION
|
||||
|
||||
/* Swallow parts */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#include "../evas/canvas/evas_table.eo.h"
|
||||
|
||||
PROXY_IMPLEMENTATION(table, TABLE, EINA_FALSE)
|
||||
PROXY_IMPLEMENTATION(table, INTERNAL_TABLE, EINA_FALSE)
|
||||
#undef PROXY_IMPLEMENTATION
|
||||
|
||||
typedef struct _Part_Item_Iterator Part_Item_Iterator;
|
||||
|
|
|
@ -3095,6 +3095,9 @@ void _edje_real_part_ignore_flags_set(Edje *ed, Edje_Real_Part *rp, Evas_Event_F
|
|||
Evas_Event_Flags _edje_real_part_mask_flags_get(Edje *ed, Edje_Real_Part *rp);
|
||||
void _edje_real_part_mask_flags_set(Edje *ed, Edje_Real_Part *rp, Evas_Event_Flags mask_flags);
|
||||
|
||||
/* part proxy */
|
||||
Eo *_edje_other_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp);
|
||||
|
||||
/* part containers: box */
|
||||
Eo *_edje_box_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp);
|
||||
Eina_Bool _edje_part_box_append(Edje *ed, const char *part, Evas_Object *child);
|
||||
|
|
|
@ -3691,7 +3691,8 @@ _edje_object_efl_part_part(Eo *obj, Edje *ed, const char *part)
|
|||
return _edje_swallow_internal_proxy_get(obj, ed, rp);
|
||||
else if (rp->part->type == EDJE_PART_TYPE_EXTERNAL)
|
||||
return _edje_external_internal_proxy_get(obj, ed, rp);
|
||||
else return NULL; /* FIXME/TODO: text & others (color, ...) */
|
||||
else
|
||||
return _edje_other_internal_proxy_get(obj, ed, rp);
|
||||
}
|
||||
|
||||
EOLIAN void
|
||||
|
|
Loading…
Reference in New Issue