summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-09-19 20:02:26 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-09-21 12:27:33 +0900
commit0339ad7740b169683990aa8ce0dbf7c9489ab505 (patch)
treeef61ff37735abba8cd0a8c6cb86fb310f5d66d27
parent1a854d892f83b6933d3523cf7d188215600df04d (diff)
downloadefl-0339ad7740b169683990aa8ce0dbf7c9489ab505.tar.gz
elm: Move base implementation for efl_part in widget
This means that ALL part handles inherit from the base part class Efl.Ui.Widget.Part. Layout is the only exception where Efl.Part is specially overridden. This is a first step towards generic part APIs, including background in all widgets.
-rw-r--r--src/Makefile_Elementary.am1
-rw-r--r--src/lib/elementary/Elementary.h1
-rw-r--r--src/lib/elementary/efl_ui_button.c4
-rw-r--r--src/lib/elementary/efl_ui_flip.c8
-rw-r--r--src/lib/elementary/efl_ui_flip_part.eo5
-rw-r--r--src/lib/elementary/efl_ui_layout.c66
-rw-r--r--src/lib/elementary/efl_ui_layout_pack.c3
-rw-r--r--src/lib/elementary/efl_ui_layout_part.eo5
-rw-r--r--src/lib/elementary/efl_ui_panes.c18
-rw-r--r--src/lib/elementary/efl_ui_panes_part.eo2
-rw-r--r--src/lib/elementary/efl_ui_progressbar.c14
-rw-r--r--src/lib/elementary/efl_ui_progressbar_part.eo2
-rw-r--r--src/lib/elementary/efl_ui_slider.c14
-rw-r--r--src/lib/elementary/efl_ui_slider_part.eo2
-rw-r--r--src/lib/elementary/efl_ui_text.c6
-rw-r--r--src/lib/elementary/efl_ui_textpath.c6
-rw-r--r--src/lib/elementary/efl_ui_widget_part.eo9
-rw-r--r--src/lib/elementary/efl_ui_win.c71
-rw-r--r--src/lib/elementary/efl_ui_win_part.eo5
-rw-r--r--src/lib/elementary/elc_ctxpopup.c8
-rw-r--r--src/lib/elementary/elc_fileselector.c4
-rw-r--r--src/lib/elementary/elc_fileselector_entry.c12
-rw-r--r--src/lib/elementary/elc_multibuttonentry.c6
-rw-r--r--src/lib/elementary/elc_naviframe.c12
-rw-r--r--src/lib/elementary/elc_player.c4
-rw-r--r--src/lib/elementary/elc_popup.c12
-rw-r--r--src/lib/elementary/elm_actionslider.c6
-rw-r--r--src/lib/elementary/elm_bubble.c4
-rw-r--r--src/lib/elementary/elm_dayselector.c6
-rw-r--r--src/lib/elementary/elm_entry.c10
-rw-r--r--src/lib/elementary/elm_flip_part.eo2
-rw-r--r--src/lib/elementary/elm_hover.c8
-rw-r--r--src/lib/elementary/elm_label.c4
-rw-r--r--src/lib/elementary/elm_mapbuf.c8
-rw-r--r--src/lib/elementary/elm_mapbuf_part.eo5
-rw-r--r--src/lib/elementary/elm_notify.c12
-rw-r--r--src/lib/elementary/elm_notify_part.eo5
-rw-r--r--src/lib/elementary/elm_panel.c8
-rw-r--r--src/lib/elementary/elm_panel_part.eo5
-rw-r--r--src/lib/elementary/elm_part_helper.h129
-rw-r--r--src/lib/elementary/elm_scroller.c8
-rw-r--r--src/lib/elementary/elm_widget.c36
-rw-r--r--src/lib/elementary/elm_widget.eo3
43 files changed, 271 insertions, 288 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index a7f28742dd..f740538504 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -74,6 +74,7 @@ elm_public_eolian_files = \
lib/elementary/elm_view_form.eo \
lib/elementary/elm_web.eo \
lib/elementary/elm_widget.eo \
+ lib/elementary/efl_ui_widget_part.eo \
lib/elementary/efl_ui_win.eo \
lib/elementary/efl_ui_win_inlined.eo \
lib/elementary/efl_ui_win_socket.eo \
diff --git a/src/lib/elementary/Elementary.h b/src/lib/elementary/Elementary.h
index 61c7c9351f..6a7e3c83e4 100644
--- a/src/lib/elementary/Elementary.h
+++ b/src/lib/elementary/Elementary.h
@@ -264,6 +264,7 @@ EAPI extern Elm_Version *elm_version;
#ifdef EFL_EO_API_SUPPORT
# include <efl_config_global.eo.h>
+# include <efl_ui_widget_part.eo.h>
# include <efl_ui_box.eo.h>
# include <efl_ui_box_flow.eo.h>
# include <efl_ui_box_stack.eo.h>
diff --git a/src/lib/elementary/efl_ui_button.c b/src/lib/elementary/efl_ui_button.c
index 81b04e889c..d7322be42a 100644
--- a/src/lib/elementary/efl_ui_button.c
+++ b/src/lib/elementary/efl_ui_button.c
@@ -424,8 +424,8 @@ EFL_TEXT_PART_DEFAULT_IMPLEMENT(efl_ui_button, Efl_Ui_Button_Data)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(efl_ui_button, EFL_UI_BUTTON, EFL_UI_LAYOUT, Efl_Ui_Button_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_button, EFL_UI_BUTTON, EFL_UI_LAYOUT, Efl_Ui_Button_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(efl_ui_button, EFL_UI_BUTTON, Efl_Ui_Button_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_button, EFL_UI_BUTTON, Efl_Ui_Button_Data)
#include "efl_ui_button_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c
index 0f1b18eec2..a87e565c70 100644
--- a/src/lib/elementary/efl_ui_flip.c
+++ b/src/lib/elementary/efl_ui_flip.c
@@ -2398,10 +2398,10 @@ elm_flip_interaction_direction_enabled_get(Efl_Ui_Flip *obj, Elm_Flip_Direction
/* Efl.Part begin */
-ELM_PART_IMPLEMENT(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_SET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_GET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_UNSET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data)
ELM_PART_CONTENT_DEFAULT_SET(efl_ui_flip, "front")
#include "efl_ui_flip_part.eo.c"
diff --git a/src/lib/elementary/efl_ui_flip_part.eo b/src/lib/elementary/efl_ui_flip_part.eo
index 2edd41157a..7bec0b5c1d 100644
--- a/src/lib/elementary/efl_ui_flip_part.eo
+++ b/src/lib/elementary/efl_ui_flip_part.eo
@@ -1,9 +1,8 @@
-class Efl.Ui.Flip.Part (Efl.Object, Efl.Container)
+class Efl.Ui.Flip.Part (Efl.Ui.Widget.Part, Efl.Container)
{
[[Efl UI flip internal class]]
- data: Elm_Part_Data;
+ data: null;
implements {
- Efl.Object.destructor;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
}
diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c
index 9dc63b3aab..05a6e890c8 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -2474,13 +2474,11 @@ elm_layout_theme_set(Evas_Object *obj, const char *klass, const char *group, con
/* Efl.Part implementation */
-static EOLIAN Efl_Object *
+EOLIAN static Eo *
_efl_ui_layout_efl_part_part(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED,
- const char *part)
+ const char *part)
{
Edje_Part_Type type;
- Elm_Part_Data *pd;
- Eo *proxy;
EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
ELM_WIDGET_DATA_GET_OR_RETURN((Eo *) obj, wd, NULL);
@@ -2491,18 +2489,7 @@ _efl_ui_layout_efl_part_part(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED,
if ((type == EDJE_PART_TYPE_BOX) || (type == EDJE_PART_TYPE_TABLE))
return _efl_ui_layout_pack_proxy_get((Eo *) obj, type, part);
- // Generic parts (text, anything, ...)
- proxy = efl_add(EFL_UI_LAYOUT_PART_CLASS, (Eo *) obj);
- pd = efl_data_scope_get(proxy, EFL_UI_LAYOUT_PART_CLASS);
- if (pd)
- {
- pd->obj = (Eo *) obj;
- pd->sd = efl_data_xref(pd->obj, EFL_UI_LAYOUT_CLASS, proxy);
- pd->part = strdup(part);
- pd->temp = 1;
- }
-
- return proxy;
+ ELM_PART_OVERRIDE_IMPLEMENT(EFL_UI_LAYOUT);
}
static const char *
@@ -2524,47 +2511,58 @@ _efl_ui_layout_default_text_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_
}
EOLIAN static Eina_Bool
-_efl_ui_layout_part_efl_ui_cursor_cursor_set(Eo *obj, Elm_Part_Data *pd, const char *cursor)
+_efl_ui_layout_part_efl_ui_cursor_cursor_set(Eo *obj, void *_pd EINA_UNUSED, const char *cursor)
{
- ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_set(pd->sd, pd->part, cursor));
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+ ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_set(sd, pd->part, cursor));
}
EOLIAN static const char *
-_efl_ui_layout_part_efl_ui_cursor_cursor_get(Eo *obj, Elm_Part_Data *pd)
+_efl_ui_layout_part_efl_ui_cursor_cursor_get(Eo *obj, void *_pd EINA_UNUSED)
{
- ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_get(pd->sd, pd->part));
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+ ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_get(sd, pd->part));
}
EOLIAN static Eina_Bool
-_efl_ui_layout_part_efl_ui_cursor_cursor_style_set(Eo *obj, Elm_Part_Data *pd, const char *style)
+_efl_ui_layout_part_efl_ui_cursor_cursor_style_set(Eo *obj, void *_pd EINA_UNUSED, const char *style)
{
- ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_style_set(pd->sd, pd->part, style));
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+ ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_style_set(sd, pd->part, style));
}
EOLIAN static const char *
-_efl_ui_layout_part_efl_ui_cursor_cursor_style_get(Eo *obj, Elm_Part_Data *pd)
+_efl_ui_layout_part_efl_ui_cursor_cursor_style_get(Eo *obj, void *_pd EINA_UNUSED)
{
- ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_style_get(pd->sd, pd->part));
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+ ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_style_get(sd, pd->part));
}
EOLIAN static Eina_Bool
-_efl_ui_layout_part_efl_ui_cursor_cursor_theme_search_enabled_set(Eo *obj, Elm_Part_Data *pd, Eina_Bool allow)
+_efl_ui_layout_part_efl_ui_cursor_cursor_theme_search_enabled_set(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool allow)
{
- ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_engine_only_set(pd->sd, pd->part, !allow));
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+ ELM_PART_RETURN_VAL(_efl_ui_layout_part_cursor_engine_only_set(sd, pd->part, !allow));
}
EOLIAN static Eina_Bool
-_efl_ui_layout_part_efl_ui_cursor_cursor_theme_search_enabled_get(Eo *obj, Elm_Part_Data *pd)
+_efl_ui_layout_part_efl_ui_cursor_cursor_theme_search_enabled_get(Eo *obj, void *_pd EINA_UNUSED)
{
- ELM_PART_RETURN_VAL(!_efl_ui_layout_part_cursor_engine_only_get(pd->sd, pd->part));
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+ ELM_PART_RETURN_VAL(!_efl_ui_layout_part_cursor_engine_only_get(sd, pd->part));
}
-ELM_PART_IMPLEMENT_DESTRUCTOR(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_SET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_GET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_UNSET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_TEXT_SET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_TEXT_GET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
+ELM_PART_OVERRIDE_TEXT_SET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
+ELM_PART_OVERRIDE_TEXT_GET(efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
#include "efl_ui_layout_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/efl_ui_layout_pack.c b/src/lib/elementary/efl_ui_layout_pack.c
index b77ebf7333..234ae5ad8a 100644
--- a/src/lib/elementary/efl_ui_layout_pack.c
+++ b/src/lib/elementary/efl_ui_layout_pack.c
@@ -210,8 +210,7 @@ _efl_ui_layout_part_box_efl_pack_linear_pack_after(Eo *obj EINA_UNUSED, Efl_Ui_L
if (other)
ELM_PART_RETURN_VAL(_efl_ui_layout_box_insert_before(pd->obj, pd->sd, pd->part, subobj, other));
- ELM_PART_CALL(efl_pack_end(obj, subobj));
- ELM_PART_RETURN_VAL(EINA_TRUE);
+ ELM_PART_RETURN_VAL(efl_pack_end(obj, subobj));
}
EOLIAN static Eina_Bool
diff --git a/src/lib/elementary/efl_ui_layout_part.eo b/src/lib/elementary/efl_ui_layout_part.eo
index dd075c209d..4903679e8a 100644
--- a/src/lib/elementary/efl_ui_layout_part.eo
+++ b/src/lib/elementary/efl_ui_layout_part.eo
@@ -1,9 +1,8 @@
-class Efl.Ui.Layout.Part (Efl.Object, Efl.Container, Efl.Text, Efl.Ui.Cursor)
+class Efl.Ui.Layout.Part (Efl.Ui.Widget.Part, Efl.Container, Efl.Text, Efl.Ui.Cursor)
{
[[Elementary layout internal part class]]
- data: Elm_Part_Data;
+ data: null;
implements {
- Efl.Object.destructor;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Text.text { set; get; }
diff --git a/src/lib/elementary/efl_ui_panes.c b/src/lib/elementary/efl_ui_panes.c
index d0f955df39..1dc0c60d03 100644
--- a/src/lib/elementary/efl_ui_panes.c
+++ b/src/lib/elementary/efl_ui_panes.c
@@ -531,12 +531,12 @@ _efl_ui_panes_class_constructor(Efl_Class *klass)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(efl_ui_panes, EFL_UI_PANES, EFL_UI_LAYOUT, Efl_Ui_Panes_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(efl_ui_panes, EFL_UI_PANES, Efl_Ui_Panes_Data)
EOLIAN static void
-_efl_ui_panes_part_hint_min_allow_set(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED, Eina_Bool allow)
+_efl_ui_panes_part_hint_min_allow_set(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool allow)
{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Panes_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PANES_CLASS);
if (!strcmp(pd->part, "first"))
@@ -554,10 +554,10 @@ _efl_ui_panes_part_hint_min_allow_set(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED, E
}
EOLIAN static Eina_Bool
-_efl_ui_panes_part_hint_min_allow_get(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED)
+_efl_ui_panes_part_hint_min_allow_get(Eo *obj, void *_pd EINA_UNUSED)
{
Eina_Bool ret = EINA_FALSE;
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Panes_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PANES_CLASS);
if (!strcmp(pd->part, "first"))
@@ -573,9 +573,9 @@ _efl_ui_panes_part_hint_min_allow_get(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED)
}
EOLIAN static double
-_efl_ui_panes_part_split_ratio_min_get(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED)
+_efl_ui_panes_part_split_ratio_min_get(Eo *obj, void *_pd EINA_UNUSED)
{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Panes_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PANES_CLASS);
double ret = 0.0;
@@ -588,9 +588,9 @@ _efl_ui_panes_part_split_ratio_min_get(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED)
}
EOLIAN static void
-_efl_ui_panes_part_split_ratio_min_set(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED, double ratio)
+_efl_ui_panes_part_split_ratio_min_set(Eo *obj, void *_pd EINA_UNUSED, double ratio)
{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Panes_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PANES_CLASS);
if (!strcmp(pd->part, "first"))
diff --git a/src/lib/elementary/efl_ui_panes_part.eo b/src/lib/elementary/efl_ui_panes_part.eo
index 23cc3d0b24..9630c68744 100644
--- a/src/lib/elementary/efl_ui_panes_part.eo
+++ b/src/lib/elementary/efl_ui_panes_part.eo
@@ -1,7 +1,7 @@
class Efl.Ui.Panes.Part (Efl.Ui.Layout.Part)
{
[[Elementary Panes internal part class]]
- data: Elm_Part_Data;
+ data: null;
methods {
@property hint_min_allow {
[[Allow user to set size hints to be respected and ignore combined
diff --git a/src/lib/elementary/efl_ui_progressbar.c b/src/lib/elementary/efl_ui_progressbar.c
index 7e0291183e..af235a4e74 100644
--- a/src/lib/elementary/efl_ui_progressbar.c
+++ b/src/lib/elementary/efl_ui_progressbar.c
@@ -641,29 +641,29 @@ _efl_ui_progressbar_class_constructor(Efl_Class *klass)
}
/* Efl.Part begin */
-ELM_PART_OVERRIDE(efl_ui_progressbar, EFL_UI_PROGRESSBAR, EFL_UI_LAYOUT, Efl_Ui_Progressbar_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(efl_ui_progressbar, EFL_UI_PROGRESSBAR, Efl_Ui_Progressbar_Data)
static EOLIAN Eina_Bool
-_efl_ui_progressbar_part_efl_container_content_set(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED, Efl_Gfx *content)
+_efl_ui_progressbar_part_efl_container_content_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx *content)
{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Progressbar_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PROGRESSBAR_CLASS);
ELM_PART_RETURN_VAL(_efl_ui_progressbar_content_set(pd->obj, sd, pd->part, content));
}
EOLIAN static void
-_efl_ui_progressbar_part_efl_ui_range_range_value_set(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED, double val)
+_efl_ui_progressbar_part_efl_ui_range_range_value_set(Eo *obj, void *_pd EINA_UNUSED, double val)
{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Progressbar_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PROGRESSBAR_CLASS);
_progressbar_part_value_set(pd->obj, sd, pd->part, val);
}
EOLIAN static double
-_efl_ui_progressbar_part_efl_ui_range_range_value_get(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED)
+_efl_ui_progressbar_part_efl_ui_range_range_value_get(Eo *obj, void *_pd EINA_UNUSED)
{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Progressbar_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PROGRESSBAR_CLASS);
return _progressbar_part_value_get(sd, pd->part);
diff --git a/src/lib/elementary/efl_ui_progressbar_part.eo b/src/lib/elementary/efl_ui_progressbar_part.eo
index 17051547a0..2263a6a73a 100644
--- a/src/lib/elementary/efl_ui_progressbar_part.eo
+++ b/src/lib/elementary/efl_ui_progressbar_part.eo
@@ -1,7 +1,7 @@
class Efl.Ui.Progressbar.Part (Efl.Ui.Layout.Part, Efl.Ui.Range)
{
[[Elementary progressbar internal part class]]
- data: Elm_Part_Data;
+ data: null;
implements {
Efl.Container.content { set; }
Efl.Ui.Range.range_value { set; get; }
diff --git a/src/lib/elementary/efl_ui_slider.c b/src/lib/elementary/efl_ui_slider.c
index 3dd617ff90..409fbe2398 100644
--- a/src/lib/elementary/efl_ui_slider.c
+++ b/src/lib/elementary/efl_ui_slider.c
@@ -1510,7 +1510,7 @@ _efl_ui_slider_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UN
EFL_TEXT_PART_DEFAULT_IMPLEMENT(efl_ui_slider, Efl_Ui_Slider_Data)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(efl_ui_slider, EFL_UI_SLIDER, EFL_UI_LAYOUT, Efl_Ui_Slider_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(efl_ui_slider, EFL_UI_SLIDER, Efl_Ui_Slider_Data)
static Eina_Bool
_efl_ui_slider_content_set(Eo *obj, Efl_Ui_Slider_Data *_pd EINA_UNUSED, const char *part, Evas_Object *content)
@@ -1524,9 +1524,9 @@ _efl_ui_slider_content_set(Eo *obj, Efl_Ui_Slider_Data *_pd EINA_UNUSED, const c
}
static EOLIAN Eina_Bool
-_efl_ui_slider_part_efl_container_content_set(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED, Efl_Gfx *content)
+_efl_ui_slider_part_efl_container_content_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx *content)
{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Slider_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_SLIDER_CLASS);
ELM_PART_RETURN_VAL(_efl_ui_slider_content_set(pd->obj, sd, pd->part, content));
}
@@ -1565,18 +1565,18 @@ _span_size_set(Eo *obj, Efl_Ui_Slider_Data *sd, int w, int h)
}
EOLIAN void
-_efl_ui_slider_part_efl_gfx_size_hint_hint_min_set(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED, Eina_Size2D sz)
+_efl_ui_slider_part_efl_gfx_size_hint_hint_min_set(Eo *obj, void *_pd EINA_UNUSED, Eina_Size2D sz)
{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Slider_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_SLIDER_CLASS);
_span_size_set(pd->obj, sd, sz.w, sz.h);
}
EOLIAN Eina_Size2D
-_efl_ui_slider_part_efl_gfx_size_hint_hint_min_get(Eo *obj, Elm_Part_Data *_pd EINA_UNUSED)
+_efl_ui_slider_part_efl_gfx_size_hint_hint_min_get(Eo *obj, void *_pd EINA_UNUSED)
{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_LAYOUT_PART_CLASS);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Slider_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_SLIDER_CLASS);
if (_is_horizontal(sd->dir))
diff --git a/src/lib/elementary/efl_ui_slider_part.eo b/src/lib/elementary/efl_ui_slider_part.eo
index 0496ff2717..d7b58ddf18 100644
--- a/src/lib/elementary/efl_ui_slider_part.eo
+++ b/src/lib/elementary/efl_ui_slider_part.eo
@@ -1,7 +1,7 @@
class Efl.Ui.Slider.Part (Efl.Ui.Layout.Part, Efl.Gfx.Size.Hint)
{
[[Elementary slider internal part class]]
- data: Elm_Part_Data;
+ data: null;
implements {
Efl.Container.content { set; }
Efl.Gfx.Size.Hint.hint_min { set; get; }
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index 353b39207d..2f1232a9b4 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -5388,9 +5388,9 @@ _efl_ui_text_move_cb(void *data, Evas *e EINA_UNUSED,
#if 0
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_entry, EFL_UI_TEXT, EFL_UI_LAYOUT, Efl_Ui_Text_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_entry, EFL_UI_TEXT, EFL_UI_LAYOUT, Efl_Ui_Text_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_entry, EFL_UI_TEXT, EFL_UI_LAYOUT, Efl_Ui_Text_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_entry, EFL_UI_TEXT, Efl_Ui_Text_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_entry, EFL_UI_TEXT, Efl_Ui_Text_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_entry, EFL_UI_TEXT, Efl_Ui_Text_Data)
#include "elm_entry_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/efl_ui_textpath.c b/src/lib/elementary/efl_ui_textpath.c
index 10ccdf1fe9..22883f2d01 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -654,9 +654,9 @@ _efl_ui_textpath_ellipsis_get(Eo *obj EINA_UNUSED, Efl_Ui_Textpath_Data *pd)
}
/* Efl.Part begin */
-ELM_PART_OVERRIDE(efl_ui_textpath, EFL_UI_TEXTPATH, EFL_UI_LAYOUT, Efl_Ui_Textpath_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(efl_ui_textpath, EFL_UI_TEXTPATH, EFL_UI_LAYOUT, Efl_Ui_Textpath_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_GET(efl_ui_textpath, EFL_UI_TEXTPATH, EFL_UI_LAYOUT, Efl_Ui_Textpath_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(efl_ui_textpath, EFL_UI_TEXTPATH, Efl_Ui_Textpath_Data)
+ELM_PART_OVERRIDE_TEXT_SET(efl_ui_textpath, EFL_UI_TEXTPATH, Efl_Ui_Textpath_Data)
+ELM_PART_OVERRIDE_TEXT_GET(efl_ui_textpath, EFL_UI_TEXTPATH, Efl_Ui_Textpath_Data)
#include "efl_ui_textpath_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/efl_ui_widget_part.eo b/src/lib/elementary/efl_ui_widget_part.eo
new file mode 100644
index 0000000000..e848686b5b
--- /dev/null
+++ b/src/lib/elementary/efl_ui_widget_part.eo
@@ -0,0 +1,9 @@
+class Efl.Ui.Widget.Part (Efl.Object)
+{
+ data: Elm_Part_Data;
+ methods {
+ }
+ implements {
+ Efl.Object.destructor;
+ }
+}
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index d7dab7c39d..3d6abd8483 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -6994,60 +6994,71 @@ _efl_ui_win_part_file_get(Eo *obj, Efl_Ui_Win_Data *sd, const char *part, const
return EINA_FALSE;
}
-/* Efl.Part begin */
+/* Default content */
-static void
-_efl_ui_win_part_efl_gfx_color_set(Eo *obj, Elm_Part_Data *pd, int r, int g, int b, int a)
+EOLIAN static Eina_Bool
+_efl_ui_win_efl_container_content_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Object *content)
{
- if (EVAS_COLOR_SANITIZE(r, g, b, a))
- ERR("Evas only handles premultiplied colors (0 <= R,G,B <= A <= 255)");
-
- _efl_ui_win_part_color_set(pd->obj, pd->sd, pd->part, r, g, b, a);
- ELM_PART_RETURN_VOID;
+ return _efl_ui_win_content_set(obj, sd, "content", content);
}
-static void
-_efl_ui_win_part_efl_gfx_color_get(Eo *obj, Elm_Part_Data *pd, int *r, int *g, int *b, int *a)
+EOLIAN static Evas_Object*
+_efl_ui_win_efl_container_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd)
{
- _efl_ui_win_part_color_get(pd->obj, pd->sd, pd->part, r, g, b, a);
- ELM_PART_RETURN_VOID;
+ return _efl_ui_win_content_get(obj, sd, "content");
}
-static Eina_Bool
-_efl_ui_win_part_efl_file_file_set(Eo *obj, Elm_Part_Data *pd, const char *file, const char *key)
+EOLIAN static Evas_Object*
+_efl_ui_win_efl_container_content_unset(Eo *obj, Efl_Ui_Win_Data *sd)
{
- ELM_PART_RETURN_VAL(_efl_ui_win_part_file_set(pd->obj, pd->sd, pd->part, file, key));
+ return _efl_ui_win_content_unset(obj, sd, "content");
}
+/* Efl.Part begin */
+
static void
-_efl_ui_win_part_efl_file_file_get(Eo *obj, Elm_Part_Data *pd, const char **file, const char **key)
+_efl_ui_win_part_efl_gfx_color_set(Eo *obj, void *_pd EINA_UNUSED, int r, int g, int b, int a)
{
- _efl_ui_win_part_file_get(pd->obj, pd->sd, pd->part, file, key);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Win_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+
+ if (EVAS_COLOR_SANITIZE(r, g, b, a))
+ ERR("Evas only handles premultiplied colors (0 <= R,G,B <= A <= 255)");
+
+ _efl_ui_win_part_color_set(pd->obj, sd, pd->part, r, g, b, a);
ELM_PART_RETURN_VOID;
}
-EOLIAN static Eina_Bool
-_efl_ui_win_efl_container_content_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Object *content)
+static void
+_efl_ui_win_part_efl_gfx_color_get(Eo *obj, void *_pd EINA_UNUSED, int *r, int *g, int *b, int *a)
{
- return _efl_ui_win_content_set(obj, sd, "content", content);
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Win_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+ _efl_ui_win_part_color_get(pd->obj, sd, pd->part, r, g, b, a);
+ ELM_PART_RETURN_VOID;
}
-EOLIAN static Evas_Object*
-_efl_ui_win_efl_container_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd)
+static Eina_Bool
+_efl_ui_win_part_efl_file_file_set(Eo *obj, void *_pd EINA_UNUSED, const char *file, const char *key)
{
- return _efl_ui_win_content_get(obj, sd, "content");
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Win_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+ ELM_PART_RETURN_VAL(_efl_ui_win_part_file_set(pd->obj, sd, pd->part, file, key));
}
-EOLIAN static Evas_Object*
-_efl_ui_win_efl_container_content_unset(Eo *obj, Efl_Ui_Win_Data *sd)
+static void
+_efl_ui_win_part_efl_file_file_get(Eo *obj, void *_pd EINA_UNUSED, const char **file, const char **key)
{
- return _efl_ui_win_content_unset(obj, sd, "content");
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+ Efl_Ui_Win_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
+ _efl_ui_win_part_file_get(pd->obj, sd, pd->part, file, key);
+ ELM_PART_RETURN_VOID;
}
-ELM_PART_IMPLEMENT(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_SET(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_GET(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_UNSET(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data)
ELM_PART_CONTENT_DEFAULT_SET(efl_ui_win, "content")
#include "efl_ui_win_part.eo.c"
diff --git a/src/lib/elementary/efl_ui_win_part.eo b/src/lib/elementary/efl_ui_win_part.eo
index e5d4b4daba..0086690fe7 100644
--- a/src/lib/elementary/efl_ui_win_part.eo
+++ b/src/lib/elementary/efl_ui_win_part.eo
@@ -1,9 +1,8 @@
-class Efl.Ui.Win.Part (Efl.Object, Efl.Container, Efl.Gfx, Efl.File)
+class Efl.Ui.Win.Part (Efl.Ui.Widget.Part, Efl.Container, Efl.Gfx, Efl.File)
{
[[Efl UI window interal part class]]
- data: Elm_Part_Data;
+ data: null;
implements {
- Efl.Object.destructor;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Gfx.color { get; set; }
diff --git a/src/lib/elementary/elc_ctxpopup.c b/src/lib/elementary/elc_ctxpopup.c
index 553d526b79..709b0579ce 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -1636,10 +1636,10 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_ctxpopup, Elm_Ctxpopup_Data)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_ctxpopup, ELM_CTXPOPUP, EFL_UI_LAYOUT, Elm_Ctxpopup_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_ctxpopup, ELM_CTXPOPUP, EFL_UI_LAYOUT, Elm_Ctxpopup_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_GET(elm_ctxpopup, ELM_CTXPOPUP, EFL_UI_LAYOUT, Elm_Ctxpopup_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_ctxpopup, ELM_CTXPOPUP, EFL_UI_LAYOUT, Elm_Ctxpopup_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_ctxpopup, ELM_CTXPOPUP, Elm_Ctxpopup_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_ctxpopup, ELM_CTXPOPUP, Elm_Ctxpopup_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(elm_ctxpopup, ELM_CTXPOPUP, Elm_Ctxpopup_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_ctxpopup, ELM_CTXPOPUP, Elm_Ctxpopup_Data)
ELM_PART_CONTENT_DEFAULT_SET(elm_ctxpopup, "default")
#include "elm_ctxpopup_part.eo.c"
diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c
index 900da0ac15..4b4dda5f9b 100644
--- a/src/lib/elementary/elc_fileselector.c
+++ b/src/lib/elementary/elc_fileselector.c
@@ -3223,8 +3223,8 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_fileselector, Elm_Fileselector_Data)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_fileselector, ELM_FILESELECTOR, EFL_UI_LAYOUT, Elm_Fileselector_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(elm_fileselector, ELM_FILESELECTOR, EFL_UI_LAYOUT, Elm_Fileselector_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_fileselector, ELM_FILESELECTOR, Elm_Fileselector_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_fileselector, ELM_FILESELECTOR, Elm_Fileselector_Data)
#include "elm_fileselector_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/elc_fileselector_entry.c b/src/lib/elementary/elc_fileselector_entry.c
index 906e5f619e..886767e5ff 100644
--- a/src/lib/elementary/elc_fileselector_entry.c
+++ b/src/lib/elementary/elc_fileselector_entry.c
@@ -670,12 +670,12 @@ _elm_fileselector_entry_class_constructor(Efl_Class *klass)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, EFL_UI_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, EFL_UI_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_GET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, EFL_UI_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, EFL_UI_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, EFL_UI_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_GET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, EFL_UI_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, Elm_Fileselector_Entry_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, Elm_Fileselector_Entry_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, Elm_Fileselector_Entry_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, Elm_Fileselector_Entry_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, Elm_Fileselector_Entry_Data)
+ELM_PART_OVERRIDE_TEXT_GET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, Elm_Fileselector_Entry_Data)
ELM_PART_CONTENT_DEFAULT_SET(elm_fileselector_entry, "button icon")
#include "elm_fileselector_entry_part.eo.c"
diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c
index 6e9cb567cd..1da8df6191 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -2137,9 +2137,9 @@ _elm_multibuttonentry_item_elm_interface_atspi_widget_action_elm_actions_get(Eo
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, EFL_UI_LAYOUT, Elm_Multibuttonentry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, EFL_UI_LAYOUT, Elm_Multibuttonentry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_GET(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, EFL_UI_LAYOUT, Elm_Multibuttonentry_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, Elm_Multibuttonentry_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, Elm_Multibuttonentry_Data)
+ELM_PART_OVERRIDE_TEXT_GET(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, Elm_Multibuttonentry_Data)
#include "elm_multibuttonentry_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c
index c379c5a993..e9a39e4aa2 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -2099,12 +2099,12 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_naviframe, Elm_Naviframe_Data)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_naviframe, ELM_NAVIFRAME, EFL_UI_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_naviframe, ELM_NAVIFRAME, EFL_UI_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_GET(elm_naviframe, ELM_NAVIFRAME, EFL_UI_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_naviframe, ELM_NAVIFRAME, EFL_UI_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(elm_naviframe, ELM_NAVIFRAME, EFL_UI_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_GET(elm_naviframe, ELM_NAVIFRAME, EFL_UI_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_naviframe, ELM_NAVIFRAME, Elm_Naviframe_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_naviframe, ELM_NAVIFRAME, Elm_Naviframe_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(elm_naviframe, ELM_NAVIFRAME, Elm_Naviframe_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_naviframe, ELM_NAVIFRAME, Elm_Naviframe_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_naviframe, ELM_NAVIFRAME, Elm_Naviframe_Data)
+ELM_PART_OVERRIDE_TEXT_GET(elm_naviframe, ELM_NAVIFRAME, Elm_Naviframe_Data)
#include "elm_naviframe_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/elc_player.c b/src/lib/elementary/elc_player.c
index 04613a7a01..ac6d35ed17 100644
--- a/src/lib/elementary/elc_player.c
+++ b/src/lib/elementary/elc_player.c
@@ -696,8 +696,8 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_player, Elm_Player_Data)
/* Efl.Part implementation */
-ELM_PART_OVERRIDE(elm_player, ELM_PLAYER, EFL_UI_LAYOUT, Elm_Player_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_player, ELM_PLAYER, EFL_UI_LAYOUT, Elm_Player_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_player, ELM_PLAYER, Elm_Player_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_player, ELM_PLAYER, Elm_Player_Data)
ELM_PART_CONTENT_DEFAULT_SET(elm_player, "video")
#include "elm_player_part.eo.c"
diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index b0478f9608..f7d6f9deb3 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -1917,12 +1917,12 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_popup, Elm_Popup_Data)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_popup, ELM_POPUP, EFL_UI_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_popup, ELM_POPUP, EFL_UI_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_GET(elm_popup, ELM_POPUP, EFL_UI_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_popup, ELM_POPUP, EFL_UI_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(elm_popup, ELM_POPUP, EFL_UI_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_GET(elm_popup, ELM_POPUP, EFL_UI_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_popup, ELM_POPUP, Elm_Popup_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_popup, ELM_POPUP, Elm_Popup_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(elm_popup, ELM_POPUP, Elm_Popup_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_popup, ELM_POPUP, Elm_Popup_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_popup, ELM_POPUP, Elm_Popup_Data)
+ELM_PART_OVERRIDE_TEXT_GET(elm_popup, ELM_POPUP, Elm_Popup_Data)
ELM_PART_CONTENT_DEFAULT_SET(elm_popup, "default")
#include "elm_popup_part.eo.c"
diff --git a/src/lib/elementary/elm_actionslider.c b/src/lib/elementary/elm_actionslider.c
index 414bf2ebab..f7e94e002e 100644
--- a/src/lib/elementary/elm_actionslider.c
+++ b/src/lib/elementary/elm_actionslider.c
@@ -659,9 +659,9 @@ _elm_actionslider_class_constructor(Efl_Class *klass)
}
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_actionslider, ELM_ACTIONSLIDER, EFL_UI_LAYOUT, Elm_Actionslider_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(elm_actionslider, ELM_ACTIONSLIDER, EFL_UI_LAYOUT, Elm_Actionslider_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_GET(elm_actionslider, ELM_ACTIONSLIDER, EFL_UI_LAYOUT, Elm_Actionslider_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_actionslider, ELM_ACTIONSLIDER, Elm_Actionslider_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_actionslider, ELM_ACTIONSLIDER, Elm_Actionslider_Data)
+ELM_PART_OVERRIDE_TEXT_GET(elm_actionslider, ELM_ACTIONSLIDER, Elm_Actionslider_Data)
#include "elm_actionslider_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/elm_bubble.c b/src/lib/elementary/elm_bubble.c
index 84eb857371..a39aa3d000 100644
--- a/src/lib/elementary/elm_bubble.c
+++ b/src/lib/elementary/elm_bubble.c
@@ -281,8 +281,8 @@ _elm_bubble_class_constructor(Efl_Class *klass)
}
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_bubble, ELM_BUBBLE, EFL_UI_LAYOUT, Elm_Bubble_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(elm_bubble, ELM_BUBBLE, EFL_UI_LAYOUT, Elm_Bubble_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_bubble, ELM_BUBBLE, Elm_Bubble_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_bubble, ELM_BUBBLE, Elm_Bubble_Data)
#include "elm_bubble_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/elm_dayselector.c b/src/lib/elementary/elm_dayselector.c
index e48bbb0cec..3f20da3b74 100644
--- a/src/lib/elementary/elm_dayselector.c
+++ b/src/lib/elementary/elm_dayselector.c
@@ -607,9 +607,9 @@ _elm_dayselector_class_constructor(Efl_Class *klass)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_dayselector, ELM_DAYSELECTOR, EFL_UI_LAYOUT, Elm_Dayselector_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_dayselector, ELM_DAYSELECTOR, EFL_UI_LAYOUT, Elm_Dayselector_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_dayselector, ELM_DAYSELECTOR, EFL_UI_LAYOUT, Elm_Dayselector_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_dayselector, ELM_DAYSELECTOR, Elm_Dayselector_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_dayselector, ELM_DAYSELECTOR, Elm_Dayselector_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_dayselector, ELM_DAYSELECTOR, Elm_Dayselector_Data)
#include "elm_dayselector_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index a1a6896c3b..0dbe98b9a5 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -6049,11 +6049,11 @@ _elm_entry_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Entry_Data *sd)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_entry, ELM_ENTRY, EFL_UI_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_entry, ELM_ENTRY, EFL_UI_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_entry, ELM_ENTRY, EFL_UI_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(elm_entry, ELM_ENTRY, EFL_UI_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_GET(elm_entry, ELM_ENTRY, EFL_UI_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_entry, ELM_ENTRY, Elm_Entry_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_entry, ELM_ENTRY, Elm_Entry_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_entry, ELM_ENTRY, Elm_Entry_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_entry, ELM_ENTRY, Elm_Entry_Data)
+ELM_PART_OVERRIDE_TEXT_GET(elm_entry, ELM_ENTRY, Elm_Entry_Data)
ELM_PART_CONTENT_DEFAULT_SET(elm_entry, "icon")
#include "elm_entry_part.eo.c"
diff --git a/src/lib/elementary/elm_flip_part.eo b/src/lib/elementary/elm_flip_part.eo
index 037f59c0b1..9e5c1e8495 100644
--- a/src/lib/elementary/elm_flip_part.eo
+++ b/src/lib/elementary/elm_flip_part.eo
@@ -1,7 +1,7 @@
class Elm.Flip.Part (Efl.Object, Efl.Container)
{
[[Elementary flip internal part class]]
- data: Elm_Part_Data;
+ data: null;
implements {
Efl.Object.destructor;
Efl.Container.content { get; set; }
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c
index ab516e4d30..0e8f85820a 100644
--- a/src/lib/elementary/elm_hover.c
+++ b/src/lib/elementary/elm_hover.c
@@ -892,10 +892,10 @@ _elm_hover_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_hover, ELM_HOVER, EFL_UI_LAYOUT, Elm_Hover_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_hover, ELM_HOVER, EFL_UI_LAYOUT, Elm_Hover_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_GET(elm_hover, ELM_HOVER, EFL_UI_LAYOUT, Elm_Hover_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_hover, ELM_HOVER, EFL_UI_LAYOUT, Elm_Hover_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_hover, ELM_HOVER, Elm_Hover_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_hover, ELM_HOVER, Elm_Hover_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(elm_hover, ELM_HOVER, Elm_Hover_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_hover, ELM_HOVER, Elm_Hover_Data)
#include "elm_hover_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c
index 8c619e3e99..891e1d2fd8 100644
--- a/src/lib/elementary/elm_label.c
+++ b/src/lib/elementary/elm_label.c
@@ -634,8 +634,8 @@ _elm_label_class_constructor(Efl_Class *klass)
}
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_label, ELM_LABEL, EFL_UI_LAYOUT, Elm_Label_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_TEXT_SET(elm_label, ELM_LABEL, EFL_UI_LAYOUT, Elm_Label_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_label, ELM_LABEL, Elm_Label_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_label, ELM_LABEL, Elm_Label_Data)
#include "elm_label_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c
index 64b69a705b..45d5caad6f 100644
--- a/src/lib/elementary/elm_mapbuf.c
+++ b/src/lib/elementary/elm_mapbuf.c
@@ -441,10 +441,10 @@ _elm_mapbuf_class_constructor(Efl_Class *klass)
/* Efl.Part begin */
-ELM_PART_IMPLEMENT(elm_mapbuf, ELM_MAPBUF, Elm_Mapbuf_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_SET(elm_mapbuf, ELM_MAPBUF, Elm_Mapbuf_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_GET(elm_mapbuf, ELM_MAPBUF, Elm_Mapbuf_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_mapbuf, ELM_MAPBUF, Elm_Mapbuf_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_mapbuf, ELM_MAPBUF, Elm_Mapbuf_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_mapbuf, ELM_MAPBUF, Elm_Mapbuf_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(elm_mapbuf, ELM_MAPBUF, Elm_Mapbuf_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_mapbuf, ELM_MAPBUF, Elm_Mapbuf_Data)
ELM_PART_CONTENT_DEFAULT_SET(elm_mapbuf, "default")
#include "elm_mapbuf_part.eo.c"
diff --git a/src/lib/elementary/elm_mapbuf_part.eo b/src/lib/elementary/elm_mapbuf_part.eo
index d9b411994a..1242de5be8 100644
--- a/src/lib/elementary/elm_mapbuf_part.eo
+++ b/src/lib/elementary/elm_mapbuf_part.eo
@@ -1,9 +1,8 @@
-class Elm.Mapbuf.Part (Efl.Object, Efl.Container)
+class Elm.Mapbuf.Part (Efl.Ui.Widget.Part, Efl.Container)
{
[[Elementary mapbuf internal part class]]
- data: Elm_Part_Data;
+ data: null;
implements {
- Efl.Object.destructor;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
}
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c
index a2805fa377..f4f97dcd01 100644
--- a/src/lib/elementary/elm_notify.c
+++ b/src/lib/elementary/elm_notify.c
@@ -740,12 +740,12 @@ _elm_notify_class_constructor(Efl_Class *klass)
/* Efl.Part begin */
-ELM_PART_IMPLEMENT(elm_notify, ELM_NOTIFY, Elm_Notify_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_TEXT_SET(elm_notify, ELM_NOTIFY, Elm_Notify_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_TEXT_GET(elm_notify, ELM_NOTIFY, Elm_Notify_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_SET(elm_notify, ELM_NOTIFY, Elm_Notify_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_GET(elm_notify, ELM_NOTIFY, Elm_Notify_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_notify, ELM_NOTIFY, Elm_Notify_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_notify, ELM_NOTIFY, Elm_Notify_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_notify, ELM_NOTIFY, Elm_Notify_Data)
+ELM_PART_OVERRIDE_TEXT_GET(elm_notify, ELM_NOTIFY, Elm_Notify_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_notify, ELM_NOTIFY, Elm_Notify_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(elm_notify, ELM_NOTIFY, Elm_Notify_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_notify, ELM_NOTIFY, Elm_Notify_Data)
ELM_PART_CONTENT_DEFAULT_SET(elm_notify, "default")
#include "elm_notify_part.eo.c"
diff --git a/src/lib/elementary/elm_notify_part.eo b/src/lib/elementary/elm_notify_part.eo
index 17662e3e9f..536d3b1cb1 100644
--- a/src/lib/elementary/elm_notify_part.eo
+++ b/src/lib/elementary/elm_notify_part.eo
@@ -1,9 +1,8 @@
-class Elm.Notify.Part (Efl.Object, Efl.Container, Efl.Text)
+class Elm.Notify.Part (Efl.Ui.Widget.Part, Efl.Container, Efl.Text)
{
[[Elementary notification internel part class]]
- data: Elm_Part_Data;
+ data: null;
implements {
- Efl.Object.destructor;
Efl.Text.text { get; set; }
Efl.Container.content { get; set; }
Efl.Container.content_unset;
diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c
index bf9f75ba1d..55ee1fe107 100644
--- a/src/lib/elementary/elm_panel.c
+++ b/src/lib/elementary/elm_panel.c
@@ -1478,10 +1478,10 @@ _elm_panel_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED
/* Efl.Part begin */
-ELM_PART_IMPLEMENT(elm_panel, ELM_PANEL, Elm_Panel_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_SET(elm_panel, ELM_PANEL, Elm_Panel_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_GET(elm_panel, ELM_PANEL, Elm_Panel_Data, Elm_Part_Data)
-ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_panel, ELM_PANEL, Elm_Panel_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_panel, ELM_PANEL, Elm_Panel_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_panel, ELM_PANEL, Elm_Panel_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(elm_panel, ELM_PANEL, Elm_Panel_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_panel, ELM_PANEL, Elm_Panel_Data)
#include "elm_panel_part.eo.c"
/* Efl.Part end */
diff --git a/src/lib/elementary/elm_panel_part.eo b/src/lib/elementary/elm_panel_part.eo
index 45f6a07a28..a899496cc5 100644
--- a/src/lib/elementary/elm_panel_part.eo
+++ b/src/lib/elementary/elm_panel_part.eo
@@ -1,9 +1,8 @@
-class Elm.Panel.Part (Efl.Object, Efl.Container)
+class Elm.Panel.Part (Efl.Ui.Widget.Part, Efl.Container)
{
[[Elementary panel internal part class]]
- data: Elm_Part_Data;
+ data: null;
implements {
- Efl.Object.destructor;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
}
diff --git a/src/lib/elementary/elm_part_helper.h b/src/lib/elementary/elm_part_helper.h
index 56b352e558..3cd5c5f98b 100644
--- a/src/lib/elementary/elm_part_helper.h
+++ b/src/lib/elementary/elm_part_helper.h
@@ -3,94 +3,26 @@
#include "efl_ui_layout_part.eo.h"
-//#define ELM_PART_HOOK do { ERR("%p:%s [%d]", pd->obj, pd->part, (int) pd->temp); } while(0)
+//#define ELM_PART_HOOK do { ERR("%s@%p:%s [%d]", efl_class_name_get(pd->obj), pd->obj, pd->part, (int) pd->temp); } while(0)
#define ELM_PART_HOOK do {} while(0)
-#define ELM_PART_REF(obj, pd) do { if (!(pd->temp++)) efl_ref(obj); } while(0)
+//#define ELM_PART_REF(obj, pd) do { if (!(pd->temp++)) efl_ref(obj); } while(0)
#define ELM_PART_UNREF(obj, pd) do { if (pd->temp) { if (!(--pd->temp)) efl_del(obj); } } while(0)
#define ELM_PART_RETURN_VAL(a) do { ELM_PART_HOOK; typeof(a) _ret = a; ELM_PART_UNREF(obj, pd); return _ret; } while(0)
#define ELM_PART_RETURN_VOID do { ELM_PART_HOOK; ELM_PART_UNREF(obj, pd); return; } while(0)
-#define ELM_PART_CALL(a) ({ ELM_PART_REF(obj, pd); a; })
+//#define ELM_PART_CALL(a) ({ ELM_PART_REF(obj, pd); a; })
typedef struct _Elm_Part_Data Elm_Part_Data;
struct _Elm_Part_Data
{
Eo *obj;
- void *sd;
- char *part;
+ Eina_Tmpstr *part;
unsigned char temp;
};
// Note: this generic implementation can be improved to support part object
// caching or something...
-#define ELM_PART_IMPLEMENT_DESTRUCTOR(type, TYPE, typedata, partdata) \
-static EOLIAN void \
-_ ## type ## _part_efl_object_destructor(Eo *obj, partdata *pd) \
-{ \
- ELM_PART_HOOK; \
- free(pd->part); \
- efl_data_xunref(pd->obj, pd->sd, obj); \
- efl_destructor(efl_super(obj, TYPE ## _PART_CLASS)); \
-} \
-
-// Main part proxy implementation
-#define ELM_PART_IMPLEMENT(type, TYPE, typedata, partdata) \
-ELM_PART_IMPLEMENT_DESTRUCTOR(type, TYPE, typedata, partdata) \
-static EOLIAN Efl_Object * \
-_ ## type ## _efl_part_part(const Eo *obj, typedata *priv EINA_UNUSED, const char *part) \
-{ \
- partdata *pd; \
- Eo *proxy; \
-\
- EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); \
- proxy = efl_add(TYPE ## _PART_CLASS, (Eo *) obj); \
- pd = efl_data_scope_get(proxy, TYPE ## _PART_CLASS); \
- if (pd) \
- { \
- pd->obj = (Eo *) obj; \
- pd->sd = efl_data_xref(pd->obj, TYPE ## _CLASS, proxy); \
- pd->part = strdup(part); \
- pd->temp = 1; \
- } \
-\
- return proxy; \
-}
-
-#define ELM_PART_IMPLEMENT_CONTENT_SET(type, TYPE, typedata, partdata) \
-static EOLIAN Eina_Bool \
-_ ## type ## _part_efl_container_content_set(Eo *obj, partdata *pd, Efl_Gfx *content) \
-{ \
- ELM_PART_RETURN_VAL(_ ## type ## _content_set(pd->obj, pd->sd, pd->part, content)); \
-}
-
-#define ELM_PART_IMPLEMENT_CONTENT_GET(type, TYPE, typedata, partdata) \
-static EOLIAN Efl_Gfx * \
-_ ## type ## _part_efl_container_content_get(Eo *obj, partdata *pd) \
-{ \
- ELM_PART_RETURN_VAL(_ ## type ## _content_get(pd->obj, pd->sd, pd->part)); \
-}
-
-#define ELM_PART_IMPLEMENT_CONTENT_UNSET(type, TYPE, typedata, partdata) \
-static EOLIAN Efl_Gfx * \
-_ ## type ## _part_efl_container_content_unset(Eo *obj, partdata *pd) \
-{ \
- ELM_PART_RETURN_VAL(_ ## type ## _content_unset(pd->obj, pd->sd, pd->part)); \
-}
-
-#define ELM_PART_IMPLEMENT_TEXT_SET(type, TYPE, typedata, partdata) \
-static EOLIAN void \
-_ ## type ## _part_efl_text_text_set(Eo *obj EINA_UNUSED, partdata *pd, const char *text) \
-{ \
- _ ## type ## _text_set(pd->obj, pd->sd, pd->part, text); \
-}
-
-#define ELM_PART_IMPLEMENT_TEXT_GET(type, TYPE, typedata, partdata) \
-static EOLIAN const char * \
-_ ## type ## _part_efl_text_text_get(Eo *obj, partdata *pd) \
-{ \
- ELM_PART_RETURN_VAL(_ ## type ## _text_get(pd->obj, pd->sd, pd->part)); \
-}
#define ELM_PART_CONTENT_DEFAULT_SET(type, part) \
static const char * _ ## type ## _default_content_part_get(const Eo *obj EINA_UNUSED, void *sd EINA_UNUSED) { return part; }
@@ -104,69 +36,70 @@ _ ## type ## _part_efl_text_text_get(Eo *obj, partdata *pd) \
#define ELM_PART_TEXT_DEFAULT_OPS(type) \
EFL_OBJECT_OP_FUNC(elm_widget_default_text_part_get, _ ## type ## _default_text_part_get)
-// For widgets that inherit from something with parts (eg. from Efl.Ui.Layout)
-#define ELM_PART_OVERRIDE(type, TYPE, SUPER, typedata, partdata) \
-static EOLIAN Efl_Object * \
-_ ## type ## _efl_part_part(const Eo *obj, typedata *priv EINA_UNUSED, const char *part) \
-{ \
- partdata *pd; \
- Eo *proxy; \
-\
- EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); \
- proxy = efl_add(TYPE ## _PART_CLASS, (Eo *) obj); \
- pd = efl_data_scope_get(proxy, SUPER ## _PART_CLASS); \
+
+// For any widget that has specific part handling
+
+#define ELM_PART_OVERRIDE_IMPLEMENT(TYPE) \
+ Eo *proxy = efl_add(TYPE ## _PART_CLASS, (Eo *) obj); \
+ Elm_Part_Data *pd = efl_data_scope_get(proxy, EFL_UI_WIDGET_PART_CLASS); \
if (pd) \
{ \
pd->obj = (Eo *) obj; \
- pd->sd = efl_data_xref(pd->obj, SUPER ## _CLASS, proxy); \
- pd->part = strdup(part); \
+ pd->part = eina_tmpstr_add(part); \
pd->temp = 1; \
} \
-\
- return proxy; \
+ return proxy;
+
+#define ELM_PART_OVERRIDE(type, TYPE, typedata) \
+static EOLIAN Efl_Object * \
+_ ## type ## _efl_part_part(const Eo *obj, typedata *priv EINA_UNUSED, const char *part) \
+{ \
+ EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); \
+ ELM_PART_OVERRIDE_IMPLEMENT(TYPE); \
}
-#define ELM_PART_OVERRIDE_CONTENT_SET(type, TYPE, SUPER, typedata, partdata) \
+#define ELM_PART_OVERRIDE_CONTENT_SET(type, TYPE, typedata) \
static EOLIAN Eina_Bool \
_ ## type ## _part_efl_container_content_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx *content) \
{ \
- partdata *pd = efl_data_scope_get(obj, SUPER ## _PART_CLASS); \
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \
ELM_PART_RETURN_VAL(_ ## type ## _content_set(pd->obj, sd, pd->part, content)); \
}
-#define ELM_PART_OVERRIDE_CONTENT_GET(type, TYPE, SUPER, typedata, partdata) \
+#define ELM_PART_OVERRIDE_CONTENT_GET(type, TYPE, typedata) \
static EOLIAN Efl_Gfx * \
_ ## type ## _part_efl_container_content_get(Eo *obj, void *_pd EINA_UNUSED) \
{ \
- partdata *pd = efl_data_scope_get(obj, SUPER ## _PART_CLASS); \
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \
ELM_PART_RETURN_VAL(_ ## type ## _content_get(pd->obj, sd, pd->part)); \
}
-#define ELM_PART_OVERRIDE_CONTENT_UNSET(type, TYPE, SUPER, typedata, partdata) \
+#define ELM_PART_OVERRIDE_CONTENT_UNSET(type, TYPE, typedata) \
static EOLIAN Efl_Gfx * \
_ ## type ## _part_efl_container_content_unset(Eo *obj, void *_pd EINA_UNUSED) \
{ \
- partdata *pd = efl_data_scope_get(obj, SUPER ## _PART_CLASS); \
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \
ELM_PART_RETURN_VAL(_ ## type ## _content_unset(pd->obj, sd, pd->part)); \
}
-#define ELM_PART_OVERRIDE_TEXT_SET(type, TYPE, SUPER, typedata, partdata) \
+#define ELM_PART_OVERRIDE_TEXT_SET(type, TYPE, typedata) \
static EOLIAN void \
_ ## type ## _part_efl_text_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *text) \
{ \
- partdata *pd = efl_data_scope_get(obj, SUPER ## _PART_CLASS); \
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \
- ELM_PART_CALL(_ ## type ## _text_set(pd->obj, sd, pd->part, text)); \
+ _ ## type ## _text_set(pd->obj, sd, pd->part, text); \
+ ELM_PART_RETURN_VOID; \
}
-#define ELM_PART_OVERRIDE_TEXT_GET(type, TYPE, SUPER, typedata, partdata) \
+#define ELM_PART_OVERRIDE_TEXT_GET(type, TYPE, typedata) \
static EOLIAN const char *\
_ ## type ## _part_efl_text_text_get(Eo *obj, void *_pd EINA_UNUSED) \
{ \
- partdata *pd = efl_data_scope_get(obj, SUPER ## _PART_CLASS); \
+ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \
ELM_PART_RETURN_VAL(_ ## type ## _text_get(pd->obj, sd, pd->part)); \
}
diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c
index c608b6d8b5..b10b2b516b 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -1475,10 +1475,10 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_scroller, Elm_Scroller_Data)
/* Efl.Part begin */
-ELM_PART_OVERRIDE(elm_scroller, ELM_SCROLLER, EFL_UI_LAYOUT, Elm_Scroller_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_scroller, ELM_SCROLLER, EFL_UI_LAYOUT, Elm_Scroller_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_GET(elm_scroller, ELM_SCROLLER, EFL_UI_LAYOUT, Elm_Scroller_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_scroller, ELM_SCROLLER, EFL_UI_LAYOUT, Elm_Scroller_Data, Elm_Part_Data)
+ELM_PART_OVERRIDE(elm_scroller, ELM_SCROLLER, Elm_Scroller_Data)
+ELM_PART_OVERRIDE_CONTENT_SET(elm_scroller, ELM_SCROLLER, Elm_Scroller_Data)
+ELM_PART_OVERRIDE_CONTENT_GET(elm_scroller, ELM_SCROLLER, Elm_Scroller_Data)
+ELM_PART_OVERRIDE_CONTENT_UNSET(elm_scroller, ELM_SCROLLER, Elm_Scroller_Data)
// FIXME: should be "content" but "default" was legacy API
ELM_PART_CONTENT_DEFAULT_SET(elm_scroller, "default")
#include "elm_scroller_part.eo.c"
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 841186151a..0ac956eed6 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -6636,6 +6636,42 @@ elm_widget_signal_callback_del(Eo *obj, const char *emission, const char *source
}
+/* Efl.Part implementation */
+
+static EOLIAN Efl_Object *
+_elm_widget_efl_part_part(const Eo *obj, Elm_Widget_Smart_Data *wd EINA_UNUSED, const char *part)
+{
+ Elm_Part_Data *pd;
+ Eo *proxy;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
+
+ // Generic parts for every kind of widget
+ proxy = efl_add(EFL_UI_WIDGET_PART_CLASS, (Eo *) obj);
+ pd = efl_data_scope_get(proxy, EFL_UI_WIDGET_PART_CLASS);
+ if (pd)
+ {
+ pd->obj = (Eo *) obj;
+ pd->part = eina_tmpstr_add(part);
+ pd->temp = 1;
+ }
+
+ return proxy;
+}
+
+static EOLIAN void \
+_efl_ui_widget_part_efl_object_destructor(Eo *obj, Elm_Part_Data *pd)
+{
+ ELM_PART_HOOK;
+ eina_tmpstr_del(pd->part);
+ efl_destructor(efl_super(obj, EFL_UI_WIDGET_PART_CLASS));
+}
+
+#include "efl_ui_widget_part.eo.c"
+
+/* Efl.Part end */
+
+
/* Internal EO APIs and hidden overrides */
EFL_FUNC_BODY_CONST(elm_widget_default_content_part_get, const char *, NULL)
diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index babe00c17b..53638c95f1 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -18,7 +18,7 @@ struct Elm.Widget.Focus_State {
}
abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
- Efl.Access.Component, Efl.Ui.Focus.User,
+ Efl.Access.Component, Efl.Ui.Focus.User, Efl.Part,
Efl.Ui.Focus.Object, Efl.Ui.Base, Efl.Ui.Cursor)
{
[[Elementary widget abstract class]]
@@ -860,6 +860,7 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
Efl.Ui.Cursor.cursor { get; set; }
Efl.Ui.Cursor.cursor_style { get; set; }
Efl.Ui.Cursor.cursor_theme_search_enabled { get; set; }
+ Efl.Part.part; [[Returns @Efl.Ui.Widget.Part.]]
}
events {
moved; [[Called when widget moved]]