summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2018-05-03 16:34:17 -0700
committerCedric BAIL <cedric@osg.samsung.com>2018-05-24 16:02:18 -0700
commit8a513a522e90253ce7ec85e92c7bc58dfb22a2bc (patch)
treeabeafb5e5bce67ed685e4e82f0d756de46ef60ec
parentc28eb28728c280d3fd19ef46790fce6f9465d4f5 (diff)
efl: major rewrite of efl_part.
The interface efl_part_get should not be directly called from C, but the efl_part wrapper should. It rely on efl_noref to properly destroy the object. Binding can control the lifecycle of the reference the way they want by either calling the wrapper or efl_part_get directly. It also means that the ugly ___efl_auto_unref_set doesn't need to be exposed outside of EFL anymore. Differential Revision: https://phab.enlightenment.org/D6098
-rw-r--r--src/lib/edje/edje_part_helper.h2
-rw-r--r--src/lib/edje/edje_smart.c1
-rw-r--r--src/lib/edje/edje_util.c2
-rw-r--r--src/lib/edje/efl_canvas_layout.eo2
-rw-r--r--src/lib/efl/Efl.h29
-rw-r--r--src/lib/efl/Efl.hh2
-rw-r--r--src/lib/efl/cxx/efl_part_impl.hh3
-rw-r--r--src/lib/efl/interfaces/efl_interfaces_main.c24
-rw-r--r--src/lib/efl/interfaces/efl_part.eo9
-rw-r--r--src/lib/elementary/efl_ui_button.c1
-rw-r--r--src/lib/elementary/efl_ui_button_legacy.eo2
-rw-r--r--src/lib/elementary/efl_ui_check.c1
-rw-r--r--src/lib/elementary/efl_ui_check_legacy.eo2
-rw-r--r--src/lib/elementary/efl_ui_flip.c1
-rw-r--r--src/lib/elementary/efl_ui_flip.eo2
-rw-r--r--src/lib/elementary/efl_ui_frame.c1
-rw-r--r--src/lib/elementary/efl_ui_layout_object.c9
-rw-r--r--src/lib/elementary/efl_ui_layout_object.eo2
-rw-r--r--src/lib/elementary/efl_ui_layout_pack.c1
-rw-r--r--src/lib/elementary/efl_ui_list_default_item.c5
-rw-r--r--src/lib/elementary/efl_ui_list_default_item.eo2
-rw-r--r--src/lib/elementary/efl_ui_list_empty_item.c5
-rw-r--r--src/lib/elementary/efl_ui_list_empty_item.eo2
-rw-r--r--src/lib/elementary/efl_ui_navigation_bar.c6
-rw-r--r--src/lib/elementary/efl_ui_navigation_bar.eo2
-rw-r--r--src/lib/elementary/efl_ui_navigation_layout.c1
-rw-r--r--src/lib/elementary/efl_ui_panes.c1
-rw-r--r--src/lib/elementary/efl_ui_panes.eo2
-rw-r--r--src/lib/elementary/efl_ui_popup.c6
-rw-r--r--src/lib/elementary/efl_ui_popup.eo2
-rw-r--r--src/lib/elementary/efl_ui_popup_alert.c2
-rw-r--r--src/lib/elementary/efl_ui_popup_alert.eo2
-rw-r--r--src/lib/elementary/efl_ui_popup_alert_scroll.c1
-rw-r--r--src/lib/elementary/efl_ui_popup_alert_scroll.eo2
-rw-r--r--src/lib/elementary/efl_ui_popup_alert_text.c2
-rw-r--r--src/lib/elementary/efl_ui_popup_alert_text.eo2
-rw-r--r--src/lib/elementary/efl_ui_progressbar.c5
-rw-r--r--src/lib/elementary/efl_ui_progressbar.eo2
-rw-r--r--src/lib/elementary/efl_ui_progressbar_legacy.eo2
-rw-r--r--src/lib/elementary/efl_ui_radio.c1
-rw-r--r--src/lib/elementary/efl_ui_radio_legacy.eo2
-rw-r--r--src/lib/elementary/efl_ui_slider.c1
-rw-r--r--src/lib/elementary/efl_ui_tab_page.c8
-rw-r--r--src/lib/elementary/efl_ui_tab_page.eo2
-rw-r--r--src/lib/elementary/efl_ui_textpath.c1
-rw-r--r--src/lib/elementary/efl_ui_textpath.eo2
-rw-r--r--src/lib/elementary/efl_ui_widget.c3
-rw-r--r--src/lib/elementary/efl_ui_widget.eo2
-rw-r--r--src/lib/elementary/efl_ui_widget_part.eo2
-rw-r--r--src/lib/elementary/efl_ui_win.c1
-rw-r--r--src/lib/elementary/efl_ui_win.eo2
-rw-r--r--src/lib/elementary/elc_ctxpopup.c1
-rw-r--r--src/lib/elementary/elc_fileselector.c1
-rw-r--r--src/lib/elementary/elc_fileselector_entry.c1
-rw-r--r--src/lib/elementary/elc_multibuttonentry.c1
-rw-r--r--src/lib/elementary/elc_naviframe.c1
-rw-r--r--src/lib/elementary/elc_player.c5
-rw-r--r--src/lib/elementary/elc_popup.c1
-rw-r--r--src/lib/elementary/elm_actionslider.c1
-rw-r--r--src/lib/elementary/elm_actionslider.eo2
-rw-r--r--src/lib/elementary/elm_bubble.c1
-rw-r--r--src/lib/elementary/elm_bubble.eo2
-rw-r--r--src/lib/elementary/elm_ctxpopup.eo2
-rw-r--r--src/lib/elementary/elm_dayselector.c1
-rw-r--r--src/lib/elementary/elm_dayselector.eo2
-rw-r--r--src/lib/elementary/elm_entry.c1
-rw-r--r--src/lib/elementary/elm_entry.eo2
-rw-r--r--src/lib/elementary/elm_fileselector.eo2
-rw-r--r--src/lib/elementary/elm_fileselector_entry.eo2
-rw-r--r--src/lib/elementary/elm_hover.c1
-rw-r--r--src/lib/elementary/elm_hover.eo2
-rw-r--r--src/lib/elementary/elm_inwin.c1
-rw-r--r--src/lib/elementary/elm_label.c1
-rw-r--r--src/lib/elementary/elm_label.eo2
-rw-r--r--src/lib/elementary/elm_mapbuf.c1
-rw-r--r--src/lib/elementary/elm_mapbuf.eo2
-rw-r--r--src/lib/elementary/elm_multibuttonentry.eo2
-rw-r--r--src/lib/elementary/elm_naviframe.eo2
-rw-r--r--src/lib/elementary/elm_notify.c1
-rw-r--r--src/lib/elementary/elm_notify.eo2
-rw-r--r--src/lib/elementary/elm_panel.c1
-rw-r--r--src/lib/elementary/elm_panel.eo2
-rw-r--r--src/lib/elementary/elm_part_helper.h8
-rw-r--r--src/lib/elementary/elm_player.eo2
-rw-r--r--src/lib/elementary/elm_popup.eo2
-rw-r--r--src/lib/elementary/elm_scroller.c1
-rw-r--r--src/lib/elementary/elm_scroller.eo2
-rw-r--r--src/lib/elementary/elm_slider.c5
-rw-r--r--src/lib/elementary/elm_slider.eo2
-rw-r--r--src/lib/eo/Eo.h15
-rw-r--r--src/lib/eo/eo_internal.h38
-rw-r--r--src/lib/eolian_cxx/grammar/part_implementation.hpp5
-rw-r--r--src/tests/efl_mono/libefl_mono_native_test.c2
-rw-r--r--src/tests/efl_mono/test_testing.eo2
94 files changed, 224 insertions, 86 deletions
diff --git a/src/lib/edje/edje_part_helper.h b/src/lib/edje/edje_part_helper.h
index cfe31e7..165b680 100644
--- a/src/lib/edje/edje_part_helper.h
+++ b/src/lib/edje/edje_part_helper.h
@@ -97,8 +97,6 @@ _edje_ ## type ## _internal_proxy_get(Edje_Object *obj EINA_UNUSED, Edje *ed, Ed
97 } \ 97 } \
98 __VA_ARGS__; \ 98 __VA_ARGS__; \
99 if (!no_del_cb) efl_del_intercept_set(proxy, _ ## type ## _del_cb); \ 99 if (!no_del_cb) efl_del_intercept_set(proxy, _ ## type ## _del_cb); \
100 efl_allow_parent_unref_set(proxy, 1); \
101 ___efl_auto_unref_set(proxy, 1); \
102 return proxy; \ 100 return proxy; \
103} 101}
104 102
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 23d9c9e..5d41364 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -1,5 +1,6 @@
1#define EFL_CANVAS_GROUP_PROTECTED 1#define EFL_CANVAS_GROUP_PROTECTED
2#define EFL_CANVAS_GROUP_BETA 2#define EFL_CANVAS_GROUP_BETA
3#define EFL_PART_PROTECTED
3 4
4#include "edje_private.h" 5#include "edje_private.h"
5 6
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index ea3b627..fb66272 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -3324,7 +3324,7 @@ _edje_efl_content_content_get(Edje *ed, const char *part)
3324} 3324}
3325 3325
3326EOLIAN Eo * 3326EOLIAN Eo *
3327_efl_canvas_layout_efl_part_part(Eo *obj, Edje *ed, const char *part) 3327_efl_canvas_layout_efl_part_part_get(Eo *obj, Edje *ed, const char *part)
3328{ 3328{
3329 Edje_Real_Part *rp; 3329 Edje_Real_Part *rp;
3330 3330
diff --git a/src/lib/edje/efl_canvas_layout.eo b/src/lib/edje/efl_canvas_layout.eo
index 62c16c5..ad51c5b 100644
--- a/src/lib/edje/efl_canvas_layout.eo
+++ b/src/lib/edje/efl_canvas_layout.eo
@@ -116,7 +116,7 @@ class Efl.Canvas.Layout (Efl.Canvas.Group, Efl.File, Efl.Container, Efl.Part,
116 Efl.File.load_error { get; } 116 Efl.File.load_error { get; }
117 Efl.File.mmap { get; set; } 117 Efl.File.mmap { get; set; }
118 Efl.Container.content_remove; 118 Efl.Container.content_remove;
119 Efl.Part.part; [[Returns @Efl.Canvas.Layout_Part]] 119 Efl.Part.part_get; [[Returns @Efl.Canvas.Layout_Part]]
120 Efl.Observer.update; 120 Efl.Observer.update;
121 Efl.Player.playable { get; } 121 Efl.Player.playable { get; }
122 Efl.Player.play { get; set; } 122 Efl.Player.play { get; set; }
diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index e9b00b1..6cebb21 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -10,6 +10,12 @@ extern "C" {
10#ifdef EAPI 10#ifdef EAPI
11# undef EAPI 11# undef EAPI
12#endif 12#endif
13#ifdef EWAPI
14# undef EWAPI
15#endif
16#ifdef EOAPI
17# undef EOAPI
18#endif
13 19
14#ifdef _WIN32 20#ifdef _WIN32
15# ifdef EFL_BUILD 21# ifdef EFL_BUILD
@@ -21,18 +27,25 @@ extern "C" {
21# else 27# else
22# define EAPI __declspec(dllimport) 28# define EAPI __declspec(dllimport)
23# endif 29# endif
30# define EAPI_WEAK
24#else 31#else
25# ifdef __GNUC__ 32# ifdef __GNUC__
26# if __GNUC__ >= 4 33# if __GNUC__ >= 4
27# define EAPI __attribute__ ((visibility("default"))) 34# define EAPI __attribute__ ((visibility("default")))
35# define EAPI_WEAK __attribute__ ((weak))
28# else 36# else
29# define EAPI 37# define EAPI
38# define EAPI_WEAK
30# endif 39# endif
31# else 40# else
32# define EAPI 41# define EAPI
42# define EAPI_WEAK
33# endif 43# endif
34#endif 44#endif
35 45
46#define EWAPI EAPI EAPI_WEAK
47#define EOAPI EAPI EAPI_WEAK
48
36#define EFL_VERSION_1_18 1 49#define EFL_VERSION_1_18 1
37#define EFL_VERSION_1_19 1 50#define EFL_VERSION_1_19 1
38#define EFL_VERSION_1_20 1 51#define EFL_VERSION_1_20 1
@@ -167,6 +180,22 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
167#include "interfaces/efl_text_markup.eo.h" 180#include "interfaces/efl_text_markup.eo.h"
168#include "interfaces/efl_text_markup_util.eo.h" 181#include "interfaces/efl_text_markup_util.eo.h"
169 182
183/**
184 * @brief Get a proxy object referring to a part of an object.
185 *
186 * The returned object is valid for only a single function call.
187 * Of course, if the first call is @ref efl_ref, it will last
188 * until @ref efl_unref.
189 *
190 * @param[in] obj The object.
191 * @param[in] name The part name.
192 *
193 * @return A (proxy) object, valid for a single call.
194 *
195 * @since 1.21
196 */
197EAPI Efl_Object *efl_part(const Eo *obj, const char *name);
198
170#else 199#else
171 200
172#ifndef EFL_NOLEGACY_API_SUPPORT 201#ifndef EFL_NOLEGACY_API_SUPPORT
diff --git a/src/lib/efl/Efl.hh b/src/lib/efl/Efl.hh
index e6473ea..19cfb37 100644
--- a/src/lib/efl/Efl.hh
+++ b/src/lib/efl/Efl.hh
@@ -1,6 +1,8 @@
1#ifndef EFL_EFL_HH 1#ifndef EFL_EFL_HH
2#define EFL_EFL_HH 2#define EFL_EFL_HH
3 3
4#define EFL_PART_PROTECTED
5
4#include "cxx/efl_part_impl.hh" 6#include "cxx/efl_part_impl.hh"
5 7
6#include <Eo.hh> 8#include <Eo.hh>
diff --git a/src/lib/efl/cxx/efl_part_impl.hh b/src/lib/efl/cxx/efl_part_impl.hh
index b97dda1..6a0b9ea 100644
--- a/src/lib/efl/cxx/efl_part_impl.hh
+++ b/src/lib/efl/cxx/efl_part_impl.hh
@@ -7,8 +7,7 @@
7#define EOLIAN_CXX_EFL_PART_IMPLEMENTATION \ 7#define EOLIAN_CXX_EFL_PART_IMPLEMENTATION \
8inline ::efl::Object Part::part(::efl::eina::string_view const& name) const \ 8inline ::efl::Object Part::part(::efl::eina::string_view const& name) const \
9{ \ 9{ \
10 ::Eo *handle = ::efl_part(_eo_ptr(), name.c_str()); \ 10 ::Eo *handle = ::efl_part_get(_eo_ptr(), name.c_str()); \
11 ::___efl_auto_unref_set(handle, false); \
12 return ::efl::Object{handle}; \ 11 return ::efl::Object{handle}; \
13} 12}
14 13
diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c
index 4e02e1e..d9b10e8 100644
--- a/src/lib/efl/interfaces/efl_interfaces_main.c
+++ b/src/lib/efl/interfaces/efl_interfaces_main.c
@@ -5,6 +5,9 @@
5#define EFL_CANVAS_SCENE_BETA 5#define EFL_CANVAS_SCENE_BETA
6#define EFL_UI_SCROLLBAR_PROTECTED 6#define EFL_UI_SCROLLBAR_PROTECTED
7#define EFL_UI_SCROLLBAR_BETA 7#define EFL_UI_SCROLLBAR_BETA
8#define EFL_PART_PROTECTED
9
10#include "eo_internal.h"
8 11
9#include <Efl.h> 12#include <Efl.h>
10 13
@@ -77,6 +80,27 @@
77#include "interfaces/efl_ui_multi_selectable.eo.c" 80#include "interfaces/efl_ui_multi_selectable.eo.c"
78#include "interfaces/efl_ui_zoom.eo.c" 81#include "interfaces/efl_ui_zoom.eo.c"
79 82
83static void
84_noref_death(void *data EINA_UNUSED, const Efl_Event *event)
85{
86 efl_event_callback_del(event->object, EFL_EVENT_NOREF, _noref_death, NULL);
87 efl_del(event->object);
88}
89
90EAPI Efl_Object *
91efl_part(const Eo *obj, const char *name)
92{
93 Efl_Object *r;
94
95 r = efl_part_get(obj, name);
96 if (!r) return NULL;
97
98 efl_event_callback_add(r, EFL_EVENT_NOREF, _noref_death, NULL);
99 ___efl_auto_unref_set(r, EINA_TRUE);
100
101 return efl_ref(r);
102}
103
80EAPI void 104EAPI void
81__efl_internal_init(void) 105__efl_internal_init(void)
82{ 106{
diff --git a/src/lib/efl/interfaces/efl_part.eo b/src/lib/efl/interfaces/efl_part.eo
index 124dad1..1f37e7e 100644
--- a/src/lib/efl/interfaces/efl_part.eo
+++ b/src/lib/efl/interfaces/efl_part.eo
@@ -10,7 +10,10 @@ interface Efl.Part
10 theme. 10 theme.
11 11
12 Part proxy objects have a special lifetime that 12 Part proxy objects have a special lifetime that
13 is limited to one and only one function call. 13 is limited to one and only one function call. This
14 behavior is implemented in efl_part() which call
15 Efl.Part.part_get(). Calling Efl.Part.part_get() directly
16 should be avoided.
14 17
15 In other words, the caller does not hold a reference 18 In other words, the caller does not hold a reference
16 to this proxy object. It may be possible, in languages 19 to this proxy object. It may be possible, in languages
@@ -32,10 +35,8 @@ interface Efl.Part
32 unref(part) 35 unref(part)
33 ]] 36 ]]
34 methods { 37 methods {
35 part @const { 38 part_get @protected @const {
36 [[Get a proxy object referring to a part of an object. 39 [[Get a proxy object referring to a part of an object.
37
38 The returned object is valid for only a single function call.
39 ]] 40 ]]
40 params { 41 params {
41 name: string; [[The part name.]] 42 name: string; [[The part name.]]
diff --git a/src/lib/elementary/efl_ui_button.c b/src/lib/elementary/efl_ui_button.c
index 6835d06..331c5ee 100644
--- a/src/lib/elementary/efl_ui_button.c
+++ b/src/lib/elementary/efl_ui_button.c
@@ -5,6 +5,7 @@
5#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 5#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
6#define EFL_ACCESS_OBJECT_PROTECTED 6#define EFL_ACCESS_OBJECT_PROTECTED
7#define ELM_LAYOUT_PROTECTED 7#define ELM_LAYOUT_PROTECTED
8#define EFL_PART_PROTECTED
8 9
9#include <Elementary.h> 10#include <Elementary.h>
10#include "elm_priv.h" 11#include "elm_priv.h"
diff --git a/src/lib/elementary/efl_ui_button_legacy.eo b/src/lib/elementary/efl_ui_button_legacy.eo
index f867a07..f1d5d3a 100644
--- a/src/lib/elementary/efl_ui_button_legacy.eo
+++ b/src/lib/elementary/efl_ui_button_legacy.eo
@@ -11,6 +11,6 @@ class Efl.Ui.Button_Legacy (Efl.Ui.Button, Efl.Ui.Legacy)
11 Efl.Object.constructor; 11 Efl.Object.constructor;
12 Efl.Ui.Widget.theme_apply; 12 Efl.Ui.Widget.theme_apply;
13 Efl.Ui.Widget.widget_sub_object_del; 13 Efl.Ui.Widget.widget_sub_object_del;
14 Efl.Part.part; 14 Efl.Part.part_get;
15 } 15 }
16} 16}
diff --git a/src/lib/elementary/efl_ui_check.c b/src/lib/elementary/efl_ui_check.c
index 4c55b69..bf6e8c2 100644
--- a/src/lib/elementary/efl_ui_check.c
+++ b/src/lib/elementary/efl_ui_check.c
@@ -6,6 +6,7 @@
6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
7#define ELM_LAYOUT_PROTECTED 7#define ELM_LAYOUT_PROTECTED
8#define EFL_UI_NSTATE_PROTECTED 8#define EFL_UI_NSTATE_PROTECTED
9#define EFL_PART_PROTECTED
9 10
10#include <Elementary.h> 11#include <Elementary.h>
11#include "elm_priv.h" 12#include "elm_priv.h"
diff --git a/src/lib/elementary/efl_ui_check_legacy.eo b/src/lib/elementary/efl_ui_check_legacy.eo
index 781e8b9..5d311a5 100644
--- a/src/lib/elementary/efl_ui_check_legacy.eo
+++ b/src/lib/elementary/efl_ui_check_legacy.eo
@@ -13,6 +13,6 @@ class Efl.Ui.Check_Legacy (Efl.Ui.Check, Efl.Ui.Legacy)
13 Efl.Object.constructor; 13 Efl.Object.constructor;
14 Efl.Ui.Widget.theme_apply; 14 Efl.Ui.Widget.theme_apply;
15 Efl.Ui.Widget.widget_sub_object_del; 15 Efl.Ui.Widget.widget_sub_object_del;
16 Efl.Part.part; 16 Efl.Part.part_get;
17 } 17 }
18} 18}
diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c
index 361317f..9652389 100644
--- a/src/lib/elementary/efl_ui_flip.c
+++ b/src/lib/elementary/efl_ui_flip.c
@@ -3,6 +3,7 @@
3#endif 3#endif
4 4
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define EFL_PART_PROTECTED
6 7
7#include <Elementary.h> 8#include <Elementary.h>
8#include "elm_priv.h" 9#include "elm_priv.h"
diff --git a/src/lib/elementary/efl_ui_flip.eo b/src/lib/elementary/efl_ui_flip.eo
index 95b1410..6b3345f 100644
--- a/src/lib/elementary/efl_ui_flip.eo
+++ b/src/lib/elementary/efl_ui_flip.eo
@@ -236,7 +236,7 @@ class Efl.Ui.Flip (Efl.Ui.Widget, Efl.Pack_Linear, Efl.Part)
236 Efl.Container.content_iterate; 236 Efl.Container.content_iterate;
237 Efl.Container.content_count; 237 Efl.Container.content_count;
238 Efl.Container.content_remove; 238 Efl.Container.content_remove;
239 Efl.Part.part; 239 Efl.Part.part_get;
240 Efl.Pack.unpack; 240 Efl.Pack.unpack;
241 Efl.Pack.pack; 241 Efl.Pack.pack;
242 Efl.Pack_Linear.pack_begin; 242 Efl.Pack_Linear.pack_begin;
diff --git a/src/lib/elementary/efl_ui_frame.c b/src/lib/elementary/efl_ui_frame.c
index 69decbe..686fdc6 100644
--- a/src/lib/elementary/efl_ui_frame.c
+++ b/src/lib/elementary/efl_ui_frame.c
@@ -4,6 +4,7 @@
4 4
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define ELM_LAYOUT_PROTECTED 6#define ELM_LAYOUT_PROTECTED
7#define EFL_PART_PROTECTED
7 8
8#include <Elementary.h> 9#include <Elementary.h>
9#include "elm_priv.h" 10#include "elm_priv.h"
diff --git a/src/lib/elementary/efl_ui_layout_object.c b/src/lib/elementary/efl_ui_layout_object.c
index 0281bbc..8101cda 100644
--- a/src/lib/elementary/efl_ui_layout_object.c
+++ b/src/lib/elementary/efl_ui_layout_object.c
@@ -5,6 +5,7 @@
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define ELM_LAYOUT_PROTECTED 6#define ELM_LAYOUT_PROTECTED
7#define EFL_UI_WIDGET_PART_BG_PROTECTED 7#define EFL_UI_WIDGET_PART_BG_PROTECTED
8#define EFL_PART_PROTECTED
8 9
9#include <Elementary.h> 10#include <Elementary.h>
10 11
@@ -2207,7 +2208,7 @@ _efl_ui_layout_object_efl_layout_signal_signal_process(Eo *obj, Efl_Ui_Layout_Ob
2207/* Efl.Part implementation */ 2208/* Efl.Part implementation */
2208 2209
2209EOLIAN static Eo * 2210EOLIAN static Eo *
2210_efl_ui_layout_object_efl_part_part(const Eo *obj, Efl_Ui_Layout_Object_Data *sd EINA_UNUSED, const char *part) 2211_efl_ui_layout_object_efl_part_part_get(const Eo *obj, Efl_Ui_Layout_Object_Data *sd EINA_UNUSED, const char *part)
2211{ 2212{
2212 Efl_Canvas_Layout_Part_Type type = EFL_CANVAS_LAYOUT_PART_TYPE_NONE; 2213 Efl_Canvas_Layout_Part_Type type = EFL_CANVAS_LAYOUT_PART_TYPE_NONE;
2213 2214
@@ -2231,18 +2232,18 @@ _efl_ui_layout_object_efl_part_part(const Eo *obj, Efl_Ui_Layout_Object_Data *sd
2231 WRN("Layout has a background but it's not a swallow: '%s'", 2232 WRN("Layout has a background but it's not a swallow: '%s'",
2232 elm_widget_theme_element_get(obj)); 2233 elm_widget_theme_element_get(obj));
2233 } 2234 }
2234 return efl_part(efl_super(obj, MY_CLASS), part); 2235 return efl_part_get(efl_super(obj, MY_CLASS), part);
2235 } 2236 }
2236 2237
2237 return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_BG_CLASS, obj, part); 2238 return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_BG_CLASS, obj, part);
2238 } 2239 }
2239 else if (eina_streq(part, "shadow")) 2240 else if (eina_streq(part, "shadow"))
2240 return efl_part(efl_super(obj, MY_CLASS), part); 2241 return efl_part_get(efl_super(obj, MY_CLASS), part);
2241 2242
2242 if (!efl_layout_group_part_exist_get(wd->resize_obj, part)) 2243 if (!efl_layout_group_part_exist_get(wd->resize_obj, part))
2243 { 2244 {
2244 // edje part will handle the error message 2245 // edje part will handle the error message
2245 return efl_part(wd->resize_obj, part); 2246 return efl_part_get(wd->resize_obj, part);
2246 } 2247 }
2247 2248
2248 type = efl_canvas_layout_part_type_get(efl_part(wd->resize_obj, part)); 2249 type = efl_canvas_layout_part_type_get(efl_part(wd->resize_obj, part));
diff --git a/src/lib/elementary/efl_ui_layout_object.eo b/src/lib/elementary/efl_ui_layout_object.eo
index c5d8652..04a4780 100644
--- a/src/lib/elementary/efl_ui_layout_object.eo
+++ b/src/lib/elementary/efl_ui_layout_object.eo
@@ -69,7 +69,7 @@ class Efl.Ui.Layout.Object (Efl.Ui.Widget, Efl.Part, Efl.Container, Efl.File,
69 Efl.Container.content_count; 69 Efl.Container.content_count;
70 Efl.Container.content_remove; 70 Efl.Container.content_remove;
71 Efl.Container.content_iterate; 71 Efl.Container.content_iterate;
72 Efl.Part.part; 72 Efl.Part.part_get;
73 Efl.Ui.View.model { get; set; } 73 Efl.Ui.View.model { get; set; }
74 Efl.Ui.Model.Connect.connect; 74 Efl.Ui.Model.Connect.connect;
75 Efl.Ui.Factory.model_connect; 75 Efl.Ui.Factory.model_connect;
diff --git a/src/lib/elementary/efl_ui_layout_pack.c b/src/lib/elementary/efl_ui_layout_pack.c
index 30fd999..d4f8293 100644
--- a/src/lib/elementary/efl_ui_layout_pack.c
+++ b/src/lib/elementary/efl_ui_layout_pack.c
@@ -5,6 +5,7 @@
5#define ELM_LAYOUT_PROTECTED 5#define ELM_LAYOUT_PROTECTED
6#define EFL_UI_LAYOUT_PART_BOX_PROTECTED 6#define EFL_UI_LAYOUT_PART_BOX_PROTECTED
7#define EFL_UI_LAYOUT_PART_TABLE_PROTECTED 7#define EFL_UI_LAYOUT_PART_TABLE_PROTECTED
8#define EFL_PART_PROTECTED
8 9
9#include <Elementary.h> 10#include <Elementary.h>
10 11
diff --git a/src/lib/elementary/efl_ui_list_default_item.c b/src/lib/elementary/efl_ui_list_default_item.c
index 25e9fda..19bfed4 100644
--- a/src/lib/elementary/efl_ui_list_default_item.c
+++ b/src/lib/elementary/efl_ui_list_default_item.c
@@ -3,6 +3,7 @@
3#endif 3#endif
4 4
5#define EFL_UI_LIST_DEFAULT_ITEM_PROTECTED 5#define EFL_UI_LIST_DEFAULT_ITEM_PROTECTED
6#define EFL_PART_PROTECTED
6 7
7#include <Elementary.h> 8#include <Elementary.h>
8 9
@@ -89,7 +90,7 @@ _efl_ui_list_default_item_part_end_efl_content_content_unset(Eo *obj, void *pd E
89#include "efl_ui_list_default_item_part_end.eo.c" 90#include "efl_ui_list_default_item_part_end.eo.c"
90 91
91EOLIAN static Efl_Object * 92EOLIAN static Efl_Object *
92_efl_ui_list_default_item_efl_part_part(const Eo *obj, void *wd EINA_UNUSED, const char *part) 93_efl_ui_list_default_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part)
93{ 94{
94 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 95 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
95 if (eina_streq(part, "text")) 96 if (eina_streq(part, "text"))
@@ -99,7 +100,7 @@ _efl_ui_list_default_item_efl_part_part(const Eo *obj, void *wd EINA_UNUSED, con
99 else if (eina_streq(part, "end")) 100 else if (eina_streq(part, "end"))
100 return ELM_PART_IMPLEMENT(EFL_UI_LIST_DEFAULT_ITEM_PART_END_CLASS, obj, "efl.end"); 101 return ELM_PART_IMPLEMENT(EFL_UI_LIST_DEFAULT_ITEM_PART_END_CLASS, obj, "efl.end");
101 102
102 return efl_part(efl_super(obj, MY_CLASS), part); 103 return efl_part_get(efl_super(obj, MY_CLASS), part);
103} 104}
104/* Efl.Part end */ 105/* Efl.Part end */
105 106
diff --git a/src/lib/elementary/efl_ui_list_default_item.eo b/src/lib/elementary/efl_ui_list_default_item.eo
index 0fcb0b6..3bd44e6 100644
--- a/src/lib/elementary/efl_ui_list_default_item.eo
+++ b/src/lib/elementary/efl_ui_list_default_item.eo
@@ -19,6 +19,6 @@ class Efl.Ui.List_Default_Item (Efl.Ui.List_Item,
19 Efl.Ui.Translatable.translatable_text { get; set; } 19 Efl.Ui.Translatable.translatable_text { get; set; }
20 Efl.Content.content { get; set; } 20 Efl.Content.content { get; set; }
21 Efl.Content.content_unset; 21 Efl.Content.content_unset;
22 Efl.Part.part; 22 Efl.Part.part_get;
23 } 23 }
24} 24}
diff --git a/src/lib/elementary/efl_ui_list_empty_item.c b/src/lib/elementary/efl_ui_list_empty_item.c
index b78707a..066abdd 100644
--- a/src/lib/elementary/efl_ui_list_empty_item.c
+++ b/src/lib/elementary/efl_ui_list_empty_item.c
@@ -3,6 +3,7 @@
3#endif 3#endif
4 4
5#define EFL_UI_LIST_EMPTY_ITEM_PROTECTED 5#define EFL_UI_LIST_EMPTY_ITEM_PROTECTED
6#define EFL_PART_PROTECTED
6 7
7#include <Elementary.h> 8#include <Elementary.h>
8 9
@@ -39,13 +40,13 @@ ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_list_empty_item, void)
39/* Efl.Part end */ 40/* Efl.Part end */
40 41
41EOLIAN static Efl_Object * 42EOLIAN static Efl_Object *
42_efl_ui_list_empty_item_efl_part_part(const Eo *obj, void *wd EINA_UNUSED, const char *part) 43_efl_ui_list_empty_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part)
43{ 44{
44 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 45 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
45 if (eina_streq(part, "content")) 46 if (eina_streq(part, "content"))
46 return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, "efl.content"); 47 return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, "efl.content");
47 48
48 return efl_part(efl_super(obj, MY_CLASS), part); 49 return efl_part_get(efl_super(obj, MY_CLASS), part);
49} 50}
50 51
51/* Internal EO APIs and hidden overrides */ 52/* Internal EO APIs and hidden overrides */
diff --git a/src/lib/elementary/efl_ui_list_empty_item.eo b/src/lib/elementary/efl_ui_list_empty_item.eo
index a139ef3..ad91107 100644
--- a/src/lib/elementary/efl_ui_list_empty_item.eo
+++ b/src/lib/elementary/efl_ui_list_empty_item.eo
@@ -11,6 +11,6 @@ class Efl.Ui.List_Empty_Item (Efl.Ui.List_Item, Efl.Content)
11 Efl.Object.destructor; 11 Efl.Object.destructor;
12 Efl.Content.content { get; set; } 12 Efl.Content.content { get; set; }
13 Efl.Content.content_unset; 13 Efl.Content.content_unset;
14 Efl.Part.part; 14 Efl.Part.part_get;
15 } 15 }
16} 16}
diff --git a/src/lib/elementary/efl_ui_navigation_bar.c b/src/lib/elementary/efl_ui_navigation_bar.c
index 77d6a31..ee718b1 100644
--- a/src/lib/elementary/efl_ui_navigation_bar.c
+++ b/src/lib/elementary/efl_ui_navigation_bar.c
@@ -2,6 +2,8 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#define EFL_PART_PROTECTED
6
5#include <Elementary.h> 7#include <Elementary.h>
6 8
7#include "elm_priv.h" 9#include "elm_priv.h"
@@ -113,7 +115,7 @@ _efl_ui_navigation_bar_content_unset(Eo *obj, Efl_Ui_Navigation_Bar_Data *_pd EI
113 115
114/* Efl.Part begin */ 116/* Efl.Part begin */
115EOLIAN static Efl_Object * 117EOLIAN static Efl_Object *
116_efl_ui_navigation_bar_efl_part_part(const Eo *obj, Efl_Ui_Navigation_Bar_Data *priv EINA_UNUSED, const char *part) 118_efl_ui_navigation_bar_efl_part_part_get(const Eo *obj, Efl_Ui_Navigation_Bar_Data *priv EINA_UNUSED, const char *part)
117{ 119{
118 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 120 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
119 121
@@ -122,7 +124,7 @@ _efl_ui_navigation_bar_efl_part_part(const Eo *obj, Efl_Ui_Navigation_Bar_Data *
122 else if (eina_streq(part, "left_content") || eina_streq(part, "right_content")) 124 else if (eina_streq(part, "left_content") || eina_streq(part, "right_content"))
123 return ELM_PART_IMPLEMENT(EFL_UI_NAVIGATION_BAR_PART_CLASS, obj, part); 125 return ELM_PART_IMPLEMENT(EFL_UI_NAVIGATION_BAR_PART_CLASS, obj, part);
124 126
125 return efl_part(efl_super(obj, MY_CLASS), part); 127 return efl_part_get(efl_super(obj, MY_CLASS), part);
126} 128}
127 129
128EOLIAN static void 130EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_navigation_bar.eo b/src/lib/elementary/efl_ui_navigation_bar.eo
index a7b4a15..ec43bea 100644
--- a/src/lib/elementary/efl_ui_navigation_bar.eo
+++ b/src/lib/elementary/efl_ui_navigation_bar.eo
@@ -25,6 +25,6 @@ class Efl.Ui.Navigation_Bar (Efl.Ui.Layout.Object, Efl.Content, Efl.Text, Efl.Ui
25 Efl.Content.content_unset; 25 Efl.Content.content_unset;
26 Efl.Text.text { set; get; } 26 Efl.Text.text { set; get; }
27 Efl.Ui.Translatable.translatable_text { set; get; } 27 Efl.Ui.Translatable.translatable_text { set; get; }
28 Efl.Part.part; 28 Efl.Part.part_get;
29 } 29 }
30} 30}
diff --git a/src/lib/elementary/efl_ui_navigation_layout.c b/src/lib/elementary/efl_ui_navigation_layout.c
index 747011a..8434e05 100644
--- a/src/lib/elementary/efl_ui_navigation_layout.c
+++ b/src/lib/elementary/efl_ui_navigation_layout.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#define EFL_PART_PROTECTED
4 5
5#include <Elementary.h> 6#include <Elementary.h>
6 7
diff --git a/src/lib/elementary/efl_ui_panes.c b/src/lib/elementary/efl_ui_panes.c
index b6c19b0..0af185b 100644
--- a/src/lib/elementary/efl_ui_panes.c
+++ b/src/lib/elementary/efl_ui_panes.c
@@ -5,6 +5,7 @@
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define ELM_LAYOUT_PROTECTED 6#define ELM_LAYOUT_PROTECTED
7#define EFL_GFX_SIZE_HINT_PROTECTED 7#define EFL_GFX_SIZE_HINT_PROTECTED
8#define EFL_PART_PROTECTED
8 9
9#include <Elementary.h> 10#include <Elementary.h>
10 11
diff --git a/src/lib/elementary/efl_ui_panes.eo b/src/lib/elementary/efl_ui_panes.eo
index c83a1ce..73abf1a 100644
--- a/src/lib/elementary/efl_ui_panes.eo
+++ b/src/lib/elementary/efl_ui_panes.eo
@@ -52,7 +52,7 @@ class Efl.Ui.Panes (Efl.Ui.Layout.Object, Efl.Ui.Direction,
52 Efl.Object.constructor; 52 Efl.Object.constructor;
53 Efl.Ui.Widget.theme_apply; 53 Efl.Ui.Widget.theme_apply;
54 Efl.Ui.Direction.direction { get; set; [[Only supports $vertical and $horizontal. Default is $vertical.]] } 54 Efl.Ui.Direction.direction { get; set; [[Only supports $vertical and $horizontal. Default is $vertical.]] }
55 Efl.Part.part; 55 Efl.Part.part_get;
56 } 56 }
57 events { 57 events {
58 press: void; [[Called when panes got pressed]] 58 press: void; [[Called when panes got pressed]]
diff --git a/src/lib/elementary/efl_ui_popup.c b/src/lib/elementary/efl_ui_popup.c
index b3772bb..4410844 100644
--- a/src/lib/elementary/efl_ui_popup.c
+++ b/src/lib/elementary/efl_ui_popup.c
@@ -2,7 +2,9 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#define EFL_PART_PROTECTED
5#define EFL_UI_POPUP_PROTECTED 6#define EFL_UI_POPUP_PROTECTED
7#define EFL_PART_PROTECTED
6 8
7#include <Elementary.h> 9#include <Elementary.h>
8 10
@@ -322,14 +324,14 @@ ELM_PART_CONTENT_DEFAULT_GET(efl_ui_popup, "efl.content")
322ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_popup, Efl_Ui_Popup_Data) 324ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_popup, Efl_Ui_Popup_Data)
323 325
324EOLIAN static Eo * 326EOLIAN static Eo *
325_efl_ui_popup_efl_part_part(const Eo *obj, Efl_Ui_Popup_Data *_pd EINA_UNUSED, const char *part) 327_efl_ui_popup_efl_part_part_get(const Eo *obj, Efl_Ui_Popup_Data *_pd EINA_UNUSED, const char *part)
326{ 328{
327 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 329 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
328 330
329 if (eina_streq(part, "backwall")) 331 if (eina_streq(part, "backwall"))
330 return ELM_PART_IMPLEMENT(EFL_UI_POPUP_PART_CLASS, obj, part); 332 return ELM_PART_IMPLEMENT(EFL_UI_POPUP_PART_CLASS, obj, part);
331 333
332 return efl_part(efl_super(obj, MY_CLASS), part); 334 return efl_part_get(efl_super(obj, MY_CLASS), part);
333} 335}
334 336
335EOLIAN static void 337EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_popup.eo b/src/lib/elementary/efl_ui_popup.eo
index 9c70895..235b98e 100644
--- a/src/lib/elementary/efl_ui_popup.eo
+++ b/src/lib/elementary/efl_ui_popup.eo
@@ -61,7 +61,7 @@ class Efl.Ui.Popup(Efl.Ui.Layout.Object, Efl.Content)
61 Efl.Ui.Widget.widget_parent { set; } 61 Efl.Ui.Widget.widget_parent { set; }
62 Efl.Content.content { get; set; } 62 Efl.Content.content { get; set; }
63 Efl.Content.content_unset; 63 Efl.Content.content_unset;
64 Efl.Part.part; 64 Efl.Part.part_get;
65 } 65 }
66 events { 66 events {
67 backwall,clicked: void; [[This is called whenever the user clicks back wall of popup.]] 67 backwall,clicked: void; [[This is called whenever the user clicks back wall of popup.]]
diff --git a/src/lib/elementary/efl_ui_popup_alert.c b/src/lib/elementary/efl_ui_popup_alert.c
index 16e88a1..ad58030 100644
--- a/src/lib/elementary/efl_ui_popup_alert.c
+++ b/src/lib/elementary/efl_ui_popup_alert.c
@@ -2,6 +2,8 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#define EFL_PART_PROTECTED
6
5#include <Elementary.h> 7#include <Elementary.h>
6 8
7#include "elm_priv.h" 9#include "elm_priv.h"
diff --git a/src/lib/elementary/efl_ui_popup_alert.eo b/src/lib/elementary/efl_ui_popup_alert.eo
index 3dc77fb..837f9a9 100644
--- a/src/lib/elementary/efl_ui_popup_alert.eo
+++ b/src/lib/elementary/efl_ui_popup_alert.eo
@@ -29,7 +29,7 @@ class Efl.Ui.Popup_Alert(Efl.Ui.Popup)
29 implements { 29 implements {
30 Efl.Object.constructor; 30 Efl.Object.constructor;
31 Efl.Object.destructor; 31 Efl.Object.destructor;
32 Efl.Part.part; 32 Efl.Part.part_get;
33 } 33 }
34 events { 34 events {
35 button,clicked: Efl.Ui.Popup_Alert_Button_Clicked_Event; [[Called when alert popup was clicked]] 35 button,clicked: Efl.Ui.Popup_Alert_Button_Clicked_Event; [[Called when alert popup was clicked]]
diff --git a/src/lib/elementary/efl_ui_popup_alert_scroll.c b/src/lib/elementary/efl_ui_popup_alert_scroll.c
index 2a665c2..8c1f26c 100644
--- a/src/lib/elementary/efl_ui_popup_alert_scroll.c
+++ b/src/lib/elementary/efl_ui_popup_alert_scroll.c
@@ -3,6 +3,7 @@
3#endif 3#endif
4 4
5#define EFL_UI_POPUP_ALERT_SCROLL_BETA 5#define EFL_UI_POPUP_ALERT_SCROLL_BETA
6#define EFL_PART_PROTECTED
6 7
7#include <Elementary.h> 8#include <Elementary.h>
8 9
diff --git a/src/lib/elementary/efl_ui_popup_alert_scroll.eo b/src/lib/elementary/efl_ui_popup_alert_scroll.eo
index f3f9e6c..e27ba35 100644
--- a/src/lib/elementary/efl_ui_popup_alert_scroll.eo
+++ b/src/lib/elementary/efl_ui_popup_alert_scroll.eo
@@ -27,7 +27,7 @@ class Efl.Ui.Popup_Alert_Scroll(Efl.Ui.Popup_Alert)
27 implements { 27 implements {
28 Efl.Object.constructor; 28 Efl.Object.constructor;
29 Efl.Canvas.Group.group_calculate; 29 Efl.Canvas.Group.group_calculate;
30 Efl.Part.part; 30 Efl.Part.part_get;
31 Efl.Ui.Popup.popup_size { set;} 31 Efl.Ui.Popup.popup_size { set;}
32 } 32 }
33} 33}
diff --git a/src/lib/elementary/efl_ui_popup_alert_text.c b/src/lib/elementary/efl_ui_popup_alert_text.c
index 4bd5a4e..5912c14 100644
--- a/src/lib/elementary/efl_ui_popup_alert_text.c
+++ b/src/lib/elementary/efl_ui_popup_alert_text.c
@@ -2,6 +2,8 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#define EFL_PART_PROTECTED
6
5#include <Elementary.h> 7#include <Elementary.h>
6 8
7#include "elm_priv.h" 9#include "elm_priv.h"
diff --git a/src/lib/elementary/efl_ui_popup_alert_text.eo b/src/lib/elementary/efl_ui_popup_alert_text.eo
index 28c5279..598b24f 100644
--- a/src/lib/elementary/efl_ui_popup_alert_text.eo
+++ b/src/lib/elementary/efl_ui_popup_alert_text.eo
@@ -23,6 +23,6 @@ class Efl.Ui.Popup_Alert_Text(Efl.Ui.Popup_Alert, Efl.Text)
23 Efl.Canvas.Group.group_calculate; 23 Efl.Canvas.Group.group_calculate;
24 Efl.Ui.Popup.popup_size { set;} 24 Efl.Ui.Popup.popup_size { set;}
25 Efl.Text.text { get; set; } 25 Efl.Text.text { get; set; }
26 Efl.Part.part; 26 Efl.Part.part_get;
27 } 27 }
28} 28}
diff --git a/src/lib/elementary/efl_ui_progressbar.c b/src/lib/elementary/efl_ui_progressbar.c
index e483440..9f334ac 100644
--- a/src/lib/elementary/efl_ui_progressbar.c
+++ b/src/lib/elementary/efl_ui_progressbar.c
@@ -5,6 +5,7 @@
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define ELM_LAYOUT_PROTECTED 6#define ELM_LAYOUT_PROTECTED
7#define EFL_ACCESS_VALUE_PROTECTED 7#define EFL_ACCESS_VALUE_PROTECTED
8#define EFL_PART_PROTECTED
8 9
9#include <Elementary.h> 10#include <Elementary.h>
10 11
@@ -693,7 +694,7 @@ _efl_ui_progressbar_efl_ui_range_range_min_max_get(const Eo *obj EINA_UNUSED, Ef
693/* Efl.Part begin */ 694/* Efl.Part begin */
694 695
695EOLIAN static Eo * 696EOLIAN static Eo *
696_efl_ui_progressbar_efl_part_part(const Eo *obj, Efl_Ui_Progressbar_Data *sd EINA_UNUSED, const char *part) 697_efl_ui_progressbar_efl_part_part_get(const Eo *obj, Efl_Ui_Progressbar_Data *sd EINA_UNUSED, const char *part)
697{ 698{
698 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 699 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
699 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); 700 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
@@ -702,7 +703,7 @@ _efl_ui_progressbar_efl_part_part(const Eo *obj, Efl_Ui_Progressbar_Data *sd EIN
702 if (edje_object_part_drag_dir_get(wd->resize_obj, part) != EFL_UI_DRAG_DIR_NONE) 703 if (edje_object_part_drag_dir_get(wd->resize_obj, part) != EFL_UI_DRAG_DIR_NONE)
703 return ELM_PART_IMPLEMENT(EFL_UI_PROGRESSBAR_PART_CLASS, obj, part); 704 return ELM_PART_IMPLEMENT(EFL_UI_PROGRESSBAR_PART_CLASS, obj, part);
704 705
705 return efl_part(efl_super(obj, MY_CLASS), part); 706 return efl_part_get(efl_super(obj, MY_CLASS), part);
706} 707}
707 708
708EOLIAN static void 709EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_progressbar.eo b/src/lib/elementary/efl_ui_progressbar.eo
index 846ab32..86592ec 100644
--- a/src/lib/elementary/efl_ui_progressbar.eo
+++ b/src/lib/elementary/efl_ui_progressbar.eo
@@ -55,7 +55,7 @@ class Efl.Ui.Progressbar (Efl.Ui.Layout.Object, Efl.Ui.Range, Efl.Ui.Format,
55 Efl.Ui.Range.range_min_max {get; set; } 55 Efl.Ui.Range.range_min_max {get; set; }
56 Efl.Ui.Direction.direction { get; set; } 56 Efl.Ui.Direction.direction { get; set; }
57 Efl.Ui.Format.format_cb { set; } 57 Efl.Ui.Format.format_cb { set; }
58 Efl.Part.part; 58 Efl.Part.part_get;
59 Efl.Access.Value.value_and_text { get; } 59 Efl.Access.Value.value_and_text { get; }
60 Efl.Text.text { get; set; } 60 Efl.Text.text { get; set; }
61 Efl.Text_Markup.markup { get; set; } 61 Efl.Text_Markup.markup { get; set; }
diff --git a/src/lib/elementary/efl_ui_progressbar_legacy.eo b/src/lib/elementary/efl_ui_progressbar_legacy.eo
index fab761f..b091225 100644
--- a/src/lib/elementary/efl_ui_progressbar_legacy.eo
+++ b/src/lib/elementary/efl_ui_progressbar_legacy.eo
@@ -7,6 +7,6 @@ class Efl.Ui.Progressbar_Legacy (Efl.Ui.Progressbar, Efl.Ui.Legacy)
7 Efl.Object.constructor; 7 Efl.Object.constructor;
8 Efl.Ui.Widget.theme_apply; 8 Efl.Ui.Widget.theme_apply;
9 Efl.Ui.Widget.widget_sub_object_del; 9 Efl.Ui.Widget.widget_sub_object_del;
10 Efl.Part.part; 10 Efl.Part.part_get;
11 } 11 }
12} 12}
diff --git a/src/lib/elementary/efl_ui_radio.c b/src/lib/elementary/efl_ui_radio.c
index d986860..16ef832 100644
--- a/src/lib/elementary/efl_ui_radio.c
+++ b/src/lib/elementary/efl_ui_radio.c
@@ -5,6 +5,7 @@
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
7#define ELM_LAYOUT_PROTECTED 7#define ELM_LAYOUT_PROTECTED
8#define EFL_PART_PROTECTED
8 9
9#include <Elementary.h> 10#include <Elementary.h>
10 11
diff --git a/src/lib/elementary/efl_ui_radio_legacy.eo b/src/lib/elementary/efl_ui_radio_legacy.eo
index 6649295..cee114a 100644
--- a/src/lib/elementary/efl_ui_radio_legacy.eo
+++ b/src/lib/elementary/efl_ui_radio_legacy.eo
@@ -7,6 +7,6 @@ class Efl.Ui.Radio_Legacy (Efl.Ui.Radio, Efl.Ui.Legacy)
7 Efl.Object.constructor; 7 Efl.Object.constructor;
8 Efl.Ui.Widget.theme_apply; 8 Efl.Ui.Widget.theme_apply;
9 Efl.Ui.Widget.widget_sub_object_del; 9 Efl.Ui.Widget.widget_sub_object_del;
10 Efl.Part.part; 10 Efl.Part.part_get;
11 } 11 }
12} 12}
diff --git a/src/lib/elementary/efl_ui_slider.c b/src/lib/elementary/efl_ui_slider.c
index 107a2bd..ebada17 100644
--- a/src/lib/elementary/efl_ui_slider.c
+++ b/src/lib/elementary/efl_ui_slider.c
@@ -831,7 +831,6 @@ _efl_ui_slider_efl_access_widget_action_elm_actions_get(const Eo *obj EINA_UNUSE
831} 831}
832 832
833// A11Y Accessibility - END 833// A11Y Accessibility - END
834
835/* Internal EO APIs and hidden overrides */ 834/* Internal EO APIs and hidden overrides */
836 835
837EFL_VOID_FUNC_BODYV(efl_ui_slider_val_fetch, EFL_FUNC_CALL(user_event), Eina_Bool user_event) 836EFL_VOID_FUNC_BODYV(efl_ui_slider_val_fetch, EFL_FUNC_CALL(user_event), Eina_Bool user_event)
diff --git a/src/lib/elementary/efl_ui_tab_page.c b/src/lib/elementary/efl_ui_tab_page.c
index 79c52b4..361ccd6 100644
--- a/src/lib/elementary/efl_ui_tab_page.c
+++ b/src/lib/elementary/efl_ui_tab_page.c
@@ -2,6 +2,8 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#define EFL_PART_PROTECTED
6
5#include <Elementary.h> 7#include <Elementary.h>
6#include "elm_priv.h" 8#include "elm_priv.h"
7#include "efl_ui_tab_page_private.h" 9#include "efl_ui_tab_page_private.h"
@@ -66,14 +68,14 @@ _efl_ui_tab_page_efl_object_destructor(Eo *obj, Efl_Ui_Tab_Page_Data *sd EINA_UN
66/* Efl.Part begin */ 68/* Efl.Part begin */
67 69
68EOLIAN static Eo * 70EOLIAN static Eo *
69_efl_ui_tab_page_efl_part_part(const Eo *obj, Efl_Ui_Tab_Page_Data *sd EINA_UNUSED, const char *part) 71_efl_ui_tab_page_efl_part_part_get(const Eo *obj, Efl_Ui_Tab_Page_Data *sd EINA_UNUSED, const char *part)
70{ 72{
71 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 73 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
72 74
73 if (eina_streq(part, "tab")) 75 if (eina_streq(part, "tab"))
74 return ELM_PART_IMPLEMENT(EFL_UI_TAB_PAGE_PART_TAB_CLASS, obj, part); 76 return ELM_PART_IMPLEMENT(EFL_UI_TAB_PAGE_PART_TAB_CLASS, obj, part);
75 77
76 return efl_part(efl_super(obj, MY_CLASS), part); 78 return efl_part_get(efl_super(obj, MY_CLASS), part);
77} 79}
78 80
79EOLIAN static void 81EOLIAN static void
@@ -126,4 +128,4 @@ _efl_ui_tab_page_part_tab_efl_text_text_get(const Eo *obj, void *_pd EINA_UNUSED
126 128
127/* Efl.Part end */ 129/* Efl.Part end */
128 130
129#include "efl_ui_tab_page.eo.c" \ No newline at end of file 131#include "efl_ui_tab_page.eo.c"
diff --git a/src/lib/elementary/efl_ui_tab_page.eo b/src/lib/elementary/efl_ui_tab_page.eo
index e60ed78..5238e8e 100644
--- a/src/lib/elementary/efl_ui_tab_page.eo
+++ b/src/lib/elementary/efl_ui_tab_page.eo
@@ -20,7 +20,7 @@ class Efl.Ui.Tab_Page (Efl.Ui.Layout.Object, Efl.Content)
20 Efl.Object.constructor; 20 Efl.Object.constructor;
21 Efl.Object.destructor; 21 Efl.Object.destructor;
22 Efl.Content.content { get; set; } 22 Efl.Content.content { get; set; }
23 Efl.Part.part; 23 Efl.Part.part_get;
24 } 24 }
25 events { 25 events {
26 tab,changed: Efl.Ui.Tab_Page_Tab_Changed_Event; [[Called when tab changed]] 26 tab,changed: Efl.Ui.Tab_Page_Tab_Changed_Event; [[Called when tab changed]]
diff --git a/src/lib/elementary/efl_ui_textpath.c b/src/lib/elementary/efl_ui_textpath.c
index 1c5c7b5..c818380 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -3,6 +3,7 @@
3#endif 3#endif
4 4
5#define ELM_LAYOUT_PROTECTED 5#define ELM_LAYOUT_PROTECTED
6#define EFL_PART_PROTECTED
6 7
7#include <Elementary.h> 8#include <Elementary.h>
8#include "elm_priv.h" 9#include "elm_priv.h"
diff --git a/src/lib/elementary/efl_ui_textpath.eo b/src/lib/elementary/efl_ui_textpath.eo
index 20b046f..23acf58 100644
--- a/src/lib/elementary/efl_ui_textpath.eo
+++ b/src/lib/elementary/efl_ui_textpath.eo
@@ -50,7 +50,7 @@ class Efl.Ui.Textpath (Efl.Ui.Layout.Object, Efl.Object, Efl.Text, Efl.Gfx.Path)
50 Efl.Object.destructor; 50 Efl.Object.destructor;
51 Efl.Canvas.Group.group_calculate; 51 Efl.Canvas.Group.group_calculate;
52 Efl.Text.text {get; set;} 52 Efl.Text.text {get; set;}
53 Efl.Part.part; 53 Efl.Part.part_get;
54 Efl.Ui.Widget.theme_apply; 54 Efl.Ui.Widget.theme_apply;
55 Efl.Gfx.Entity.position { set; } 55 Efl.Gfx.Entity.position { set; }
56 Efl.Gfx.Entity.size { set; } 56 Efl.Gfx.Entity.size { set; }
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c
index 7566c06..30fe0da 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -11,6 +11,7 @@
11#define EFL_UI_TRANSLATABLE_PROTECTED 11#define EFL_UI_TRANSLATABLE_PROTECTED
12#define EFL_UI_FOCUS_OBJECT_PROTECTED 12#define EFL_UI_FOCUS_OBJECT_PROTECTED
13#define EFL_UI_WIDGET_PART_BG_PROTECTED 13#define EFL_UI_WIDGET_PART_BG_PROTECTED
14#define EFL_PART_PROTECTED
14 15
15#include <Elementary.h> 16#include <Elementary.h>
16 17
@@ -6047,7 +6048,7 @@ _efl_ui_widget_part_shadow_efl_gfx_filter_filter_state_get(const Eo *obj, void *
6047/* Efl.Part implementation */ 6048/* Efl.Part implementation */
6048 6049
6049EOLIAN static Efl_Object * 6050EOLIAN static Efl_Object *
6050_efl_ui_widget_efl_part_part(const Eo *obj, Elm_Widget_Smart_Data *wd EINA_UNUSED, const char *part) 6051_efl_ui_widget_efl_part_part_get(const Eo *obj, Elm_Widget_Smart_Data *wd EINA_UNUSED, const char *part)
6051{ 6052{
6052 if (eina_streq(part, "background")) 6053 if (eina_streq(part, "background"))
6053 return ELM_PART_IMPLEMENT(EFL_UI_WIDGET_PART_BG_CLASS, obj, part); 6054 return ELM_PART_IMPLEMENT(EFL_UI_WIDGET_PART_BG_CLASS, obj, part);
diff --git a/src/lib/elementary/efl_ui_widget.eo b/src/lib/elementary/efl_ui_widget.eo
index a3f9cd3..b0b5610 100644
--- a/src/lib/elementary/efl_ui_widget.eo
+++ b/src/lib/elementary/efl_ui_widget.eo
@@ -590,7 +590,7 @@ abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access.Object,
590 Efl.Ui.Cursor.cursor_theme_search_enabled { get; set; } 590 Efl.Ui.Cursor.cursor_theme_search_enabled { get; set; }
591 Efl.Ui.Focus.Object.on_focus_update; 591 Efl.Ui.Focus.Object.on_focus_update;
592 Efl.Ui.Translatable.translation_update; [[This implements the calls to $gettext() and $text_set().]] 592 Efl.Ui.Translatable.translation_update; [[This implements the calls to $gettext() and $text_set().]]
593 Efl.Part.part; [[Returns @Efl.Ui.Widget_Part.]] 593 Efl.Part.part_get; [[Returns @Efl.Ui.Widget_Part.]]
594 } 594 }
595 events { 595 events {
596 moved: Efl.Object; [[Called when widget moved]] 596 moved: Efl.Object; [[Called when widget moved]]
diff --git a/src/lib/elementary/efl_ui_widget_part.eo b/src/lib/elementary/efl_ui_widget_part.eo
index 0d01dcf..ac3a2d9 100644
--- a/src/lib/elementary/efl_ui_widget_part.eo
+++ b/src/lib/elementary/efl_ui_widget_part.eo
@@ -2,7 +2,7 @@ class Efl.Ui.Widget_Part (Efl.Object)
2{ 2{
3 [[This is the base class for all "Part" handles in Efl.Ui widgets. 3 [[This is the base class for all "Part" handles in Efl.Ui widgets.
4 4
5 Since objects of this type are returned by @Efl.Part.part, their lifetime 5 Since objects of this type are returned by @Efl.Part.part_get, their lifetime
6 is limited to exactly one function call only. Each widget class should 6 is limited to exactly one function call only. Each widget class should
7 expose more specific types for their API-defined parts. 7 expose more specific types for their API-defined parts.
8 ]] 8 ]]
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index d538af9..ad10779 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -15,6 +15,7 @@
15#define EFL_UI_WIN_BETA 15#define EFL_UI_WIN_BETA
16#define EFL_CANVAS_SCENE_BETA 16#define EFL_CANVAS_SCENE_BETA
17#define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED 17#define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED
18#define EFL_PART_PROTECTED
18 19
19#include <Elementary.h> 20#include <Elementary.h>
20#include <Elementary_Cursor.h> 21#include <Elementary_Cursor.h>
diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo
index 876c70f..b235c5f 100644
--- a/src/lib/elementary/efl_ui_win.eo
+++ b/src/lib/elementary/efl_ui_win.eo
@@ -817,7 +817,7 @@ class Efl.Ui.Win (Efl.Ui.Widget, Efl.Canvas.Scene, Efl.Canvas.Pointer, Efl.Acces
817 Efl.Canvas.Scene.seat { get; } 817 Efl.Canvas.Scene.seat { get; }
818 Efl.Content.content { get; set; } 818 Efl.Content.content { get; set; }
819 Efl.Content.content_unset; 819 Efl.Content.content_unset;
820 Efl.Part.part; 820 Efl.Part.part_get;
821 } 821 }
822 constructors { 822 constructors {
823 .win_name; 823 .win_name;
diff --git a/src/lib/elementary/elc_ctxpopup.c b/src/lib/elementary/elc_ctxpopup.c
index 79c99a2..d9b37cc 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -8,6 +8,7 @@
8//#define EFL_UI_WIDGET_BETA 8//#define EFL_UI_WIDGET_BETA
9#define ELM_WIDGET_ITEM_PROTECTED 9#define ELM_WIDGET_ITEM_PROTECTED
10#define EFL_UI_TRANSLATABLE_PROTECTED 10#define EFL_UI_TRANSLATABLE_PROTECTED
11#define EFL_PART_PROTECTED
11 12
12#include <Elementary.h> 13#include <Elementary.h>
13 14
diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c
index 7b796f0..e4dd5cd 100644
--- a/src/lib/elementary/elc_fileselector.c
+++ b/src/lib/elementary/elc_fileselector.c
@@ -12,6 +12,7 @@
12#define EFL_ACCESS_OBJECT_PROTECTED 12#define EFL_ACCESS_OBJECT_PROTECTED
13#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 13#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
14#define ELM_INTERFACE_FILESELECTOR_BETA 14#define ELM_INTERFACE_FILESELECTOR_BETA
15#define EFL_PART_PROTECTED
15 16
16#include <Elementary.h> 17#include <Elementary.h>
17#include "Eio_Eo.h" 18#include "Eio_Eo.h"
diff --git a/src/lib/elementary/elc_fileselector_entry.c b/src/lib/elementary/elc_fileselector_entry.c
index b935acc..d2b3b38 100644
--- a/src/lib/elementary/elc_fileselector_entry.c
+++ b/src/lib/elementary/elc_fileselector_entry.c
@@ -5,6 +5,7 @@
5 5
6#define EFL_ACCESS_OBJECT_PROTECTED 6#define EFL_ACCESS_OBJECT_PROTECTED
7#define ELM_INTERFACE_FILESELECTOR_BETA 7#define ELM_INTERFACE_FILESELECTOR_BETA
8#define EFL_PART_PROTECTED
8 9
9#include <Elementary.h> 10#include <Elementary.h>
10#include "Eio_Eo.h" 11#include "Eio_Eo.h"
diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c
index a155d85..d78c324 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -7,6 +7,7 @@
7//#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED 7//#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
8#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 8#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
9#define EFL_UI_TRANSLATABLE_PROTECTED 9#define EFL_UI_TRANSLATABLE_PROTECTED
10#define EFL_PART_PROTECTED
10 11
11#include <Elementary.h> 12#include <Elementary.h>
12#include "elm_priv.h" 13#include "elm_priv.h"
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c
index 26b1da7..5e586c5 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -7,6 +7,7 @@
7#define ELM_WIDGET_ITEM_PROTECTED 7#define ELM_WIDGET_ITEM_PROTECTED
8#define ELM_WIDGET_PROTECTED 8#define ELM_WIDGET_PROTECTED
9#define EFL_UI_TRANSLATABLE_PROTECTED 9#define EFL_UI_TRANSLATABLE_PROTECTED
10#define EFL_PART_PROTECTED
10 11
11#include <Elementary.h> 12#include <Elementary.h>
12#include "elm_priv.h" 13#include "elm_priv.h"
diff --git a/src/lib/elementary/elc_player.c b/src/lib/elementary/elc_player.c
index 533647a..35c1396 100644
--- a/src/lib/elementary/elc_player.c
+++ b/src/lib/elementary/elc_player.c
@@ -2,10 +2,11 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#include <Emotion.h>
6
7#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
8#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
7#define EFL_PART_PROTECTED
8
9#include <Emotion.h>
9 10
10#include <Elementary.h> 11#include <Elementary.h>
11#include "elm_priv.h" 12#include "elm_priv.h"
diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index dde37d9..8771a10 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -7,6 +7,7 @@
7#define ELM_WIDGET_PROTECTED 7#define ELM_WIDGET_PROTECTED
8#define ELM_WIDGET_ITEM_PROTECTED 8#define ELM_WIDGET_ITEM_PROTECTED
9#define EFL_UI_TRANSLATABLE_PROTECTED 9#define EFL_UI_TRANSLATABLE_PROTECTED
10#define EFL_PART_PROTECTED
10 11
11#include <Elementary.h> 12#include <Elementary.h>
12#include "elm_priv.h" 13#include "elm_priv.h"
diff --git a/src/lib/elementary/elm_actionslider.c b/src/lib/elementary/elm_actionslider.c
index 912c4b5..7a6f50b 100644
--- a/src/lib/elementary/elm_actionslider.c
+++ b/src/lib/elementary/elm_actionslider.c
@@ -4,6 +4,7 @@
4 4
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define ELM_LAYOUT_PROTECTED 6#define ELM_LAYOUT_PROTECTED
7#define EFL_PART_PROTECTED
7 8
8#include <Elementary.h> 9#include <Elementary.h>
9#include <math.h> 10#include <math.h>
diff --git a/src/lib/elementary/elm_actionslider.eo b/src/lib/elementary/elm_actionslider.eo
index 6b9d415..07f7b09 100644
--- a/src/lib/elementary/elm_actionslider.eo
+++ b/src/lib/elementary/elm_actionslider.eo
@@ -72,7 +72,7 @@ class Elm.Actionslider (Efl.Ui.Layout.Object, Efl.Ui.Selectable, Efl.Ui.Legacy)
72 class.constructor; 72 class.constructor;
73 Efl.Object.constructor; 73 Efl.Object.constructor;
74 Efl.Ui.Widget.theme_apply; 74 Efl.Ui.Widget.theme_apply;
75 Efl.Part.part; 75 Efl.Part.part_get;
76 } 76 }
77 events { 77 events {
78 pos_changed: string; [[The position of the actionslider has changed]] 78 pos_changed: string; [[The position of the actionslider has changed]]
diff --git a/src/lib/elementary/elm_bubble.c b/src/lib/elementary/elm_bubble.c
index 77f6aa3..a882a2e 100644
--- a/src/lib/elementary/elm_bubble.c
+++ b/src/lib/elementary/elm_bubble.c
@@ -4,6 +4,7 @@
4 4
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define ELM_LAYOUT_PROTECTED 6#define ELM_LAYOUT_PROTECTED
7#define EFL_PART_PROTECTED
7 8
8#include <Elementary.h> 9#include <Elementary.h>
9#include "elm_priv.h" 10#include "elm_priv.h"
diff --git a/src/lib/elementary/elm_bubble.eo b/src/lib/elementary/elm_bubble.eo
index fd3e737..8905759 100644
--- a/src/lib/elementary/elm_bubble.eo
+++ b/src/lib/elementary/elm_bubble.eo
@@ -39,6 +39,6 @@ class Elm.Bubble (Efl.Ui.Layout.Object, Efl.Ui.Clickable, Efl.Ui.Legacy)
39 class.constructor; 39 class.constructor;
40 Efl.Object.constructor; 40 Efl.Object.constructor;
41 Efl.Ui.Widget.on_access_update; 41 Efl.Ui.Widget.on_access_update;
42 Efl.Part.part; 42 Efl.Part.part_get;
43 } 43 }
44} 44}
diff --git a/src/lib/elementary/elm_ctxpopup.eo b/src/lib/elementary/elm_ctxpopup.eo
index 8004e86..af3617b 100644
--- a/src/lib/elementary/elm_ctxpopup.eo
+++ b/src/lib/elementary/elm_ctxpopup.eo
@@ -240,7 +240,7 @@ class Elm.Ctxpopup (Efl.Ui.Layout.Object, Efl.Ui.Focus.Layer, Efl.Access.Widget.
240 Efl.Ui.Widget.focused_item { get; } 240 Efl.Ui.Widget.focused_item { get; }
241 Efl.Access.Widget.Action.elm_actions { get; } 241 Efl.Access.Widget.Action.elm_actions { get; }
242 Efl.Access.Object.state_set { get; } 242 Efl.Access.Object.state_set { get; }
243 Efl.Part.part; 243 Efl.Part.part_get;
244 } 244 }
245 events { 245 events {
246 dismissed: void; [[Called when context popup was dismissed]] 246 dismissed: void; [[Called when context popup was dismissed]]
diff --git a/src/lib/elementary/elm_dayselector.c b/src/lib/elementary/elm_dayselector.c
index b7bcec8..4334eca 100644
--- a/src/lib/elementary/elm_dayselector.c
+++ b/src/lib/elementary/elm_dayselector.c
@@ -4,6 +4,7 @@
4 4
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define EFL_UI_TRANSLATABLE_PROTECTED 6#define EFL_UI_TRANSLATABLE_PROTECTED
7#define EFL_PART_PROTECTED
7 8
8#include <Elementary.h> 9#include <Elementary.h>
9#include "elm_priv.h" 10#include "elm_priv.h"
diff --git a/src/lib/elementary/elm_dayselector.eo b/src/lib/elementary/elm_dayselector.eo
index 5fb9128..13017f1 100644
--- a/src/lib/elementary/elm_dayselector.eo
+++ b/src/lib/elementary/elm_dayselector.eo
@@ -153,7 +153,7 @@ class Elm.Dayselector (Efl.Ui.Layout.Object, Efl.Ui.Legacy)
153 Efl.Object.constructor; 153 Efl.Object.constructor;
154 Efl.Ui.Widget.theme_apply; 154 Efl.Ui.Widget.theme_apply;
155 Efl.Ui.Translatable.translation_update; 155 Efl.Ui.Translatable.translation_update;
156 Efl.Part.part; 156 Efl.Part.part_get;
157 } 157 }
158 events { 158 events {
159 /* FIXME: Nobody emits this 159 /* FIXME: Nobody emits this
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 26fe594..a6ccaa5 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -10,6 +10,7 @@
10#define EFL_UI_FOCUS_OBJECT_PROTECTED 10#define EFL_UI_FOCUS_OBJECT_PROTECTED
11#define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED 1 11#define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED 1
12#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 12#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
13#define EFL_PART_PROTECTED
13 14
14#include <Elementary.h> 15#include <Elementary.h>
15#include <Elementary_Cursor.h> 16#include <Elementary_Cursor.h>
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
index c86d752..7d98bef 100644
--- a/src/lib/elementary/elm_entry.eo
+++ b/src/lib/elementary/elm_entry.eo
@@ -898,7 +898,7 @@ class Elm.Entry (Efl.Ui.Layout.Object, Elm.Interface_Scrollable, Efl.Ui.Clickabl
898 Efl.Access.Editable.Text.paste; 898 Efl.Access.Editable.Text.paste;
899 Efl.Access.Widget.Action.elm_actions { get; } 899 Efl.Access.Widget.Action.elm_actions { get; }
900 Efl.File.file { get; set; } 900 Efl.File.file { get; set; }
901 Efl.Part.part; 901 Efl.Part.part_get;
902 } 902 }
903 events { 903 events {
904 activated: void; [[Called when entry got activated]] 904 activated: void; [[Called when entry got activated]]
diff --git a/src/lib/elementary/elm_fileselector.eo b/src/lib/elementary/elm_fileselector.eo
index 616108a..ef59f1f 100644
--- a/src/lib/elementary/elm_fileselector.eo
+++ b/src/lib/elementary/elm_fileselector.eo
@@ -54,7 +54,7 @@ class Elm.Fileselector (Efl.Ui.Layout.Object, Elm.Interface.Fileselector,
54 Elm.Interface.Fileselector.mode { get; set; } 54 Elm.Interface.Fileselector.mode { get; set; }
55 Elm.Interface.Fileselector.current_name { get; set; } 55 Elm.Interface.Fileselector.current_name { get; set; }
56 Efl.Access.Widget.Action.elm_actions { get; } 56 Efl.Access.Widget.Action.elm_actions { get; }
57 Efl.Part.part; 57 Efl.Part.part_get;
58 } 58 }
59 events { 59 events {
60 done: string; [[Called when OK button was pressed]] 60 done: string; [[Called when OK button was pressed]]
diff --git a/src/lib/elementary/elm_fileselector_entry.eo b/src/lib/elementary/elm_fileselector_entry.eo
index e3ce79a..4e5a6a8 100644
--- a/src/lib/elementary/elm_fileselector_entry.eo
+++ b/src/lib/elementary/elm_fileselector_entry.eo
@@ -13,7 +13,7 @@ class Elm.Fileselector_Entry (Efl.Ui.Layout.Object, Elm.Interface.Fileselector,
13 Elm.Interface.Fileselector.is_save { get; set; } 13 Elm.Interface.Fileselector.is_save { get; set; }
14 Efl.Ui.View.model { get; set; } 14 Efl.Ui.View.model { get; set; }
15 Elm.Interface.Fileselector.expandable { get; set; } 15 Elm.Interface.Fileselector.expandable { get; set; }
16 Efl.Part.part; 16 Efl.Part.part_get;
17 } 17 }
18 events { 18 events {
19 changed: void; [[Called when the entry changed]] 19 changed: void; [[Called when the entry changed]]
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c
index 3a8af3f..5a3a814 100644
--- a/src/lib/elementary/elm_hover.c
+++ b/src/lib/elementary/elm_hover.c
@@ -6,6 +6,7 @@
6#define EFL_ACCESS_OBJECT_PROTECTED 6#define EFL_ACCESS_OBJECT_PROTECTED
7#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 7#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
8#define ELM_LAYOUT_PROTECTED 8#define ELM_LAYOUT_PROTECTED
9#define EFL_PART_PROTECTED
9 10
10#include <Elementary.h> 11#include <Elementary.h>
11 12
diff --git a/src/lib/elementary/elm_hover.eo b/src/lib/elementary/elm_hover.eo
index c5663c5..35f744b 100644
--- a/src/lib/elementary/elm_hover.eo
+++ b/src/lib/elementary/elm_hover.eo
@@ -71,7 +71,7 @@ class Elm.Hover (Efl.Ui.Layout.Object, Efl.Ui.Focus.Layer, Efl.Ui.Clickable,
71 Efl.Ui.Widget.widget_sub_object_del; 71 Efl.Ui.Widget.widget_sub_object_del;
72 Efl.Access.Widget.Action.elm_actions { get; } 72 Efl.Access.Widget.Action.elm_actions { get; }
73 Efl.Access.Object.state_set { get; } 73 Efl.Access.Object.state_set { get; }
74 Efl.Part.part; 74 Efl.Part.part_get;
75 } 75 }
76 events { 76 events {
77 smart,changed: string; [[Called when hover changed]] 77 smart,changed: string; [[Called when hover changed]]
diff --git a/src/lib/elementary/elm_inwin.c b/src/lib/elementary/elm_inwin.c
index 66fd2f0..110a614 100644
--- a/src/lib/elementary/elm_inwin.c
+++ b/src/lib/elementary/elm_inwin.c
@@ -5,6 +5,7 @@
5#define ELM_WIDGET_PROTECTED 5#define ELM_WIDGET_PROTECTED
6#define EFL_ACCESS_OBJECT_PROTECTED 6#define EFL_ACCESS_OBJECT_PROTECTED
7#define ELM_LAYOUT_PROTECTED 7#define ELM_LAYOUT_PROTECTED
8#define EFL_PART_PROTECTED
8 9
9#include <Elementary.h> 10#include <Elementary.h>
10 11
diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c
index 40fd893..403d347 100644
--- a/src/lib/elementary/elm_label.c
+++ b/src/lib/elementary/elm_label.c
@@ -4,6 +4,7 @@
4 4
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define ELM_LAYOUT_PROTECTED 6#define ELM_LAYOUT_PROTECTED
7#define EFL_PART_PROTECTED
7 8
8#include <Elementary.h> 9#include <Elementary.h>
9 10
diff --git a/src/lib/elementary/elm_label.eo b/src/lib/elementary/elm_label.eo
index 86690d7..6e5e9dc 100644
--- a/src/lib/elementary/elm_label.eo
+++ b/src/lib/elementary/elm_label.eo
@@ -125,7 +125,7 @@ class Elm.Label (Efl.Ui.Layout.Object, Efl.Ui.Legacy)
125 class.constructor; 125 class.constructor;
126 Efl.Object.constructor; 126 Efl.Object.constructor;
127 Efl.Ui.Widget.theme_apply; 127 Efl.Ui.Widget.theme_apply;
128 Efl.Part.part; 128 Efl.Part.part_get;
129 } 129 }
130 events { 130 events {
131 slide,end: void; [[Called when slide stopped]] 131 slide,end: void; [[Called when slide stopped]]
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c
index 7108aaf..8be2124 100644
--- a/src/lib/elementary/elm_mapbuf.c
+++ b/src/lib/elementary/elm_mapbuf.c
@@ -3,6 +3,7 @@
3#endif 3#endif
4 4
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define EFL_PART_PROTECTED
6 7
7#include <Elementary.h> 8#include <Elementary.h>
8 9
diff --git a/src/lib/elementary/elm_mapbuf.eo b/src/lib/elementary/elm_mapbuf.eo
index fad8398b..2aba973 100644
--- a/src/lib/elementary/elm_mapbuf.eo
+++ b/src/lib/elementary/elm_mapbuf.eo
@@ -123,6 +123,6 @@ class Elm.Mapbuf (Efl.Ui.Widget, Efl.Content, Efl.Part, Efl.Ui.Legacy)
123 Efl.Ui.Widget.widget_sub_object_del; 123 Efl.Ui.Widget.widget_sub_object_del;
124 Efl.Content.content { get; set; } 124 Efl.Content.content { get; set; }
125 Efl.Content.content_unset; 125 Efl.Content.content_unset;
126 Efl.Part.part; 126 Efl.Part.part_get;
127 } 127 }
128} 128}
diff --git a/src/lib/elementary/elm_multibuttonentry.eo b/src/lib/elementary/elm_multibuttonentry.eo
index 54ac165..686d302 100644
--- a/src/lib/elementary/elm_multibuttonentry.eo
+++ b/src/lib/elementary/elm_multibuttonentry.eo
@@ -183,7 +183,7 @@ class Elm.Multibuttonentry (Efl.Ui.Layout.Object, Efl.Ui.Clickable, Efl.Ui.Legac
183 Efl.Ui.Translatable.translation_update; 183 Efl.Ui.Translatable.translation_update;
184 Efl.Ui.Widget.widget_event; 184 Efl.Ui.Widget.widget_event;
185 Efl.Access.Object.access_children { get; } 185 Efl.Access.Object.access_children { get; }
186 Efl.Part.part; 186 Efl.Part.part_get;
187 } 187 }
188 events { 188 events {
189 item,selected: Efl.Object; [[Called when item was selected]] 189 item,selected: Efl.Object; [[Called when item was selected]]
diff --git a/src/lib/elementary/elm_naviframe.eo b/src/lib/elementary/elm_naviframe.eo
index 8d926ac..47c41bd 100644
--- a/src/lib/elementary/elm_naviframe.eo
+++ b/src/lib/elementary/elm_naviframe.eo
@@ -151,7 +151,7 @@ class Elm.Naviframe (Efl.Ui.Layout.Object, Efl.Access.Widget.Action, Efl.Ui.Lega
151 Efl.Layout.Signal.signal_emit; 151 Efl.Layout.Signal.signal_emit;
152 Efl.Access.Widget.Action.elm_actions { get; } 152 Efl.Access.Widget.Action.elm_actions { get; }
153 Efl.Ui.Widget.resize_object { set; } 153 Efl.Ui.Widget.resize_object { set; }
154 Efl.Part.part; 154 Efl.Part.part_get;
155 } 155 }
156 events { 156 events {
157 transition,finished: Efl.Object; [[Called when naviframe transition finished]] 157 transition,finished: Efl.Object; [[Called when naviframe transition finished]]
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c
index 99ad393..586ba33 100644
--- a/src/lib/elementary/elm_notify.c
+++ b/src/lib/elementary/elm_notify.c
@@ -4,6 +4,7 @@
4 4
5#define ELM_WIDGET_PROTECTED 5#define ELM_WIDGET_PROTECTED
6#define EFL_ACCESS_OBJECT_PROTECTED 6#define EFL_ACCESS_OBJECT_PROTECTED
7#define EFL_PART_PROTECTED
7 8
8#include <Elementary.h> 9#include <Elementary.h>
9 10
diff --git a/src/lib/elementary/elm_notify.eo b/src/lib/elementary/elm_notify.eo
index 4fdaa9c..60c26f3 100644
--- a/src/lib/elementary/elm_notify.eo
+++ b/src/lib/elementary/elm_notify.eo
@@ -88,7 +88,7 @@ class Elm.Notify (Efl.Ui.Widget, Efl.Ui.Focus.Layer, Efl.Content, Efl.Part, Efl.
88 Efl.Ui.Widget.widget_sub_object_del; 88 Efl.Ui.Widget.widget_sub_object_del;
89 Efl.Content.content { get; set; } 89 Efl.Content.content { get; set; }
90 Efl.Content.content_unset; 90 Efl.Content.content_unset;
91 Efl.Part.part; 91 Efl.Part.part_get;
92 } 92 }
93 events { 93 events {
94 block,clicked: void; [[Called when block was clicked]] 94 block,clicked: void; [[Called when block was clicked]]
diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c
index 01002be..d219a89 100644
--- a/src/lib/elementary/elm_panel.c
+++ b/src/lib/elementary/elm_panel.c
@@ -5,6 +5,7 @@
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
7#define EFL_UI_FOCUS_LAYER_PROTECTED 7#define EFL_UI_FOCUS_LAYER_PROTECTED
8#define EFL_PART_PROTECTED
8 9
9#include <Elementary.h> 10#include <Elementary.h>
10 11
diff --git a/src/lib/elementary/elm_panel.eo b/src/lib/elementary/elm_panel.eo
index 8a8a708..ba4db11 100644
--- a/src/lib/elementary/elm_panel.eo
+++ b/src/lib/elementary/elm_panel.eo
@@ -85,7 +85,7 @@ class Elm.Panel (Efl.Ui.Layout.Object, Efl.Ui.Focus.Layer, Elm.Interface_Scrolla
85 Efl.Ui.Widget.widget_event; 85 Efl.Ui.Widget.widget_event;
86 Efl.Ui.Widget.interest_region { get; } 86 Efl.Ui.Widget.interest_region { get; }
87 Efl.Access.Widget.Action.elm_actions { get; } 87 Efl.Access.Widget.Action.elm_actions { get; }
88 Efl.Part.part; 88 Efl.Part.part_get;
89 } 89 }
90 events { 90 events {
91 toggled: void; [[Called when the hidden state was toggled]] 91 toggled: void; [[Called when the hidden state was toggled]]
diff --git a/src/lib/elementary/elm_part_helper.h b/src/lib/elementary/elm_part_helper.h
index 67d20ca..7d5c374 100644
--- a/src/lib/elementary/elm_part_helper.h
+++ b/src/lib/elementary/elm_part_helper.h
@@ -57,8 +57,6 @@ _elm_part_initialize(Eo *proxy, Eo *obj, const char *part)
57 Elm_Part_Data *pd = efl_data_scope_get(proxy, EFL_UI_WIDGET_PART_CLASS); 57 Elm_Part_Data *pd = efl_data_scope_get(proxy, EFL_UI_WIDGET_PART_CLASS);
58 58
59 EINA_SAFETY_ON_FALSE_RETURN_VAL(pd && obj && part, NULL); 59 EINA_SAFETY_ON_FALSE_RETURN_VAL(pd && obj && part, NULL);
60 efl_allow_parent_unref_set(proxy, 1);
61 ___efl_auto_unref_set(proxy, 1);
62 pd->part = eina_tmpstr_add(part); 60 pd->part = eina_tmpstr_add(part);
63 pd->obj = obj; 61 pd->obj = obj;
64 62
@@ -74,17 +72,17 @@ ELM_PART_IMPLEMENT(const Efl_Class *part_klass, const Eo *obj, const char *part)
74 72
75#define ELM_PART_OVERRIDE_PARTIAL(type, TYPE, typedata, _is_part_cb) \ 73#define ELM_PART_OVERRIDE_PARTIAL(type, TYPE, typedata, _is_part_cb) \
76 EOLIAN static Efl_Object * \ 74 EOLIAN static Efl_Object * \
77 _ ## type ## _efl_part_part(const Eo *obj, typedata *priv EINA_UNUSED, const char *part) \ 75 _ ## type ## _efl_part_part_get(const Eo *obj, typedata *priv EINA_UNUSED, const char *part) \
78 { \ 76 { \
79 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); \ 77 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); \
80 if (_is_part_cb(obj, part)) \ 78 if (_is_part_cb(obj, part)) \
81 return ELM_PART_IMPLEMENT(TYPE ## _PART_CLASS, obj, part); \ 79 return ELM_PART_IMPLEMENT(TYPE ## _PART_CLASS, obj, part); \
82 return efl_part(efl_super(obj, TYPE ## _CLASS), part); \ 80 return efl_part_get(efl_super(obj, TYPE ## _CLASS), part); \
83 } 81 }
84 82
85#define ELM_PART_OVERRIDE(type, TYPE, typedata) \ 83#define ELM_PART_OVERRIDE(type, TYPE, typedata) \
86EOLIAN static Efl_Object * \ 84EOLIAN static Efl_Object * \
87_ ## type ## _efl_part_part(const Eo *obj, typedata *priv EINA_UNUSED, const char *part) \ 85_ ## type ## _efl_part_part_get(const Eo *obj, typedata *priv EINA_UNUSED, const char *part) \
88{ \ 86{ \
89 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); \ 87 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); \
90 return ELM_PART_IMPLEMENT(TYPE ## _PART_CLASS, obj, part); \ 88 return ELM_PART_IMPLEMENT(TYPE ## _PART_CLASS, obj, part); \
diff --git a/src/lib/elementary/elm_player.eo b/src/lib/elementary/elm_player.eo
index bdf1e2c..e8f607c 100644
--- a/src/lib/elementary/elm_player.eo
+++ b/src/lib/elementary/elm_player.eo
@@ -10,7 +10,7 @@ class Elm.Player (Efl.Ui.Layout.Object, Efl.Access.Widget.Action, Efl.Ui.Legacy)
10 Efl.Ui.Widget.theme_apply; 10 Efl.Ui.Widget.theme_apply;
11 Efl.Ui.Widget.widget_event; 11 Efl.Ui.Widget.widget_event;
12 Efl.Access.Widget.Action.elm_actions { get; } 12 Efl.Access.Widget.Action.elm_actions { get; }
13 Efl.Part.part; 13 Efl.Part.part_get;
14 } 14 }
15 events { 15 events {
16 forward,clicked: void; [[Called when forward was clicked]] 16 forward,clicked: void; [[Called when forward was clicked]]
diff --git a/src/lib/elementary/elm_popup.eo b/src/lib/elementary/elm_popup.eo
index 59fb86c..772504d 100644
--- a/src/lib/elementary/elm_popup.eo
+++ b/src/lib/elementary/elm_popup.eo
@@ -178,7 +178,7 @@ class Elm.Popup (Efl.Ui.Layout.Object, Efl.Access.Widget.Action, Efl.Ui.Legacy)
178 Efl.Access.Widget.Action.elm_actions { get; } 178 Efl.Access.Widget.Action.elm_actions { get; }
179 Efl.Access.Object.state_set { get; } 179 Efl.Access.Object.state_set { get; }
180 Efl.Access.Object.i18n_name { get; } 180 Efl.Access.Object.i18n_name { get; }
181 Efl.Part.part; 181 Efl.Part.part_get;
182 } 182 }
183 events { 183 events {
184 block,clicked: void; [[Called when popup was clicked]] 184 block,clicked: void; [[Called when popup was clicked]]
diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c
index 80746e7..2542348 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -4,6 +4,7 @@
4 4
5#define EFL_ACCESS_OBJECT_PROTECTED 5#define EFL_ACCESS_OBJECT_PROTECTED
6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
7#define EFL_PART_PROTECTED
7 8
8#include <Elementary.h> 9#include <Elementary.h>
9 10
diff --git a/src/lib/elementary/elm_scroller.eo b/src/lib/elementary/elm_scroller.eo
index e69560f..7824a4c 100644
--- a/src/lib/elementary/elm_scroller.eo
+++ b/src/lib/elementary/elm_scroller.eo
@@ -55,7 +55,7 @@ class Elm.Scroller (Efl.Ui.Layout.Object, Elm.Interface_Scrollable,
55 Elm.Interface_Scrollable.policy { set; } 55 Elm.Interface_Scrollable.policy { set; }
56 Elm.Interface_Scrollable.single_direction { get; set; } 56 Elm.Interface_Scrollable.single_direction { get; set; }
57 Efl.Access.Widget.Action.elm_actions { get; } 57 Efl.Access.Widget.Action.elm_actions { get; }
58 Efl.Part.part; 58 Efl.Part.part_get;
59 Efl.Ui.Widget.focus_state_apply; 59 Efl.Ui.Widget.focus_state_apply;
60 } 60 }
61 events { 61 events {
diff --git a/src/lib/elementary/elm_slider.c b/src/lib/elementary/elm_slider.c
index 4d92746..88c3b54 100644
--- a/src/lib/elementary/elm_slider.c
+++ b/src/lib/elementary/elm_slider.c
@@ -6,6 +6,7 @@
6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED 6#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
7#define EFL_ACCESS_VALUE_PROTECTED 7#define EFL_ACCESS_VALUE_PROTECTED
8#define ELM_LAYOUT_PROTECTED 8#define ELM_LAYOUT_PROTECTED
9#define EFL_PART_PROTECTED
9 10
10#include <Elementary.h> 11#include <Elementary.h>
11 12
@@ -1100,14 +1101,14 @@ _slider_span_size_set(Eo *obj, Elm_Slider_Data *sd, int size)
1100/* Efl.Part begin */ 1101/* Efl.Part begin */
1101 1102
1102EOLIAN static Eo * 1103EOLIAN static Eo *
1103_elm_slider_efl_part_part(const Eo *obj, Elm_Slider_Data *sd EINA_UNUSED, const char *part) 1104_elm_slider_efl_part_part_get(const Eo *obj, Elm_Slider_Data *sd EINA_UNUSED, const char *part)
1104{ 1105{
1105 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 1106 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
1106 1107
1107 if (eina_streq(part, "indicator")) 1108 if (eina_streq(part, "indicator"))
1108 return ELM_PART_IMPLEMENT(ELM_SLIDER_PART_INDICATOR_CLASS, obj, part); 1109 return ELM_PART_IMPLEMENT(ELM_SLIDER_PART_INDICATOR_CLASS, obj, part);
1109 1110
1110 return efl_part(efl_super(obj, MY_CLASS), part); 1111 return efl_part_get(efl_super(obj, MY_CLASS), part);
1111} 1112}
1112 1113
1113EOLIAN static void 1114EOLIAN static void
diff --git a/src/lib/elementary/elm_slider.eo b/src/lib/elementary/elm_slider.eo
index 3bf4f95..233da53 100644
--- a/src/lib/elementary/elm_slider.eo
+++ b/src/lib/elementary/elm_slider.eo
@@ -21,6 +21,6 @@ class Elm.Slider (Efl.Ui.Slider_Interval, Efl.Ui.Legacy,
21 Efl.Text_Markup.markup { get; set; } 21 Efl.Text_Markup.markup { get; set; }
22 Efl.Ui.Format.format_cb { set; } 22 Efl.Ui.Format.format_cb { set; }
23 Efl.Ui.Translatable.translatable_text { get; set; } 23 Efl.Ui.Translatable.translatable_text { get; set; }
24 Efl.Part.part; 24 Efl.Part.part_get;
25 } 25 }
26} 26}
diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index bafd2bc..5d035b6 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -10,9 +10,6 @@
10 10
11#define EOLIAN 11#define EOLIAN
12 12
13/* When used, this indicates that the function is an Eo API. */
14#define EOAPI EAPI EAPI_WEAK
15
16#ifdef _WIN32 13#ifdef _WIN32
17# ifdef EFL_BUILD 14# ifdef EFL_BUILD
18# ifdef DLL_EXPORT 15# ifdef DLL_EXPORT
@@ -23,18 +20,25 @@
23# else 20# else
24# define EAPI __declspec(dllimport) 21# define EAPI __declspec(dllimport)
25# endif 22# endif
23# define EAPI_WEAK
26#else 24#else
27# ifdef __GNUC__ 25# ifdef __GNUC__
28# if __GNUC__ >= 4 26# if __GNUC__ >= 4
29# define EAPI __attribute__ ((visibility("default"))) 27# define EAPI __attribute__ ((visibility("default")))
28# define EAPI_WEAK __attribute__ ((weak))
30# else 29# else
31# define EAPI 30# define EAPI
31# define EAPI_WEAK
32# endif 32# endif
33# else 33# else
34# define EAPI 34# define EAPI
35# define EAPI_WEAK
35# endif 36# endif
36#endif 37#endif
37 38
39/* When used, this indicates that the function is an Eo API. */
40#define EOAPI EAPI EAPI_WEAK
41
38#ifdef __cplusplus 42#ifdef __cplusplus
39extern "C" { 43extern "C" {
40#endif 44#endif
@@ -2163,11 +2167,9 @@ EAPI Eina_Iterator *eo_objects_iterator_new(void);
2163 * @} 2167 * @}
2164 */ 2168 */
2165 2169
2166
2167 /* Private for EFL internal use only. Do not use these! */ 2170 /* Private for EFL internal use only. Do not use these! */
2168EAPI int ___efl_ref2_count(const Eo *obj_id); 2171EAPI int ___efl_ref2_count(const Eo *obj_id);
2169EAPI void ___efl_ref2_reset(const Eo *obj_id); 2172EAPI void ___efl_ref2_reset(const Eo *obj_id);
2170EAPI void ___efl_auto_unref_set(Eo *obj_id, Eina_Bool val);
2171 2173
2172#endif 2174#endif
2173 2175
@@ -2178,4 +2180,7 @@ EAPI void ___efl_auto_unref_set(Eo *obj_id, Eina_Bool val);
2178#undef EAPI 2180#undef EAPI
2179#define EAPI 2181#define EAPI
2180 2182
2183#undef EOAPI
2184#define EOAPI
2185
2181#endif 2186#endif
diff --git a/src/lib/eo/eo_internal.h b/src/lib/eo/eo_internal.h
new file mode 100644
index 0000000..b4a1db0
--- /dev/null
+++ b/src/lib/eo/eo_internal.h
@@ -0,0 +1,38 @@
1#ifndef _EO_INTERNAL_H_
2#define _EO_INTERNAL_H_
3
4#ifdef EAPI
5# undef EAPI
6#endif
7
8#ifdef _WIN32
9# ifdef EFL_BUILD
10# ifdef DLL_EXPORT
11# define EAPI __declspec(dllexport)
12# else
13# define EAPI
14# endif
15# else
16# define EAPI __declspec(dllimport)
17# endif
18#else
19# ifdef __GNUC__
20# if __GNUC__ >= 4
21# define EAPI __attribute__ ((visibility("default")))
22# else
23# define EAPI
24# endif
25# else
26# define EAPI
27# endif
28#endif
29
30typedef unsigned char Eina_Bool;
31typedef struct _Eo_Opaque Eo;
32
33EAPI void ___efl_auto_unref_set(Eo *obj_id, Eina_Bool enable);
34
35#undef EAPI
36#define EAPI
37
38#endif
diff --git a/src/lib/eolian_cxx/grammar/part_implementation.hpp b/src/lib/eolian_cxx/grammar/part_implementation.hpp
index d88ae05..ec4da28 100644
--- a/src/lib/eolian_cxx/grammar/part_implementation.hpp
+++ b/src/lib/eolian_cxx/grammar/part_implementation.hpp
@@ -29,9 +29,8 @@ struct part_implementation_generator
29 return false; 29 return false;
30 // FIXME: part_def can't depend on klass_def so C type is not known :( 30 // FIXME: part_def can't depend on klass_def so C type is not known :(
31 if(!as_generator(string << ">::type "<< string << "::" << string << "() const\n{\n" 31 if(!as_generator(string << ">::type "<< string << "::" << string << "() const\n{\n"
32 << scope_tab << "::Eo *__return_value = ::efl_part" 32 << scope_tab << "::Eo *__return_value = ::efl_part_get"
33 << "(this->_eo_ptr(), \"" << string << "\");\n" 33 << "(this->_eo_ptr(), \"" << string << "\");\n")
34 << scope_tab << "::___efl_auto_unref_set(__return_value, false);\n")
35 .generate(sink, std::make_tuple(part.klass.eolian_name, klass_name, part.name, part.name), ctx)) 34 .generate(sink, std::make_tuple(part.klass.eolian_name, klass_name, part.name, part.name), ctx))
36 return false; 35 return false;
37 if(!as_generator(scope_tab << "return ::" << *(string << "::")) 36 if(!as_generator(scope_tab << "return ::" << *(string << "::"))
diff --git a/src/tests/efl_mono/libefl_mono_native_test.c b/src/tests/efl_mono/libefl_mono_native_test.c
index 3f5562c..ab062db 100644
--- a/src/tests/efl_mono/libefl_mono_native_test.c
+++ b/src/tests/efl_mono/libefl_mono_native_test.c
@@ -3744,7 +3744,7 @@ void _test_testing_emit_event_with_struct(Eo *obj, EINA_UNUSED Test_Testing_Data
3744} 3744}
3745 3745
3746 3746
3747Efl_Object *_test_testing_efl_part_part(EINA_UNUSED const Eo *obj, Test_Testing_Data *pd, const char *name) 3747Efl_Object *_test_testing_efl_part_part_get(EINA_UNUSED const Eo *obj, Test_Testing_Data *pd, const char *name)
3748{ 3748{
3749 if (!strcmp(name, "part1")) 3749 if (!strcmp(name, "part1"))
3750 return pd->part1; 3750 return pd->part1;
diff --git a/src/tests/efl_mono/test_testing.eo b/src/tests/efl_mono/test_testing.eo
index 3b43168..26692ea 100644
--- a/src/tests/efl_mono/test_testing.eo
+++ b/src/tests/efl_mono/test_testing.eo
@@ -1646,7 +1646,7 @@ class Test.Testing (Efl.Object, Efl.Part) {
1646 class.constructor; 1646 class.constructor;
1647 class.destructor; 1647 class.destructor;
1648 Efl.Object.constructor; 1648 Efl.Object.constructor;
1649 Efl.Part.part; 1649 Efl.Part.part_get;
1650 } 1650 }
1651 events { 1651 events {
1652 evt,with,string @hot: string; 1652 evt,with,string @hot: string;