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.
This commit is contained in:
parent
1a854d892f
commit
0339ad7740
|
@ -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 \
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
class Efl.Ui.Widget.Part (Efl.Object)
|
||||
{
|
||||
data: Elm_Part_Data;
|
||||
methods {
|
||||
}
|
||||
implements {
|
||||
Efl.Object.destructor;
|
||||
}
|
||||
}
|
|
@ -6994,37 +6994,7 @@ _efl_ui_win_part_file_get(Eo *obj, Efl_Ui_Win_Data *sd, const char *part, const
|
|||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
/* Efl.Part begin */
|
||||
|
||||
static void
|
||||
_efl_ui_win_part_efl_gfx_color_set(Eo *obj, Elm_Part_Data *pd, int r, int g, int b, int a)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_win_part_efl_gfx_color_get(Eo *obj, Elm_Part_Data *pd, int *r, int *g, int *b, int *a)
|
||||
{
|
||||
_efl_ui_win_part_color_get(pd->obj, pd->sd, pd->part, r, g, b, a);
|
||||
ELM_PART_RETURN_VOID;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_efl_ui_win_part_efl_file_file_set(Eo *obj, Elm_Part_Data *pd, const char *file, const char *key)
|
||||
{
|
||||
ELM_PART_RETURN_VAL(_efl_ui_win_part_file_set(pd->obj, pd->sd, pd->part, file, key));
|
||||
}
|
||||
|
||||
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_file_get(pd->obj, pd->sd, pd->part, file, key);
|
||||
ELM_PART_RETURN_VOID;
|
||||
}
|
||||
/* Default content */
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_win_efl_container_content_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Object *content)
|
||||
|
@ -7044,10 +7014,51 @@ _efl_ui_win_efl_container_content_unset(Eo *obj, Efl_Ui_Win_Data *sd)
|
|||
return _efl_ui_win_content_unset(obj, sd, "content");
|
||||
}
|
||||
|
||||
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)
|
||||
/* Efl.Part begin */
|
||||
|
||||
static void
|
||||
_efl_ui_win_part_efl_gfx_color_set(Eo *obj, void *_pd EINA_UNUSED, int r, int g, int b, int a)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_win_part_efl_gfx_color_get(Eo *obj, void *_pd EINA_UNUSED, int *r, int *g, int *b, int *a)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_efl_ui_win_part_efl_file_file_set(Eo *obj, void *_pd EINA_UNUSED, const char *file, const char *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);
|
||||
ELM_PART_RETURN_VAL(_efl_ui_win_part_file_set(pd->obj, sd, pd->part, file, key));
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_win_part_efl_file_file_get(Eo *obj, void *_pd EINA_UNUSED, const char **file, const char **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);
|
||||
_efl_ui_win_part_file_get(pd->obj, sd, pd->part, file, key);
|
||||
ELM_PART_RETURN_VOID;
|
||||
}
|
||||
|
||||
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"
|
||||
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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)); \
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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]]
|
||||
|
|
Loading…
Reference in New Issue