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"
|
#include "edje_part_helper.h"
|
||||||
#define MY_CLASS EFL_CANVAS_LAYOUT_INTERNAL_CLASS
|
#define MY_CLASS EFL_CANVAS_LAYOUT_INTERNAL_CLASS
|
||||||
|
|
||||||
|
PROXY_IMPLEMENTATION(other, INTERNAL, EINA_FALSE)
|
||||||
|
#undef PROXY_IMPLEMENTATION
|
||||||
|
|
||||||
PROXY_INIT(box)
|
PROXY_INIT(box)
|
||||||
PROXY_INIT(table)
|
PROXY_INIT(table)
|
||||||
PROXY_INIT(swallow)
|
PROXY_INIT(swallow)
|
||||||
PROXY_INIT(external)
|
PROXY_INIT(external)
|
||||||
|
PROXY_INIT(other)
|
||||||
|
|
||||||
void
|
void
|
||||||
_edje_internal_proxy_shutdown(void)
|
_edje_internal_proxy_shutdown(void)
|
||||||
|
@ -14,6 +18,7 @@ _edje_internal_proxy_shutdown(void)
|
||||||
_table_shutdown();
|
_table_shutdown();
|
||||||
_swallow_shutdown();
|
_swallow_shutdown();
|
||||||
_external_shutdown();
|
_external_shutdown();
|
||||||
|
_other_shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
#include "../evas/canvas/evas_box.eo.h"
|
#include "../evas/canvas/evas_box.eo.h"
|
||||||
|
|
||||||
PROXY_IMPLEMENTATION(box, BOX, EINA_FALSE)
|
PROXY_IMPLEMENTATION(box, INTERNAL_BOX, EINA_FALSE)
|
||||||
#undef PROXY_IMPLEMENTATION
|
#undef PROXY_IMPLEMENTATION
|
||||||
|
|
||||||
typedef struct _Part_Item_Iterator Part_Item_Iterator;
|
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."); \
|
ERR("Found invalid handle for efl_part. Reset."); \
|
||||||
_ ## type ## _proxy = NULL; \
|
_ ## 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)); \
|
_edje_real_part_set(efl_added, ed, rp, rp->part->name)); \
|
||||||
__VA_ARGS__; \
|
__VA_ARGS__; \
|
||||||
if (!no_del_cb) efl_del_intercept_set(proxy, _ ## type ## _del_cb); \
|
if (!no_del_cb) efl_del_intercept_set(proxy, _ ## type ## _del_cb); \
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#include "efl_canvas_layout_internal_swallow.eo.h"
|
#include "efl_canvas_layout_internal_swallow.eo.h"
|
||||||
#define MY_CLASS EFL_CANVAS_LAYOUT_INTERNAL_SWALLOW_CLASS
|
#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
|
#undef PROXY_IMPLEMENTATION
|
||||||
|
|
||||||
/* Swallow parts */
|
/* Swallow parts */
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
#include "../evas/canvas/evas_table.eo.h"
|
#include "../evas/canvas/evas_table.eo.h"
|
||||||
|
|
||||||
PROXY_IMPLEMENTATION(table, TABLE, EINA_FALSE)
|
PROXY_IMPLEMENTATION(table, INTERNAL_TABLE, EINA_FALSE)
|
||||||
#undef PROXY_IMPLEMENTATION
|
#undef PROXY_IMPLEMENTATION
|
||||||
|
|
||||||
typedef struct _Part_Item_Iterator Part_Item_Iterator;
|
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);
|
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);
|
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 */
|
/* part containers: box */
|
||||||
Eo *_edje_box_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp);
|
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);
|
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);
|
return _edje_swallow_internal_proxy_get(obj, ed, rp);
|
||||||
else if (rp->part->type == EDJE_PART_TYPE_EXTERNAL)
|
else if (rp->part->type == EDJE_PART_TYPE_EXTERNAL)
|
||||||
return _edje_external_internal_proxy_get(obj, ed, rp);
|
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
|
EOLIAN void
|
||||||
|
|
Loading…
Reference in New Issue