efl_ui_legacy: add new interface to indicate legacy widget

Summary:
For now, how to check whether a widget is legacy or not
is to check flags in private data or static flag, which is set
during elm_legacy_add.
If Efl.Ui.Legacy interface is added, it can be easilly checked
by efl_isa(obj, EFL_UI_LEGACY_INTERFACE)

Reviewers: woohyun, jpeg, cedric, Jaehyun_Cho

Subscribers: conr2d, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5748
This commit is contained in:
Sungtaek Hong 2018-01-24 15:50:58 +09:00 committed by Jean-Philippe Andre
parent f6ba674cd8
commit cb25699dac
120 changed files with 1004 additions and 632 deletions

View File

@ -106,6 +106,7 @@ elm_public_eolian_files = \
# More public files -- FIXME # More public files -- FIXME
elm_public_eolian_files += \ elm_public_eolian_files += \
lib/elementary/efl_ui_legacy.eo \
lib/elementary/elm_spinner.eo \ lib/elementary/elm_spinner.eo \
lib/elementary/elm_multibuttonentry_item.eo \ lib/elementary/elm_multibuttonentry_item.eo \
lib/elementary/elm_interface_scrollable.eo \ lib/elementary/elm_interface_scrollable.eo \
@ -137,6 +138,23 @@ elm_private_eolian_files = \
# Legacy classes - not part of public EO API # Legacy classes - not part of public EO API
elm_legacy_eolian_files = \ elm_legacy_eolian_files = \
lib/elementary/efl_ui_button_legacy.eo \
lib/elementary/efl_ui_check_legacy.eo \
lib/elementary/efl_ui_radio_legacy.eo \
lib/elementary/efl_ui_bg_widget_legacy.eo \
lib/elementary/efl_ui_video_legacy.eo \
lib/elementary/efl_ui_frame_legacy.eo \
lib/elementary/efl_ui_slider_legacy.eo \
lib/elementary/efl_ui_panes_legacy.eo \
lib/elementary/efl_ui_image_zoomable_legacy.eo \
lib/elementary/efl_ui_multibuttonentry_legacy.eo \
lib/elementary/efl_ui_flip_legacy.eo \
lib/elementary/efl_ui_win_legacy.eo \
lib/elementary/efl_ui_image_legacy.eo \
lib/elementary/efl_ui_progressbar_legacy.eo \
lib/elementary/efl_ui_clock_legacy.eo \
lib/elementary/efl_ui_layout_legacy.eo \
lib/elementary/elm_code_widget_legacy.eo \
lib/elementary/elm_interface_fileselector.eo \ lib/elementary/elm_interface_fileselector.eo \
lib/elementary/elm_calendar.eo \ lib/elementary/elm_calendar.eo \
lib/elementary/elm_calendar_item.eo \ lib/elementary/elm_calendar_item.eo \
@ -611,6 +629,7 @@ lib_elementary_libelementary_la_SOURCES = \
lib/elementary/elm_actionslider.c \ lib/elementary/elm_actionslider.c \
lib/elementary/elm_atspi_app_object.c \ lib/elementary/elm_atspi_app_object.c \
lib/elementary/elm_atspi_bridge.c \ lib/elementary/elm_atspi_bridge.c \
lib/elementary/efl_ui_legacy.c \
lib/elementary/efl_ui_bg.c \ lib/elementary/efl_ui_bg.c \
lib/elementary/efl_ui_bg_widget.c \ lib/elementary/efl_ui_bg_widget.c \
lib/elementary/elm_box.c \ lib/elementary/elm_box.c \

View File

@ -13,7 +13,6 @@
#define MY_CLASS_PFX efl_ui_bg_widget #define MY_CLASS_PFX efl_ui_bg_widget
#define MY_CLASS_NAME "Efl.Ui.Bg_Widget" #define MY_CLASS_NAME "Efl.Ui.Bg_Widget"
#define MY_CLASS_NAME_LEGACY "elm_bg"
static const Elm_Layout_Part_Alias_Description _content_aliases[] = static const Elm_Layout_Part_Alias_Description _content_aliases[] =
{ {
@ -21,13 +20,6 @@ static const Elm_Layout_Part_Alias_Description _content_aliases[] =
{NULL, NULL} {NULL, NULL}
}; };
EAPI Evas_Object *
elm_bg_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent);
}
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_bg_widget_efl_object_constructor(Eo *obj, Efl_Ui_Bg_Widget_Data *pd) _efl_ui_bg_widget_efl_object_constructor(Eo *obj, Efl_Ui_Bg_Widget_Data *pd)
{ {
@ -54,7 +46,6 @@ _efl_ui_bg_widget_efl_object_constructor(Eo *obj, Efl_Ui_Bg_Widget_Data *pd)
efl_image_scale_type_set(efl_added, EFL_IMAGE_SCALE_TYPE_FIT_OUTSIDE), efl_image_scale_type_set(efl_added, EFL_IMAGE_SCALE_TYPE_FIT_OUTSIDE),
efl_content_set(efl_part(obj, "elm.swallow.background"), efl_added)); efl_content_set(efl_part(obj, "elm.swallow.background"), efl_added));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
efl_access_type_set(obj, EFL_ACCESS_TYPE_DISABLED); efl_access_type_set(obj, EFL_ACCESS_TYPE_DISABLED);
efl_ui_widget_focus_allow_set(obj, EINA_FALSE); efl_ui_widget_focus_allow_set(obj, EINA_FALSE);
@ -191,12 +182,6 @@ _efl_ui_bg_widget_efl_image_load_load_size_get(Eo *obj EINA_UNUSED, Efl_Ui_Bg_Wi
return efl_image_load_size_get(sd->img); return efl_image_load_size_get(sd->img);
} }
static void
_efl_ui_bg_widget_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EAPI Eina_Bool EAPI Eina_Bool
elm_bg_file_set(Eo *obj, const char *file, const char *group) elm_bg_file_set(Eo *obj, const char *file, const char *group)
{ {
@ -242,3 +227,32 @@ ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
ELM_LAYOUT_CONTENT_ALIASES_OPS(MY_CLASS_PFX) ELM_LAYOUT_CONTENT_ALIASES_OPS(MY_CLASS_PFX)
#include "efl_ui_bg_widget.eo.c" #include "efl_ui_bg_widget.eo.c"
#include "efl_ui_bg_widget_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_bg"
static void
_efl_ui_bg_widget_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_bg_widget_legacy_efl_object_constructor(Eo *obj, void *_pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_BG_WIDGET_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_bg_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(EFL_UI_BG_WIDGET_LEGACY_CLASS, parent);
}
#include "efl_ui_bg_widget_legacy.eo.c"

View File

@ -8,7 +8,6 @@ class Efl.Ui.Bg_Widget (Efl.Ui.Layout, Efl.Ui.Bg, Efl.Image.Load)
]] ]]
legacy_prefix: elm_bg; legacy_prefix: elm_bg;
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.File.file { get; set; } Efl.File.file { get; set; }
Efl.File.mmap { get; set; } Efl.File.mmap { get; set; }

View File

@ -0,0 +1,14 @@
class Efl.Ui.Bg_Widget_Legacy (Efl.Ui.Bg_Widget, Efl.Ui.Legacy)
{
[[The bg (background) widget is used for setting (solid) background decorations
for a window (unless it has transparency enabled) or for any container object. It
works just like an image, but has some properties useful for backgrounds, such as
setting it to tiled, centered, scaled or stretched.
]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -17,7 +17,6 @@
#define MY_CLASS_PFX efl_ui_button #define MY_CLASS_PFX efl_ui_button
#define MY_CLASS_NAME "Efl.Ui.Button" #define MY_CLASS_NAME "Efl.Ui.Button"
#define MY_CLASS_NAME_LEGACY "elm_button"
static const char SIG_CLICKED[] = "clicked"; static const char SIG_CLICKED[] = "clicked";
static const char SIG_REPEATED[] = "repeated"; static const char SIG_REPEATED[] = "repeated";
@ -303,18 +302,10 @@ _efl_ui_button_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Button_Data *_pd EINA_
CRI("Failed to set layout!"); CRI("Failed to set layout!");
} }
EAPI Evas_Object *
elm_button_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent);
}
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_button_efl_object_constructor(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUSED) _efl_ui_button_efl_object_constructor(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_PUSH_BUTTON); efl_access_role_set(obj, EFL_ACCESS_ROLE_PUSH_BUTTON);
@ -406,12 +397,6 @@ _efl_ui_button_efl_access_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Efl
return &atspi_actions[0]; return &atspi_actions[0];
} }
static void
_efl_ui_button_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
/* Standard widget overrides */ /* Standard widget overrides */
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_button, Efl_Ui_Button_Data) ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_button, Efl_Ui_Button_Data)
@ -481,3 +466,30 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
EFL_CANVAS_GROUP_ADD_OPS(efl_ui_button) EFL_CANVAS_GROUP_ADD_OPS(efl_ui_button)
#include "efl_ui_button.eo.c" #include "efl_ui_button.eo.c"
#include "efl_ui_button_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_button"
static void
_efl_ui_button_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_button_legacy_efl_object_constructor(Eo *obj, void *_pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_BUTTON_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_button_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(EFL_UI_BUTTON_LEGACY_CLASS, parent);
}
#include "efl_ui_button_legacy.eo.c"

View File

@ -9,7 +9,6 @@ class Efl.Ui.Button (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Autorepeat,
]] ]]
legacy_prefix: elm_button; legacy_prefix: elm_button;
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.Ui.Autorepeat.autorepeat_initial_timeout { set; get; } Efl.Ui.Autorepeat.autorepeat_initial_timeout { set; get; }
Efl.Ui.Autorepeat.autorepeat_gap_timeout { set; get; } Efl.Ui.Autorepeat.autorepeat_gap_timeout { set; get; }

View File

@ -0,0 +1,13 @@
class Efl.Ui.Button_Legacy (Efl.Ui.Button, Efl.Ui.Legacy)
{
[[Push-button widget
Press it and run some function. It can contain a simple label and icon
object and it also has an autorepeat feature.
]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -16,7 +16,6 @@
#define MY_CLASS_PFX efl_ui_check #define MY_CLASS_PFX efl_ui_check
#define MY_CLASS_NAME "Efl.Ui.Check" #define MY_CLASS_NAME "Efl.Ui.Check"
#define MY_CLASS_NAME_LEGACY "elm_check"
static const Elm_Layout_Part_Alias_Description _text_aliases[] = static const Elm_Layout_Part_Alias_Description _text_aliases[] =
{ {
@ -311,20 +310,12 @@ _efl_ui_check_efl_ui_nstate_value_set(Eo *obj, Efl_Ui_Check_Data *pd EINA_UNUSED
efl_ui_nstate_value_set(efl_super(obj, MY_CLASS), _state); efl_ui_nstate_value_set(efl_super(obj, MY_CLASS), _state);
} }
EAPI Evas_Object *
elm_check_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent);
}
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_check_efl_object_constructor(Eo *obj, Efl_Ui_Check_Data *pd EINA_UNUSED) _efl_ui_check_efl_object_constructor(Eo *obj, Efl_Ui_Check_Data *pd EINA_UNUSED)
{ {
if (!elm_widget_theme_klass_get(obj)) if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "check"); elm_widget_theme_klass_set(obj, "check");
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
@ -392,12 +383,6 @@ _efl_ui_check_efl_access_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Efl_
return &atspi_action[0]; return &atspi_action[0];
} }
static void
_efl_ui_check_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
/* Standard widget overrides */ /* Standard widget overrides */
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_check, Efl_Ui_Check_Data) ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_check, Efl_Ui_Check_Data)
@ -410,3 +395,30 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX) ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX)
#include "efl_ui_check.eo.c" #include "efl_ui_check.eo.c"
#include "efl_ui_check_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_check"
static void
_efl_ui_check_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_check_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_CHECK_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_check_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(EFL_UI_CHECK_LEGACY_CLASS, parent);
}
#include "efl_ui_check_legacy.eo.c"

View File

@ -21,7 +21,6 @@ class Efl.Ui.Check (Efl.Ui.Nstate, Efl.Access.Widget.Action)
} }
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.Ui.Widget.on_access_activate; Efl.Ui.Widget.on_access_activate;
Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.theme_apply;

View File

@ -0,0 +1,15 @@
class Efl.Ui.Check_Legacy (Efl.Ui.Check, Efl.Ui.Legacy)
{
[[Check widget
The check widget allows for toggling a value between true and false.
Check objects are a lot like radio objects in layout and functionality,
except they do not work as a group, but independently, and only toggle
the value of a boolean between false and true.
]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -13,7 +13,6 @@
#define MY_CLASS EFL_UI_CLOCK_CLASS #define MY_CLASS EFL_UI_CLOCK_CLASS
#define MY_CLASS_NAME "Efl.Ui.Clock" #define MY_CLASS_NAME "Efl.Ui.Clock"
#define MY_CLASS_NAME_LEGACY "efl_ui_clock"
#ifdef HAVE_LOCALE_H #ifdef HAVE_LOCALE_H
# include <locale.h> # include <locale.h>
@ -918,7 +917,6 @@ EOLIAN static Eo *
_efl_ui_clock_efl_object_constructor(Eo *obj, Efl_Ui_Clock_Data *_pd EINA_UNUSED) _efl_ui_clock_efl_object_constructor(Eo *obj, Efl_Ui_Clock_Data *_pd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_DATE_EDITOR); efl_access_role_set(obj, EFL_ACCESS_ROLE_DATE_EDITOR);
@ -1125,12 +1123,6 @@ _efl_ui_clock_time_max_set(Eo *obj, Efl_Ui_Clock_Data *sd, Efl_Time maxtime)
efl_event_callback_legacy_call(obj, EFL_UI_CLOCK_EVENT_CHANGED, NULL); efl_event_callback_legacy_call(obj, EFL_UI_CLOCK_EVENT_CHANGED, NULL);
} }
EOLIAN static void
_efl_ui_clock_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
/* Internal EO APIs and hidden overrides */ /* Internal EO APIs and hidden overrides */
#define EFL_UI_CLOCK_EXTRA_OPS \ #define EFL_UI_CLOCK_EXTRA_OPS \

View File

@ -222,7 +222,6 @@ class Efl.Ui.Clock (Efl.Ui.Layout)
} }
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.theme_apply;
Efl.Ui.Widget.on_disabled_update; Efl.Ui.Widget.on_disabled_update;

View File

@ -0,0 +1,9 @@
class Efl.Ui.Clock_Legacy (Efl.Ui.Clock, Efl.Ui.Legacy)
{
[[Efl UI clock class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -14,7 +14,6 @@
#define MY_CLASS EFL_UI_FLIP_CLASS #define MY_CLASS EFL_UI_FLIP_CLASS
#define MY_CLASS_NAME "Efl.Ui.Flip" #define MY_CLASS_NAME "Efl.Ui.Flip"
#define MY_CLASS_NAME_LEGACY "elm_flip"
static const char SIG_ANIMATE_BEGIN[] = "animate,begin"; static const char SIG_ANIMATE_BEGIN[] = "animate,begin";
static const char SIG_ANIMATE_DONE[] = "animate,done"; static const char SIG_ANIMATE_DONE[] = "animate,done";
@ -1862,20 +1861,12 @@ _efl_ui_flip_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Flip_Data *sd)
efl_canvas_group_del(efl_super(obj, MY_CLASS)); efl_canvas_group_del(efl_super(obj, MY_CLASS));
} }
EAPI Evas_Object *
elm_flip_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent);
}
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_flip_efl_object_constructor(Eo *obj, Efl_Ui_Flip_Data *sd) _efl_ui_flip_efl_object_constructor(Eo *obj, Efl_Ui_Flip_Data *sd)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
sd->obj = obj; sd->obj = obj;
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_PAGE_TAB_LIST); efl_access_role_set(obj, EFL_ACCESS_ROLE_PAGE_TAB_LIST);
@ -2313,12 +2304,6 @@ _efl_ui_flip_efl_pack_linear_pack_index_get(Eo *obj EINA_UNUSED, Efl_Ui_Flip_Dat
return eina_list_data_idx(pd->content_list, (void *)subobj); return eina_list_data_idx(pd->content_list, (void *)subobj);
} }
static void
_efl_ui_flip_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EAPI void EAPI void
elm_flip_interaction_direction_hitsize_set(Efl_Ui_Flip *obj, Elm_Flip_Direction dir, double hitsize) elm_flip_interaction_direction_hitsize_set(Efl_Ui_Flip *obj, Elm_Flip_Direction dir, double hitsize)
{ {
@ -2371,3 +2356,30 @@ ELM_PART_CONTENT_DEFAULT_GET(efl_ui_flip, "front")
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_flip) EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_flip)
#include "efl_ui_flip.eo.c" #include "efl_ui_flip.eo.c"
#include "efl_ui_flip_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_flip"
static void
_efl_ui_flip_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_flip_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_FLIP_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_flip_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(EFL_UI_FLIP_LEGACY_CLASS, parent);
}
#include "efl_ui_flip_legacy.eo.c"

View File

@ -227,7 +227,6 @@ class Efl.Ui.Flip (Efl.Ui.Widget, Efl.Pack.Linear, Efl.Part)
} }
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.Ui.Widget.widget_sub_object_add; Efl.Ui.Widget.widget_sub_object_add;
Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.theme_apply;

View File

@ -0,0 +1,9 @@
class Efl.Ui.Flip_Legacy (Efl.Ui.Flip, Efl.Ui.Legacy)
{
[[Efl UI flip class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -14,7 +14,6 @@
#define MY_CLASS EFL_UI_FRAME_CLASS #define MY_CLASS EFL_UI_FRAME_CLASS
#define MY_CLASS_PFX efl_ui_frame #define MY_CLASS_PFX efl_ui_frame
#define MY_CLASS_NAME "Efl.Ui.Frame" #define MY_CLASS_NAME "Efl.Ui.Frame"
#define MY_CLASS_NAME_LEGACY "elm_frame"
static const char SIG_CLICKED[] = "clicked"; static const char SIG_CLICKED[] = "clicked";
@ -140,18 +139,10 @@ _efl_ui_frame_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Frame_Data *_pd EINA_UN
elm_layout_sizing_eval(obj); elm_layout_sizing_eval(obj);
} }
EAPI Evas_Object *
elm_frame_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent);
}
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_frame_efl_object_constructor(Eo *obj, Efl_Ui_Frame_Data *_pd EINA_UNUSED) _efl_ui_frame_efl_object_constructor(Eo *obj, Efl_Ui_Frame_Data *_pd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_FRAME); efl_access_role_set(obj, EFL_ACCESS_ROLE_FRAME);
@ -210,12 +201,6 @@ _efl_ui_frame_collapse_get(Eo *obj EINA_UNUSED, Efl_Ui_Frame_Data *sd)
return sd->collapsed; return sd->collapsed;
} }
EOLIAN static void
_efl_ui_frame_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
/* Default text (title) and content */ /* Default text (title) and content */
ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_frame, Efl_Ui_Frame_Data) ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_frame, Efl_Ui_Frame_Data)
@ -235,3 +220,30 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(efl_ui_frame)
ELM_LAYOUT_TEXT_ALIASES_OPS(efl_ui_frame) ELM_LAYOUT_TEXT_ALIASES_OPS(efl_ui_frame)
#include "efl_ui_frame.eo.c" #include "efl_ui_frame.eo.c"
#include "efl_ui_frame_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_frame"
static void
_efl_ui_frame_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_frame_legacy_efl_object_constructor(Eo *obj, void *_pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_FRAME_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_frame_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(EFL_UI_FRAME_LEGACY_CLASS, parent);
}
#include "efl_ui_frame_legacy.eo.c"

View File

@ -55,7 +55,6 @@ class Efl.Ui.Frame (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Text, Efl.Text.Markup,
} }
implements { implements {
Efl.Object.constructor; Efl.Object.constructor;
class.constructor;
Efl.Canvas.Group.group_calculate; Efl.Canvas.Group.group_calculate;
Efl.Text.text { get; set; } Efl.Text.text { get; set; }
Efl.Text.Markup.markup { get; set; } Efl.Text.Markup.markup { get; set; }

View File

@ -0,0 +1,14 @@
class Efl.Ui.Frame_Legacy (Efl.Ui.Frame, Efl.Ui.Legacy)
{
[[Frame widget
The Frame widget allows for collapsing and expanding the content widget
by clicking on the frame label.
the label and content can be set using text_set and content_set api.
]]
data: null;
implements {
Efl.Object.constructor;
class.constructor;
}
}

View File

@ -16,7 +16,6 @@
#define MY_CLASS EFL_UI_IMAGE_CLASS #define MY_CLASS EFL_UI_IMAGE_CLASS
#define MY_CLASS_NAME "Efl.Ui.Image" #define MY_CLASS_NAME "Efl.Ui.Image"
#define MY_CLASS_NAME_LEGACY "elm_image"
#define NON_EXISTING (void *)-1 #define NON_EXISTING (void *)-1
static const char *icon_theme = NULL; static const char *icon_theme = NULL;
@ -850,23 +849,10 @@ _on_size_hints_changed(void *data, const Efl_Event *ev)
_efl_ui_image_internal_sizing_eval(ev->object, data); _efl_ui_image_internal_sizing_eval(ev->object, data);
} }
EAPI Evas_Object *
elm_image_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
Evas_Object *obj = elm_legacy_add(MY_CLASS, parent);
EFL_UI_IMAGE_DATA_GET(obj, priv);
efl_event_callback_add(obj, EFL_GFX_EVENT_CHANGE_SIZE_HINTS, _on_size_hints_changed, priv);
return obj;
}
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_image_efl_object_constructor(Eo *obj, Efl_Ui_Image_Data *pd) _efl_ui_image_efl_object_constructor(Eo *obj, Efl_Ui_Image_Data *pd)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_IMAGE); efl_access_role_set(obj, EFL_ACCESS_ROLE_IMAGE);
@ -1518,12 +1504,6 @@ _efl_ui_image_efl_player_play_get(Eo *obj, Efl_Ui_Image_Data *sd)
return _efl_ui_image_animated_play_get_internal(obj, sd); return _efl_ui_image_animated_play_get_internal(obj, sd);
} }
static void
_efl_ui_image_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static void EOLIAN static void
_efl_ui_image_efl_image_scale_type_set(Eo *obj EINA_UNUSED, Efl_Ui_Image_Data *sd EINA_UNUSED, Efl_Image_Scale_Type scale_type) _efl_ui_image_efl_image_scale_type_set(Eo *obj EINA_UNUSED, Efl_Ui_Image_Data *sd EINA_UNUSED, Efl_Image_Scale_Type scale_type)
{ {
@ -2278,3 +2258,35 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_image, Efl_Ui_Image_Data)
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_image) EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_image)
#include "efl_ui_image.eo.c" #include "efl_ui_image.eo.c"
#include "efl_ui_image_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_image"
static void
_efl_ui_image_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_image_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_IMAGE_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_image_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
Evas_Object *obj = elm_legacy_add(EFL_UI_IMAGE_LEGACY_CLASS, parent);
EFL_UI_IMAGE_DATA_GET(obj, priv);
efl_event_callback_add(obj, EFL_GFX_EVENT_CHANGE_SIZE_HINTS, _on_size_hints_changed, priv);
return obj;
}
#include "efl_ui_image_legacy.eo.c"

View File

@ -88,7 +88,6 @@ class Efl.Ui.Image (Efl.Ui.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
} }
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.File.file { get; set; } Efl.File.file { get; set; }
Efl.File.mmap { set; } Efl.File.mmap { set; }

View File

@ -0,0 +1,9 @@
class Efl.Ui.Image_Legacy (Efl.Ui.Image, Efl.Ui.Legacy)
{
[[ Efl UI image class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -21,7 +21,6 @@
#define MY_CLASS EFL_UI_IMAGE_ZOOMABLE_CLASS #define MY_CLASS EFL_UI_IMAGE_ZOOMABLE_CLASS
#define MY_CLASS_NAME "Efl.Ui.Image_Zoomable" #define MY_CLASS_NAME "Efl.Ui.Image_Zoomable"
#define MY_CLASS_NAME_LEGACY "elm_photocam"
/* /*
* TODO (maybe - optional future stuff): * TODO (maybe - optional future stuff):
@ -1789,7 +1788,6 @@ EOLIAN static Eo *
_efl_ui_image_zoomable_efl_object_constructor(Eo *obj, Efl_Ui_Image_Zoomable_Data *_pd EINA_UNUSED) _efl_ui_image_zoomable_efl_object_constructor(Eo *obj, Efl_Ui_Image_Zoomable_Data *_pd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_IMAGE); efl_access_role_set(obj, EFL_ACCESS_ROLE_IMAGE);
@ -2954,10 +2952,8 @@ _efl_ui_image_zoomable_efl_player_play_get(Eo *obj, Efl_Ui_Image_Zoomable_Data *
} }
EOLIAN static void EOLIAN static void
_efl_ui_image_zoomable_class_constructor(Efl_Class *klass) _efl_ui_image_zoomable_class_constructor(Efl_Class *klass EINA_UNUSED)
{ {
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
PHOTO_FILE_LOAD_ERROR_GENERIC = eina_error_msg_static_register("Generic load error"); PHOTO_FILE_LOAD_ERROR_GENERIC = eina_error_msg_static_register("Generic load error");
PHOTO_FILE_LOAD_ERROR_DOES_NOT_EXIST = eina_error_msg_static_register("File does not exist"); PHOTO_FILE_LOAD_ERROR_DOES_NOT_EXIST = eina_error_msg_static_register("File does not exist");
PHOTO_FILE_LOAD_ERROR_PERMISSION_DENIED = eina_error_msg_static_register("Permission denied to an existing file"); PHOTO_FILE_LOAD_ERROR_PERMISSION_DENIED = eina_error_msg_static_register("Permission denied to an existing file");
@ -2983,13 +2979,39 @@ _efl_ui_image_zoomable_efl_access_widget_action_elm_actions_get(Eo *obj EINA_UNU
return &atspi_actions[0]; return &atspi_actions[0];
} }
/* Legacy APIs */ /* Standard widget overrides */
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_image_zoomable, Efl_Ui_Image_Zoomable_Data)
/* Internal EO APIs and hidden overrides */
#define EFL_UI_IMAGE_ZOOMABLE_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_image_zoomable)
#include "efl_ui_image_zoomable.eo.c"
#include "efl_ui_image_zoomable_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_photocam"
static void
_efl_ui_image_zoomable_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_image_zoomable_legacy_efl_object_constructor(Eo *obj, void *_pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_IMAGE_ZOOMABLE_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object * EAPI Evas_Object *
elm_photocam_add(Evas_Object *parent) elm_photocam_add(Evas_Object *parent)
{ {
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent); return elm_legacy_add(EFL_UI_IMAGE_ZOOMABLE_LEGACY_CLASS, parent);
} }
static inline void static inline void
@ -3223,13 +3245,4 @@ elm_photocam_image_region_get(const Efl_Ui_Image_Zoomable *obj, int *x, int *y,
if (h) *h = r.h; if (h) *h = r.h;
} }
/* Standard widget overrides */ #include "efl_ui_image_zoomable_legacy.eo.c"
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_image_zoomable, Efl_Ui_Image_Zoomable_Data)
/* Internal EO APIs and hidden overrides */
#define EFL_UI_IMAGE_ZOOMABLE_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_image_zoomable)
#include "efl_ui_image_zoomable.eo.c"

View File

@ -0,0 +1,9 @@
class Efl.Ui.Image_Zoomable_Legacy (Efl.Ui.Image_Zoomable, Efl.Ui.Legacy)
{
[[Elementary Image Zoomable class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -17,7 +17,6 @@
#define MY_CLASS_PFX efl_ui_layout #define MY_CLASS_PFX efl_ui_layout
#define MY_CLASS_NAME "Efl.Ui.Layout" #define MY_CLASS_NAME "Efl.Ui.Layout"
#define MY_CLASS_NAME_LEGACY "elm_layout"
Eo *_efl_ui_layout_pack_proxy_get(Efl_Ui_Layout *obj, Edje_Part_Type type, const char *part); Eo *_efl_ui_layout_pack_proxy_get(Efl_Ui_Layout *obj, Edje_Part_Type type, const char *part);
static void _efl_model_properties_changed_cb(void *, const Efl_Event *); static void _efl_model_properties_changed_cb(void *, const Efl_Event *);
@ -802,9 +801,8 @@ EOLIAN static Efl_Ui_Theme_Apply
_efl_ui_layout_theme_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *klass, const char *group, const char *style) _efl_ui_layout_theme_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *klass, const char *group, const char *style)
{ {
Eina_Bool changed = EINA_FALSE; Eina_Bool changed = EINA_FALSE;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
if (!wd->legacy && efl_finalized_get(obj)) if (!elm_widget_is_legacy(obj) && efl_finalized_get(obj))
{ {
ERR("Efl.Ui.Layout.theme can only be set before finalize!"); ERR("Efl.Ui.Layout.theme can only be set before finalize!");
return EFL_UI_THEME_APPLY_FAILED; return EFL_UI_THEME_APPLY_FAILED;
@ -1153,7 +1151,7 @@ _efl_ui_layout_text_generic_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *par
if (!text) return EINA_TRUE; if (!text) return EINA_TRUE;
if (wd->legacy) if (elm_widget_is_legacy(obj))
{ {
if (!edje_object_part_text_escaped_set if (!edje_object_part_text_escaped_set
(wd->resize_obj, part, text)) (wd->resize_obj, part, text))
@ -2088,30 +2086,17 @@ _efl_ui_layout_efl_ui_model_factory_connect_connect(Eo *obj EINA_UNUSED, Efl_Ui_
elm_layout_content_set(obj, name, new_ev); elm_layout_content_set(obj, name, new_ev);
} }
EAPI Evas_Object *
elm_layout_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent);
}
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_layout_efl_object_constructor(Eo *obj, Efl_Ui_Layout_Data *sd) _efl_ui_layout_efl_object_constructor(Eo *obj, Efl_Ui_Layout_Data *sd)
{ {
sd->obj = obj; sd->obj = obj;
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_FILLER); efl_access_role_set(obj, EFL_ACCESS_ROLE_FILLER);
return obj; return obj;
} }
EOLIAN static void _efl_ui_layout_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Efl_Object* EOLIAN static Efl_Object*
_efl_ui_layout_efl_object_finalize(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED) _efl_ui_layout_efl_object_finalize(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED)
{ {
@ -2137,8 +2122,264 @@ _efl_ui_layout_efl_layout_signal_signal_process(Eo *obj, Efl_Ui_Layout_Data *pd
efl_layout_signal_process(wd->resize_obj, recurse); efl_layout_signal_process(wd->resize_obj, recurse);
} }
/* Efl.Part implementation */
/* Legacy APIs */ EOLIAN static Eo *
_efl_ui_layout_efl_part_part(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, const char *part)
{
Efl_Canvas_Layout_Part_Type type = EFL_CANVAS_LAYOUT_PART_TYPE_NONE;
EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
ELM_WIDGET_DATA_GET_OR_RETURN((Eo *) obj, wd, NULL);
// Check part type without using edje_object_part_object_get(), as this
// can cause recalc, which has side effects... and could be slow.
if (eina_streq(part, "background"))
{
if (efl_layout_group_part_exist_get(wd->resize_obj, part))
type = efl_canvas_layout_part_type_get(efl_part(wd->resize_obj, part));
if (type != EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW)
{
if (type < EFL_CANVAS_LAYOUT_PART_TYPE_LAST &&
type > EFL_CANVAS_LAYOUT_PART_TYPE_NONE)
{
const char *file = NULL, *key = NULL;
efl_file_get(wd->resize_obj, &file, &key);
WRN("Layout has a background but it's not a swallow: '%s'",
elm_widget_theme_element_get(obj));
}
return efl_part(efl_super(obj, MY_CLASS), part);
}
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_BG_CLASS, obj, part);
}
else if (eina_streq(part, "shadow"))
return efl_part(efl_super(obj, MY_CLASS), part);
if (!efl_layout_group_part_exist_get(wd->resize_obj, part))
{
// edje part will handle the error message
return efl_part(wd->resize_obj, part);
}
type = efl_canvas_layout_part_type_get(efl_part(wd->resize_obj, part));
if (type >= EFL_CANVAS_LAYOUT_PART_TYPE_LAST)
{
ERR("Invalid type found for part '%s' in group '%s'",
part, elm_widget_theme_element_get(obj));
return NULL;
}
switch (type)
{
case EFL_CANVAS_LAYOUT_PART_TYPE_BOX:
case EFL_CANVAS_LAYOUT_PART_TYPE_TABLE:
return _efl_ui_layout_pack_proxy_get((Eo *) obj, type, part);
case EFL_CANVAS_LAYOUT_PART_TYPE_TEXT:
case EFL_CANVAS_LAYOUT_PART_TYPE_TEXTBLOCK:
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, part);
case EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW:
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, part);
default:
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CLASS, obj, part);
}
}
static const char *
_efl_ui_layout_default_content_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED)
{
const char *part = NULL;
if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_FALSE))
return NULL;
return part;
}
static const char *
_efl_ui_layout_default_text_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED)
{
const char *part = NULL;
if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE))
return NULL;
return part;
}
/* Efl.Ui.Layout.Part (common) */
EOLIAN static Eina_Bool
_efl_ui_layout_part_efl_ui_cursor_cursor_set(Eo *obj, void *_pd EINA_UNUSED, const char *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);
return _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, void *_pd EINA_UNUSED)
{
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);
return _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, void *_pd EINA_UNUSED, const char *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);
return _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, void *_pd EINA_UNUSED)
{
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);
return _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, void *_pd EINA_UNUSED, Eina_Bool 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);
return _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, void *_pd EINA_UNUSED)
{
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);
return !_efl_ui_layout_part_cursor_engine_only_get(sd, pd->part);
}
/* Efl.Ui.Layout.Part_Content */
ELM_PART_OVERRIDE_CONTENT_GET_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_CONTENT_SET_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
/* Efl.Ui.Layout.Part_Text */
ELM_PART_OVERRIDE_TEXT_GET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_SET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
EOLIAN static const char *
_efl_ui_layout_part_text_efl_ui_translatable_translatable_text_get(Eo *obj, void *_pd EINA_UNUSED, const char **domain)
{
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return elm_widget_part_translatable_text_get(pd->obj, pd->part, domain);
}
EOLIAN static void
_efl_ui_layout_part_text_efl_ui_translatable_translatable_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *label, const char *domain)
{
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
elm_widget_part_translatable_text_set(pd->obj, pd->part, label, domain);
}
/* Efl.Ui.Layout.Part_Legacy */
ELM_PART_OVERRIDE_CONTENT_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_CONTENT_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
EOLIAN static const char *
_efl_ui_layout_part_legacy_efl_ui_translatable_translatable_text_get(Eo *obj, void *_pd EINA_UNUSED, const char **domain)
{
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return elm_widget_part_translatable_text_get(pd->obj, pd->part, domain);
}
EOLIAN static void
_efl_ui_layout_part_legacy_efl_ui_translatable_translatable_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *label, const char *domain)
{
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
elm_widget_part_translatable_text_set(pd->obj, pd->part, label, domain);
}
/* Efl.Ui.Layout.Part_Bg (common) */
EOLIAN static Efl_Object *
_efl_ui_layout_part_bg_efl_object_finalize(Eo *obj, void *_pd EINA_UNUSED)
{
Efl_Ui_Layout_Data *sd;
Elm_Part_Data *pd;
Eo *bg;
obj = efl_finalize(efl_super(obj, EFL_UI_LAYOUT_PART_BG_CLASS));
if (!obj) return NULL;
pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
sd = efl_data_scope_get(pd->obj, MY_CLASS);
bg = _efl_ui_widget_bg_get(pd->obj);
if (!_efl_ui_layout_content_set(pd->obj, sd, "background", bg))
{
ERR("Failed to swallow new background object!");
// Shouldn't happen. What now? del bg? call super? return null?
}
return obj;
}
/* Efl.Ui.Layout.Part_Xxx includes */
#include "efl_ui_layout_part.eo.c"
#include "efl_ui_layout_part_content.eo.c"
#include "efl_ui_layout_part_bg.eo.c"
#include "efl_ui_layout_part_text.eo.c"
#include "efl_ui_layout_part_legacy.eo.c"
/* Efl.Part end */
/* Internal EO APIs and hidden overrides */
EAPI EFL_VOID_FUNC_BODY(elm_layout_sizing_eval)
EFL_FUNC_BODY_CONST(elm_layout_text_aliases_get, const Elm_Layout_Part_Alias_Description *, NULL)
EFL_FUNC_BODY_CONST(elm_layout_content_aliases_get, const Elm_Layout_Part_Alias_Description *, NULL)
ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
#define EFL_UI_LAYOUT_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_layout), \
ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_layout), \
ELM_PART_TEXT_DEFAULT_OPS(efl_ui_layout), \
ELM_LAYOUT_CONTENT_ALIASES_OPS(MY_CLASS_PFX), \
ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \
EFL_OBJECT_OP_FUNC(elm_layout_sizing_eval, _elm_layout_sizing_eval), \
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_layout_efl_object_dbg_info_get)
#include "efl_ui_layout.eo.c"
#include "efl_ui_layout_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_layout"
static void
_efl_ui_layout_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_layout_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_LAYOUT_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_layout_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(EFL_UI_LAYOUT_LEGACY_CLASS, parent);
}
EAPI Eina_Bool EAPI Eina_Bool
elm_layout_file_set(Eo *obj, const char *file, const char *group) elm_layout_file_set(Eo *obj, const char *file, const char *group)
@ -2425,239 +2666,4 @@ elm_layout_theme_set(Evas_Object *obj, const char *klass, const char *group, con
return (ta != EFL_UI_THEME_APPLY_FAILED); return (ta != EFL_UI_THEME_APPLY_FAILED);
} }
/* End of legacy only */ #include "efl_ui_layout_legacy.eo.c"
/* Efl.Part implementation */
EOLIAN static Eo *
_efl_ui_layout_efl_part_part(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, const char *part)
{
Efl_Canvas_Layout_Part_Type type = EFL_CANVAS_LAYOUT_PART_TYPE_NONE;
EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
ELM_WIDGET_DATA_GET_OR_RETURN((Eo *) obj, wd, NULL);
// Check part type without using edje_object_part_object_get(), as this
// can cause recalc, which has side effects... and could be slow.
if (eina_streq(part, "background"))
{
if (efl_layout_group_part_exist_get(wd->resize_obj, part))
type = efl_canvas_layout_part_type_get(efl_part(wd->resize_obj, part));
if (type != EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW)
{
if (type < EFL_CANVAS_LAYOUT_PART_TYPE_LAST &&
type > EFL_CANVAS_LAYOUT_PART_TYPE_NONE)
{
const char *file = NULL, *key = NULL;
efl_file_get(wd->resize_obj, &file, &key);
WRN("Layout has a background but it's not a swallow: '%s'",
elm_widget_theme_element_get(obj));
}
return efl_part(efl_super(obj, MY_CLASS), part);
}
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_BG_CLASS, obj, part);
}
else if (eina_streq(part, "shadow"))
return efl_part(efl_super(obj, MY_CLASS), part);
if (!efl_layout_group_part_exist_get(wd->resize_obj, part))
{
// edje part will handle the error message
return efl_part(wd->resize_obj, part);
}
type = efl_canvas_layout_part_type_get(efl_part(wd->resize_obj, part));
if (type >= EFL_CANVAS_LAYOUT_PART_TYPE_LAST)
{
ERR("Invalid type found for part '%s' in group '%s'",
part, elm_widget_theme_element_get(obj));
return NULL;
}
switch (type)
{
case EFL_CANVAS_LAYOUT_PART_TYPE_BOX:
case EFL_CANVAS_LAYOUT_PART_TYPE_TABLE:
return _efl_ui_layout_pack_proxy_get((Eo *) obj, type, part);
case EFL_CANVAS_LAYOUT_PART_TYPE_TEXT:
case EFL_CANVAS_LAYOUT_PART_TYPE_TEXTBLOCK:
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, part);
case EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW:
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, part);
default:
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CLASS, obj, part);
}
}
static const char *
_efl_ui_layout_default_content_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED)
{
const char *part = NULL;
if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_FALSE))
return NULL;
return part;
}
static const char *
_efl_ui_layout_default_text_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED)
{
const char *part = NULL;
if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE))
return NULL;
return part;
}
/* Efl.Ui.Layout.Part (common) */
EOLIAN static Eina_Bool
_efl_ui_layout_part_efl_ui_cursor_cursor_set(Eo *obj, void *_pd EINA_UNUSED, const char *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);
return _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, void *_pd EINA_UNUSED)
{
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);
return _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, void *_pd EINA_UNUSED, const char *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);
return _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, void *_pd EINA_UNUSED)
{
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);
return _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, void *_pd EINA_UNUSED, Eina_Bool 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);
return _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, void *_pd EINA_UNUSED)
{
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);
return !_efl_ui_layout_part_cursor_engine_only_get(sd, pd->part);
}
/* Efl.Ui.Layout.Part_Content */
ELM_PART_OVERRIDE_CONTENT_GET_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_CONTENT_SET_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
/* Efl.Ui.Layout.Part_Text */
ELM_PART_OVERRIDE_TEXT_GET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_SET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
EOLIAN static const char *
_efl_ui_layout_part_text_efl_ui_translatable_translatable_text_get(Eo *obj, void *_pd EINA_UNUSED, const char **domain)
{
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return elm_widget_part_translatable_text_get(pd->obj, pd->part, domain);
}
EOLIAN static void
_efl_ui_layout_part_text_efl_ui_translatable_translatable_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *label, const char *domain)
{
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
elm_widget_part_translatable_text_set(pd->obj, pd->part, label, domain);
}
/* Efl.Ui.Layout.Part_Legacy */
ELM_PART_OVERRIDE_CONTENT_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_CONTENT_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data)
EOLIAN static const char *
_efl_ui_layout_part_legacy_efl_ui_translatable_translatable_text_get(Eo *obj, void *_pd EINA_UNUSED, const char **domain)
{
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return elm_widget_part_translatable_text_get(pd->obj, pd->part, domain);
}
EOLIAN static void
_efl_ui_layout_part_legacy_efl_ui_translatable_translatable_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *label, const char *domain)
{
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
elm_widget_part_translatable_text_set(pd->obj, pd->part, label, domain);
}
/* Efl.Ui.Layout.Part_Bg (common) */
EOLIAN static Efl_Object *
_efl_ui_layout_part_bg_efl_object_finalize(Eo *obj, void *_pd EINA_UNUSED)
{
Efl_Ui_Layout_Data *sd;
Elm_Part_Data *pd;
Eo *bg;
obj = efl_finalize(efl_super(obj, EFL_UI_LAYOUT_PART_BG_CLASS));
if (!obj) return NULL;
pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
sd = efl_data_scope_get(pd->obj, MY_CLASS);
bg = _efl_ui_widget_bg_get(pd->obj);
if (!_efl_ui_layout_content_set(pd->obj, sd, "background", bg))
{
ERR("Failed to swallow new background object!");
// Shouldn't happen. What now? del bg? call super? return null?
}
return obj;
}
/* Efl.Ui.Layout.Part_Xxx includes */
#include "efl_ui_layout_part.eo.c"
#include "efl_ui_layout_part_content.eo.c"
#include "efl_ui_layout_part_bg.eo.c"
#include "efl_ui_layout_part_text.eo.c"
#include "efl_ui_layout_part_legacy.eo.c"
/* Efl.Part end */
/* Internal EO APIs and hidden overrides */
EAPI EFL_VOID_FUNC_BODY(elm_layout_sizing_eval)
EFL_FUNC_BODY_CONST(elm_layout_text_aliases_get, const Elm_Layout_Part_Alias_Description *, NULL)
EFL_FUNC_BODY_CONST(elm_layout_content_aliases_get, const Elm_Layout_Part_Alias_Description *, NULL)
ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
#define EFL_UI_LAYOUT_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_layout), \
ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_layout), \
ELM_PART_TEXT_DEFAULT_OPS(efl_ui_layout), \
ELM_LAYOUT_CONTENT_ALIASES_OPS(MY_CLASS_PFX), \
ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \
EFL_OBJECT_OP_FUNC(elm_layout_sizing_eval, _elm_layout_sizing_eval), \
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_layout_efl_object_dbg_info_get)
#include "efl_ui_layout.eo.c"

View File

@ -43,7 +43,6 @@ class Efl.Ui.Layout (Efl.Ui.Widget, Efl.Part, Efl.Container, Efl.File,
} }
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.Object.finalize; Efl.Object.finalize;
Efl.File.file { get; set; } Efl.File.file { get; set; }

View File

@ -0,0 +1,9 @@
class Efl.Ui.Layout_Legacy (Efl.Ui.Layout, Efl.Ui.Legacy)
{
[[Elementary layout class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -0,0 +1,8 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Elementary.h>
#include "elm_priv.h"
#include "efl_ui_legacy.eo.c"

View File

@ -0,0 +1,9 @@
interface EFl.Ui.Legacy (Efl.Interface)
{
[[The bg (background) widget is used for setting (solid) background decorations
in a window (unless it has transparency enabled) or on any container object. It
works just like an image but has some properties useful for backgrounds, such as
setting it to tiled, centered, scaled or stretched.
]]
}

View File

@ -18,7 +18,6 @@
#define MY_CLASS_PFX efl_ui_multibuttonentry #define MY_CLASS_PFX efl_ui_multibuttonentry
#define MY_CLASS_NAME "Efl.Ui.Multibuttonentry" #define MY_CLASS_NAME "Efl.Ui.Multibuttonentry"
#define MY_CLASS_NAME_LEGACY "elm_multibuttonentry"
#define MAX_STR 256 #define MAX_STR 256
#define MIN_W_ENTRY 10 #define MIN_W_ENTRY 10
@ -1636,13 +1635,6 @@ _efl_ui_multibuttonentry_efl_ui_widget_on_access_update(Eo *obj, Efl_Ui_Multibut
_access_obj_process(obj, _efl_ui_multibuttonentry_smart_focus_next_enable); _access_obj_process(obj, _efl_ui_multibuttonentry_smart_focus_next_enable);
} }
EAPI Evas_Object *
elm_multibuttonentry_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent);
}
static void static void
_legacy_focused(void *data, const Efl_Event *ev) _legacy_focused(void *data, const Efl_Event *ev)
{ {
@ -1684,7 +1676,6 @@ EOLIAN static Eo *
_efl_ui_multibuttonentry_efl_object_constructor(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd EINA_UNUSED) _efl_ui_multibuttonentry_efl_object_constructor(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_PANEL); efl_access_role_set(obj, EFL_ACCESS_ROLE_PANEL);
@ -1977,10 +1968,8 @@ _efl_ui_multibuttonentry_efl_ui_format_format_cb_set(Eo *obj EINA_UNUSED, Efl_Ui
} }
static void static void
_efl_ui_multibuttonentry_class_constructor(Efl_Class *klass) _efl_ui_multibuttonentry_class_constructor(Efl_Class *klass EINA_UNUSED)
{ {
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
if (_elm_config->access_mode != ELM_ACCESS_MODE_OFF) if (_elm_config->access_mode != ELM_ACCESS_MODE_OFF)
_efl_ui_multibuttonentry_smart_focus_next_enable = EINA_TRUE; _efl_ui_multibuttonentry_smart_focus_next_enable = EINA_TRUE;
} }
@ -2082,6 +2071,30 @@ ELM_PART_OVERRIDE_TEXT_GET(efl_ui_multibuttonentry, EFL_UI_MULTIBUTTONENTRY, Efl
#include "elm_multibuttonentry_item.eo.c" #include "elm_multibuttonentry_item.eo.c"
#include "efl_ui_multibuttonentry.eo.c" #include "efl_ui_multibuttonentry.eo.c"
#include "efl_ui_multibuttonentry_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_multibuttonentry"
static void
_efl_ui_multibuttonentry_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_multibuttonentry_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_MULTIBUTTONENTRY_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_multibuttonentry_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(EFL_UI_MULTIBUTTONENTRY_LEGACY_CLASS, parent);
}
/* Legacy APIs */ /* Legacy APIs */
typedef struct typedef struct
@ -2128,3 +2141,5 @@ elm_multibuttonentry_format_function_set(Eo *obj, Efl_Ui_Multibuttonentry_Format
efl_ui_format_cb_set(obj, mfwd, _format_legacy_to_format_eo_cb, _format_legacy_to_format_eo_free_cb); efl_ui_format_cb_set(obj, mfwd, _format_legacy_to_format_eo_cb, _format_legacy_to_format_eo_free_cb);
} }
#include "efl_ui_multibuttonentry_legacy.eo.c"

View File

@ -0,0 +1,9 @@
class Efl.Ui.Multibuttonentry_Legacy (Efl.Ui.Multibuttonentry, Efl.Ui.Legacy)
{
[[Elementary multibuttonentry class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -19,7 +19,6 @@
#define MY_CLASS_PFX efl_ui_panes #define MY_CLASS_PFX efl_ui_panes
#define MY_CLASS_NAME "Efl.Ui.Panes" #define MY_CLASS_NAME "Efl.Ui.Panes"
#define MY_CLASS_NAME_LEGACY "elm_panes"
/** /**
* TODO * TODO
* Update the minimun height of the bar in the theme. * Update the minimun height of the bar in the theme.
@ -465,7 +464,6 @@ EOLIAN static Eo *
_efl_ui_panes_efl_object_constructor(Eo *obj, Efl_Ui_Panes_Data *_pd EINA_UNUSED) _efl_ui_panes_efl_object_constructor(Eo *obj, Efl_Ui_Panes_Data *_pd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_SPLIT_PANE); efl_access_role_set(obj, EFL_ACCESS_ROLE_SPLIT_PANE);
@ -550,12 +548,6 @@ _efl_ui_panes_fixed_get(Eo *obj EINA_UNUSED, Efl_Ui_Panes_Data *sd)
return sd->fixed; return sd->fixed;
} }
static void
_efl_ui_panes_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
/* Efl.Part begin */ /* Efl.Part begin */
static Eina_Bool static Eina_Bool
@ -660,13 +652,30 @@ ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(efl_ui_panes)
ELM_LAYOUT_CONTENT_ALIASES_OPS(efl_ui_panes), \ ELM_LAYOUT_CONTENT_ALIASES_OPS(efl_ui_panes), \
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_panes) ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_panes)
/* Legacy APIs */ #include "efl_ui_panes.eo.c"
#include "efl_ui_panes_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_panes"
static void
_efl_ui_panes_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_panes_legacy_efl_object_constructor(Eo *obj, void *_pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_PANES_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object * EAPI Evas_Object *
elm_panes_add(Evas_Object *parent) elm_panes_add(Evas_Object *parent)
{ {
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent); return elm_legacy_add(EFL_UI_PANES_LEGACY_CLASS, parent);
} }
EAPI void EAPI void
@ -826,6 +835,4 @@ elm_panes_content_right_unset(Evas_Object *obj)
return elm_layout_content_unset(obj, "right"); return elm_layout_content_unset(obj, "right");
} }
/* Legacy APIs end */ #include "efl_ui_panes_legacy.eo.c"
#include "efl_ui_panes.eo.c"

View File

@ -49,7 +49,6 @@ class Efl.Ui.Panes (Efl.Ui.Layout, Efl.Ui.Direction,
second: Efl.Ui.Panes.Part; [[The second half of the panes widget (right or bottom)]] second: Efl.Ui.Panes.Part; [[The second half of the panes widget (right or bottom)]]
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.theme_apply;
Efl.Ui.Direction.direction { get; set; [[Only supports $vertical and $horizontal. Default is $vertical.]] } Efl.Ui.Direction.direction { get; set; [[Only supports $vertical and $horizontal. Default is $vertical.]] }

View File

@ -0,0 +1,9 @@
class Efl.Ui.Panes_Legacy(Efl.Ui.Panes, Efl.Ui.Legacy)
{
[[Elementary panes class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -19,7 +19,6 @@
#define MY_CLASS_PFX efl_ui_progressbar #define MY_CLASS_PFX efl_ui_progressbar
#define MY_CLASS_NAME "Efl.Ui.Progressbar" #define MY_CLASS_NAME "Efl.Ui.Progressbar"
#define MY_CLASS_NAME_LEGACY "elm_progressbar"
static const char SIG_CHANGED[] = "changed"; static const char SIG_CHANGED[] = "changed";
@ -421,7 +420,6 @@ EOLIAN static Eo *
_efl_ui_progressbar_efl_object_constructor(Eo *obj, Efl_Ui_Progressbar_Data *_pd EINA_UNUSED) _efl_ui_progressbar_efl_object_constructor(Eo *obj, Efl_Ui_Progressbar_Data *_pd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_PROGRESS_BAR); efl_access_role_set(obj, EFL_ACCESS_ROLE_PROGRESS_BAR);
@ -585,12 +583,6 @@ _efl_ui_progressbar_pulse_get(Eo *obj EINA_UNUSED, Efl_Ui_Progressbar_Data *sd)
return (sd->pulse_state && sd->pulse); return (sd->pulse_state && sd->pulse);
} }
EOLIAN static void
_efl_ui_progressbar_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
/* Efl.Part begin */ /* Efl.Part begin */
EOLIAN static Eo * EOLIAN static Eo *
@ -651,13 +643,29 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(efl_ui_progressbar)
#include "efl_ui_progressbar.eo.c" #include "efl_ui_progressbar.eo.c"
/* Legacy APIs */ #include "efl_ui_progressbar_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_progressbar"
static void
_efl_ui_progressbar_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_progressbar_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_PROGRESSBAR_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object * EAPI Evas_Object *
elm_progressbar_add(Evas_Object *parent) elm_progressbar_add(Evas_Object *parent)
{ {
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
Eo *obj = elm_legacy_add(MY_CLASS, parent); Eo *obj = elm_legacy_add(EFL_UI_PROGRESSBAR_LEGACY_CLASS, parent);
elm_progressbar_unit_format_set(obj, "%.0f %%"); elm_progressbar_unit_format_set(obj, "%.0f %%");
return obj; return obj;
@ -825,3 +833,5 @@ elm_progressbar_value_get(const Evas_Object *obj)
{ {
return efl_ui_range_value_get(obj); return efl_ui_range_value_get(obj);
} }
#include "efl_ui_progressbar_legacy.eo.c"

View File

@ -49,7 +49,6 @@ class Efl.Ui.Progressbar (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Format,
} }
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.theme_apply;
Efl.Ui.Widget.widget_sub_object_add; Efl.Ui.Widget.widget_sub_object_add;

View File

@ -0,0 +1,9 @@
class Efl.Ui.Progressbar_Legacy (Efl.Ui.Progressbar, Efl.Ui.Legacy)
{
[[Elementary progressbar class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -17,7 +17,6 @@
#define MY_CLASS_PFX efl_ui_radio #define MY_CLASS_PFX efl_ui_radio
#define MY_CLASS_NAME "Efl.Ui.Radio" #define MY_CLASS_NAME "Efl.Ui.Radio"
#define MY_CLASS_NAME_LEGACY "elm_radio"
static const Elm_Layout_Part_Alias_Description _text_aliases[] = static const Elm_Layout_Part_Alias_Description _text_aliases[] =
{ {
@ -209,7 +208,6 @@ _efl_ui_radio_efl_object_constructor(Eo *obj, Efl_Ui_Radio_Data *pd)
if (!elm_widget_theme_klass_get(obj)) if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "radio"); elm_widget_theme_klass_set(obj, "radio");
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
@ -337,12 +335,6 @@ _efl_ui_radio_efl_ui_widget_on_access_activate(Eo *obj, Efl_Ui_Radio_Data *_pd E
return EINA_TRUE; return EINA_TRUE;
} }
EOLIAN static void
_efl_ui_radio_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN const Efl_Access_Action_Data * EOLIAN const Efl_Access_Action_Data *
_efl_ui_radio_efl_access_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Efl_Ui_Radio_Data *pd EINA_UNUSED) _efl_ui_radio_efl_access_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Efl_Ui_Radio_Data *pd EINA_UNUSED)
{ {
@ -380,13 +372,30 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
#include "efl_ui_radio.eo.c" #include "efl_ui_radio.eo.c"
#include "efl_ui_radio_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_radio"
/* Legacy APIs */ /* Legacy APIs */
static void
_efl_ui_radio_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_radio_legacy_efl_object_constructor(Eo *obj, void *_pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_RADIO_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object * EAPI Evas_Object *
elm_radio_add(Evas_Object *parent) elm_radio_add(Evas_Object *parent)
{ {
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent); return elm_legacy_add(EFL_UI_RADIO_LEGACY_CLASS, parent);
} }
EAPI void EAPI void
@ -400,3 +409,5 @@ elm_radio_value_get(const Evas_Object *obj)
{ {
return efl_ui_nstate_value_get(obj); return efl_ui_nstate_value_get(obj);
} }
#include "efl_ui_radio_legacy.eo.c"

View File

@ -59,7 +59,6 @@ class Efl.Ui.Radio (Efl.Ui.Check, Efl.Access.Widget.Action, Efl.Content)
} }
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.Object.destructor; Efl.Object.destructor;
Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.theme_apply;

View File

@ -0,0 +1,9 @@
class Efl.Ui.Radio_Legacy (Efl.Ui.Radio, Efl.Ui.Legacy)
{
[[Elementary radio class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -18,7 +18,6 @@
#define MY_CLASS_PFX efl_ui_slider #define MY_CLASS_PFX efl_ui_slider
#define MY_CLASS_NAME "Efl.Ui.Slider" #define MY_CLASS_NAME "Efl.Ui.Slider"
#define MY_CLASS_NAME_LEGACY "elm_slider"
#define SLIDER_DELAY_CHANGED_INTERVAL 0.2 #define SLIDER_DELAY_CHANGED_INTERVAL 0.2
#define SLIDER_STEP 0.05 #define SLIDER_STEP 0.05
@ -1222,7 +1221,6 @@ EOLIAN static Eo *
_efl_ui_slider_efl_object_constructor(Eo *obj, Efl_Ui_Slider_Data *_pd EINA_UNUSED) _efl_ui_slider_efl_object_constructor(Eo *obj, Efl_Ui_Slider_Data *_pd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_SLIDER); efl_access_role_set(obj, EFL_ACCESS_ROLE_SLIDER);
@ -1313,12 +1311,6 @@ _efl_ui_slider_efl_ui_focus_object_on_focus_update(Eo *obj, Efl_Ui_Slider_Data *
return int_ret; return int_ret;
} }
EOLIAN static void
_efl_ui_slider_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
// A11Y Accessibility // A11Y Accessibility
EOLIAN static void EOLIAN static void
@ -1540,13 +1532,42 @@ _efl_ui_slider_part_indicator_visible_mode_get(Eo *obj, void *_pd EINA_UNUSED)
/* Efl.Part end */ /* Efl.Part end */
/* Legacy APIs */ /* Internal EO APIs and hidden overrides */
ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(efl_ui_slider)
ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(efl_ui_slider)
#define EFL_UI_SLIDER_EXTRA_OPS \
ELM_LAYOUT_CONTENT_ALIASES_OPS(efl_ui_slider), \
ELM_LAYOUT_TEXT_ALIASES_OPS(efl_ui_slider), \
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_slider), \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_slider)
#include "efl_ui_slider.eo.c"
#include "efl_ui_slider_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_slider"
static void
_efl_ui_slider_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_slider_legacy_efl_object_constructor(Eo *obj, void *_pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_SLIDER_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object * EAPI Evas_Object *
elm_slider_add(Evas_Object *parent) elm_slider_add(Evas_Object *parent)
{ {
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent); return elm_legacy_add(EFL_UI_SLIDER_LEGACY_CLASS, parent);
} }
EAPI void EAPI void
@ -1819,15 +1840,4 @@ elm_slider_indicator_visible_mode_get(const Evas_Object *obj)
return efl_ui_slider_part_indicator_visible_mode_get(efl_part(obj, "indicator")); return efl_ui_slider_part_indicator_visible_mode_get(efl_part(obj, "indicator"));
} }
/* Internal EO APIs and hidden overrides */ #include "efl_ui_slider_legacy.eo.c"
ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(efl_ui_slider)
ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(efl_ui_slider)
#define EFL_UI_SLIDER_EXTRA_OPS \
ELM_LAYOUT_CONTENT_ALIASES_OPS(efl_ui_slider), \
ELM_LAYOUT_TEXT_ALIASES_OPS(efl_ui_slider), \
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_slider), \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_slider)
#include "efl_ui_slider.eo.c"

View File

@ -34,7 +34,6 @@ class Efl.Ui.Slider (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Direction,
[[A floating indicator above the slider.]] [[A floating indicator above the slider.]]
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.Canvas.Group.group_calculate; Efl.Canvas.Group.group_calculate;
Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.theme_apply;

View File

@ -0,0 +1,9 @@
class Efl.Ui.Slider_Legacy (Efl.Ui.Slider, Efl.Ui.Legacy)
{
[[Elementary slider class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -18,7 +18,6 @@
#define MY_CLASS EFL_UI_VIDEO_CLASS #define MY_CLASS EFL_UI_VIDEO_CLASS
#define MY_CLASS_NAME "Efl.Ui.Video" #define MY_CLASS_NAME "Efl.Ui.Video"
#define MY_CLASS_NAME_LEGACY "elm_video"
static const Evas_Smart_Cb_Description _smart_callbacks[] = { static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */ {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
@ -258,18 +257,10 @@ _efl_ui_video_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Video_Data *sd)
efl_canvas_group_del(efl_super(obj, MY_CLASS)); efl_canvas_group_del(efl_super(obj, MY_CLASS));
} }
EAPI Evas_Object *
elm_video_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent);
}
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_video_efl_object_constructor(Eo *obj, Efl_Ui_Video_Data *_pd EINA_UNUSED) _efl_ui_video_efl_object_constructor(Eo *obj, Efl_Ui_Video_Data *_pd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_role_set(obj, EFL_ACCESS_ROLE_ANIMATION); efl_access_role_set(obj, EFL_ACCESS_ROLE_ANIMATION);
@ -373,12 +364,6 @@ _efl_ui_video_remember_position_get(Eo *obj EINA_UNUSED, Efl_Ui_Video_Data *sd)
return sd->remember; return sd->remember;
} }
EOLIAN static void
_efl_ui_video_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN const Efl_Access_Action_Data * EOLIAN const Efl_Access_Action_Data *
_efl_ui_video_efl_access_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Efl_Ui_Video_Data *pd EINA_UNUSED) _efl_ui_video_efl_access_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Efl_Ui_Video_Data *pd EINA_UNUSED)
{ {
@ -390,6 +375,42 @@ _efl_ui_video_efl_access_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Efl_
}; };
return &atspi_actions[0]; return &atspi_actions[0];
} }
/* Internal EO APIs and hidden overrides */
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_video, Efl_Ui_Video_Data)
/* Internal EO APIs and hidden overrides */
#define EFL_UI_VIDEO_EXTRA_OPS \
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_video), \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_video)
#include "efl_ui_video.eo.c"
#include "efl_ui_video_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_video"
static void
_efl_ui_video_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_video_legacy_efl_object_constructor(Eo *obj, void *_pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_VIDEO_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_video_add(Evas_Object *parent)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(EFL_UI_VIDEO_LEGACY_CLASS, parent);
}
EAPI Eina_Bool EAPI Eina_Bool
elm_video_file_set(Eo *obj, const char *filename) elm_video_file_set(Eo *obj, const char *filename)
@ -475,14 +496,4 @@ elm_video_pause(Evas_Object *obj)
efl_player_play_set(obj, EINA_FALSE); efl_player_play_set(obj, EINA_FALSE);
} }
/* Internal EO APIs and hidden overrides */ #include "efl_ui_video_legacy.eo.c"
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_video, Efl_Ui_Video_Data)
/* Internal EO APIs and hidden overrides */
#define EFL_UI_VIDEO_EXTRA_OPS \
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_video), \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_video)
#include "efl_ui_video.eo.c"

View File

@ -42,7 +42,6 @@ class Efl.Ui.Video (Efl.Ui.Layout, Efl.File,
} }
} }
implements { implements {
class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Efl.File.file { get; set; } Efl.File.file { get; set; }
Efl.Ui.Widget.widget_event; Efl.Ui.Widget.widget_event;

View File

@ -0,0 +1,9 @@
class Efl.Ui.Video_Legacy (Efl.Ui.Video, Efl.Ui.Legacy)
{
[[Efl UI video class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -55,9 +55,6 @@ typedef struct _Elm_Event_Cb_Data Elm_Event_Cb_Data;
typedef struct _Elm_Label_Data Elm_Label_Data; typedef struct _Elm_Label_Data Elm_Label_Data;
typedef struct _Elm_Translate_String_Data Elm_Translate_String_Data; typedef struct _Elm_Translate_String_Data Elm_Translate_String_Data;
/* FIXME: EAPI because of elm_code_widget test case */
EAPI Eina_Bool _elm_legacy_add = EINA_FALSE;
struct _Elm_Event_Cb_Data struct _Elm_Event_Cb_Data
{ {
Elm_Event_Cb func; Elm_Event_Cb func;
@ -5162,11 +5159,6 @@ _efl_ui_widget_efl_object_constructor(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UN
Eo *parent = NULL; Eo *parent = NULL;
sd->on_create = EINA_TRUE; sd->on_create = EINA_TRUE;
if (_elm_legacy_add)
{
sd->legacy = _elm_legacy_add;
_elm_legacy_add = EINA_FALSE;
}
efl_canvas_group_clipped_set(obj, EINA_FALSE); efl_canvas_group_clipped_set(obj, EINA_FALSE);
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY); efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
@ -5217,13 +5209,6 @@ _efl_ui_widget_efl_object_destructor(Eo *obj, Elm_Widget_Smart_Data *sd)
} }
/* internal eo */ /* internal eo */
static void
_efl_ui_widget_legacy_ctor(Eo *obj, Elm_Widget_Smart_Data *sd)
{
efl_canvas_object_legacy_ctor(efl_super(obj, MY_CLASS));
sd->legacy = EINA_TRUE;
_elm_legacy_add = EINA_FALSE;
}
EOLIAN static void EOLIAN static void
_efl_ui_widget_efl_object_debug_name_override(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UNUSED, Eina_Strbuf *sb) _efl_ui_widget_efl_object_debug_name_override(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UNUSED, Eina_Strbuf *sb)
@ -6009,7 +5994,6 @@ ELM_PART_TEXT_DEFAULT_GET(efl_ui_widget, NULL)
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_widget), \ EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_widget), \
ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_widget), \ ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_widget), \
ELM_PART_TEXT_DEFAULT_OPS(efl_ui_widget), \ ELM_PART_TEXT_DEFAULT_OPS(efl_ui_widget), \
EFL_OBJECT_OP_FUNC(efl_canvas_object_legacy_ctor, _efl_ui_widget_legacy_ctor), \
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_widget_efl_object_dbg_info_get) EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_widget_efl_object_dbg_info_get)
#include "elm_widget_item.eo.c" #include "elm_widget_item.eo.c"

View File

@ -5103,7 +5103,6 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
/* FIXME: Major hack: calling the constructor in the middle of finalize. */ /* FIXME: Major hack: calling the constructor in the middle of finalize. */
efl_constructor(efl_super(obj, MY_CLASS)); efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
evas_object_focus_set(obj, EINA_TRUE); evas_object_focus_set(obj, EINA_TRUE);
@ -6958,10 +6957,8 @@ _on_atspi_bus_connected(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUS
} }
EOLIAN static void EOLIAN static void
_efl_ui_win_class_constructor(Efl_Class *klass) _efl_ui_win_class_constructor(Efl_Class *klass EINA_UNUSED)
{ {
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
if (_elm_config->atspi_mode) if (_elm_config->atspi_mode)
{ {
Eo *bridge = _elm_atspi_bridge_get(); Eo *bridge = _elm_atspi_bridge_get();
@ -8326,62 +8323,6 @@ _fake_canvas_set(Evas_Object *obj, Ecore_Evas *oee)
_elm_win_need_frame_adjust(sd, ecore_evas_engine_name_get(oee)); _elm_win_need_frame_adjust(sd, ecore_evas_engine_name_get(oee));
} }
EAPI Evas_Object *
elm_win_add(Evas_Object *parent, const char *name, Efl_Ui_Win_Type type)
{
const Efl_Class *klass = MY_CLASS;
switch ((int) type)
{
case ELM_WIN_INLINED_IMAGE: klass = EFL_UI_WIN_INLINED_CLASS; break;
case ELM_WIN_SOCKET_IMAGE: klass = EFL_UI_WIN_SOCKET_CLASS; break;
default: break;
}
return elm_legacy_add(klass, parent,
efl_ui_win_name_set(efl_added, name),
efl_ui_win_type_set(efl_added, type));
}
EAPI Evas_Object *
elm_win_fake_add(Ecore_Evas *ee)
{
return elm_legacy_add(MY_CLASS, NULL,
_fake_canvas_set(efl_added, ee),
efl_ui_win_name_set(efl_added, NULL),
efl_ui_win_type_set(efl_added, ELM_WIN_FAKE));
}
EAPI Evas_Object *
elm_win_util_standard_add(const char *name, const char *title)
{
Evas_Object *win;
win = elm_legacy_add(EFL_UI_WIN_CLASS, NULL,
efl_text_set(efl_added, title),
efl_ui_win_name_set(efl_added, name),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC));
if (!win) return NULL;
_elm_win_standard_init(win);
return win;
}
EAPI Evas_Object *
elm_win_util_dialog_add(Evas_Object *parent, const char *name, const char *title)
{
Evas_Object *win;
win = elm_legacy_add(EFL_UI_WIN_CLASS, parent,
efl_text_set(efl_added, title),
efl_ui_win_name_set(efl_added, name),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC));
if (!win) return NULL;
_elm_win_standard_init(win);
return win;
}
/** /**
* @internal * @internal
* *
@ -8676,3 +8617,78 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_win, Efl_Ui_Win_Data)
EFL_OBJECT_OP_FUNC(efl_canvas_object_legacy_ctor, _efl_ui_win_efl_canvas_object_legacy_ctor) EFL_OBJECT_OP_FUNC(efl_canvas_object_legacy_ctor, _efl_ui_win_efl_canvas_object_legacy_ctor)
#include "efl_ui_win.eo.c" #include "efl_ui_win.eo.c"
#include "efl_ui_win_legacy.eo.h"
static void
_efl_ui_win_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_win_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_WIN_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object *
elm_win_add(Evas_Object *parent, const char *name, Efl_Ui_Win_Type type)
{
const Efl_Class *klass = EFL_UI_WIN_LEGACY_CLASS;
switch ((int) type)
{
case ELM_WIN_INLINED_IMAGE: klass = EFL_UI_WIN_INLINED_CLASS; break;
case ELM_WIN_SOCKET_IMAGE: klass = EFL_UI_WIN_SOCKET_CLASS; break;
default: break;
}
return elm_legacy_add(klass, parent,
efl_ui_win_name_set(efl_added, name),
efl_ui_win_type_set(efl_added, type));
}
EAPI Evas_Object *
elm_win_fake_add(Ecore_Evas *ee)
{
return elm_legacy_add(EFL_UI_WIN_LEGACY_CLASS, NULL,
_fake_canvas_set(efl_added, ee),
efl_ui_win_name_set(efl_added, NULL),
efl_ui_win_type_set(efl_added, ELM_WIN_FAKE));
}
EAPI Evas_Object *
elm_win_util_standard_add(const char *name, const char *title)
{
Evas_Object *win;
win = elm_legacy_add(EFL_UI_WIN_LEGACY_CLASS, NULL,
efl_text_set(efl_added, title),
efl_ui_win_name_set(efl_added, name),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC));
if (!win) return NULL;
_elm_win_standard_init(win);
return win;
}
EAPI Evas_Object *
elm_win_util_dialog_add(Evas_Object *parent, const char *name, const char *title)
{
Evas_Object *win;
win = elm_legacy_add(EFL_UI_WIN_LEGACY_CLASS, parent,
efl_text_set(efl_added, title),
efl_ui_win_name_set(efl_added, name),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC));
if (!win) return NULL;
_elm_win_standard_init(win);
return win;
}
#include "efl_ui_win_legacy.eo.c"

View File

@ -0,0 +1,9 @@
class Efl.Ui.Win_Legacy (Efl.Ui.Win, Efl.Ui.Legacy)
{
[[Efl UI window class]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
}
}

View File

@ -10,7 +10,7 @@ enum Elm.Actionslider.Pos
all = (1 << 3) - 1 [[All positions for left/center/right.]] all = (1 << 3) - 1 [[All positions for left/center/right.]]
} }
class Elm.Actionslider (Efl.Ui.Layout, Efl.Ui.Selectable) class Elm.Actionslider (Efl.Ui.Layout, Efl.Ui.Selectable, Efl.Ui.Legacy)
{ {
[[An actionslider is a switcher for 2 or 3 labels [[An actionslider is a switcher for 2 or 3 labels

View File

@ -1,6 +1,6 @@
import evas_box; import evas_box;
class Elm.Box (Efl.Ui.Widget, Efl.Ui.Focus.Composition) class Elm.Box (Efl.Ui.Widget, Efl.Ui.Focus.Composition, Efl.Ui.Legacy)
{ {
[[Elementary box class]] [[Elementary box class]]
legacy_prefix: elm_box; legacy_prefix: elm_box;

View File

@ -12,7 +12,7 @@ enum Elm.Bubble.Pos
bottom_right [[The arrow of the bubble points to the bottom right corner.]] bottom_right [[The arrow of the bubble points to the bottom right corner.]]
} }
class Elm.Bubble (Efl.Ui.Layout, Efl.Ui.Clickable) class Elm.Bubble (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Legacy)
{ {
[[Speech bubble widget used in messaging applications]] [[Speech bubble widget used in messaging applications]]

View File

@ -72,7 +72,8 @@ struct Elm.Calendar.Mark; [[Item handle for a calendar mark.
with @Elm.Calendar.mark_del. with @Elm.Calendar.mark_del.
]] ]]
class Elm.Calendar (Efl.Ui.Layout, Efl.Ui.Focus.Composition, Efl.Access.Widget.Action) class Elm.Calendar (Efl.Ui.Layout, Efl.Ui.Focus.Composition, Efl.Access.Widget.Action,
Efl.Ui.Legacy)
{ {
[[Calendar widget [[Calendar widget

View File

@ -18,7 +18,7 @@ enum Elm.Clock.Edit_Mode
all = (1 << 6) - 1 [[All digits should be editable.]] all = (1 << 6) - 1 [[All digits should be editable.]]
} }
class Elm.Clock (Efl.Ui.Layout, Efl.Ui.Focus.Composition) class Elm.Clock (Efl.Ui.Layout, Efl.Ui.Focus.Composition, Efl.Ui.Legacy)
{ {
[[Digital clock widget [[Digital clock widget

View File

@ -11,6 +11,7 @@
#include "elm_code_parse.h" #include "elm_code_parse.h"
#include "elm_code_syntax.h" #include "elm_code_syntax.h"
#include "elm_code_widget.eo.h" #include "elm_code_widget.eo.h"
#include "elm_code_widget_legacy.eo.h"
#include "elm_code_widget_legacy.h" #include "elm_code_widget_legacy.h"
#include "elm_code_widget_selection.h" #include "elm_code_widget_selection.h"
#include "elm_code_diff_widget.h" #include "elm_code_diff_widget.h"

View File

@ -95,7 +95,7 @@ elm_code_diff_widget_add(Evas_Object *parent, Elm_Code *code)
// left side of diff // left side of diff
wcode1 = elm_code_create(); wcode1 = elm_code_create();
elm_code_parser_standard_add(wcode1, ELM_CODE_PARSER_STANDARD_DIFF); elm_code_parser_standard_add(wcode1, ELM_CODE_PARSER_STANDARD_DIFF);
widget_left = efl_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(efl_added, wcode1)); widget_left = elm_legacy_add(ELM_CODE_WIDGET_LEGACY_CLASS, parent, elm_obj_code_widget_code_set(efl_added, wcode1));
evas_object_size_hint_weight_set(widget_left, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(widget_left, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(widget_left, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(widget_left, EVAS_HINT_FILL, EVAS_HINT_FILL);
@ -106,7 +106,7 @@ elm_code_diff_widget_add(Evas_Object *parent, Elm_Code *code)
// right side of diff // right side of diff
wcode2 = elm_code_create(); wcode2 = elm_code_create();
elm_code_parser_standard_add(wcode2, ELM_CODE_PARSER_STANDARD_DIFF); elm_code_parser_standard_add(wcode2, ELM_CODE_PARSER_STANDARD_DIFF);
widget_right = efl_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(efl_added, wcode2)); widget_right = elm_legacy_add(ELM_CODE_WIDGET_LEGACY_CLASS, parent, elm_obj_code_widget_code_set(efl_added, wcode2));
evas_object_size_hint_weight_set(widget_right, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(widget_right, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(widget_right, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(widget_right, EVAS_HINT_FILL, EVAS_HINT_FILL);

View File

@ -59,12 +59,19 @@ static Eina_Unicode status_icons[] = {
static void _elm_code_widget_resize(Elm_Code_Widget *widget, Elm_Code_Line *newline); static void _elm_code_widget_resize(Elm_Code_Widget *widget, Elm_Code_Line *newline);
#ifndef ELM_CODE_TEST #ifndef ELM_CODE_TEST
#include "elm_code_widget_legacy.eo.h"
EAPI Evas_Object * EAPI Evas_Object *
elm_code_widget_add(Evas_Object *parent, Elm_Code *code) elm_code_widget_add(Evas_Object *parent, Elm_Code *code)
{ {
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(MY_CLASS, parent, elm_obj_code_widget_code_set(efl_added, code)); return elm_legacy_add(ELM_CODE_WIDGET_LEGACY_CLASS, parent,
elm_obj_code_widget_code_set(efl_added, code));
} }
#include "elm_code_widget_legacy.eo.c"
#endif // ELM_CODE_TEST #endif // ELM_CODE_TEST
EOLIAN static Eo * EOLIAN static Eo *

View File

@ -0,0 +1,5 @@
class Elm.Code_Widget_Legacy (Elm.Code_Widget, Efl.Ui.Legacy)
{
[[Elementary code widget]]
data: null;
}

View File

@ -13,7 +13,7 @@ enum Elm.Colorselector.Mode
} }
class Elm.Colorselector (Efl.Ui.Layout, Efl.Ui.Focus.Composition, class Elm.Colorselector (Efl.Ui.Layout, Efl.Ui.Focus.Composition,
Efl.Access.Widget.Action, Efl.Ui.Clickable) Efl.Access.Widget.Action, Efl.Ui.Clickable, Efl.Ui.Legacy)
{ {
[[Elementary colorselector class]] [[Elementary colorselector class]]
legacy_prefix: elm_colorselector; legacy_prefix: elm_colorselector;

View File

@ -1,6 +1,6 @@
class Elm.Combobox (Efl.Ui.Button, Efl.Ui.Selectable, class Elm.Combobox (Efl.Ui.Button, Efl.Ui.Selectable,
Efl.Access.Widget.Action, Efl.Access.Widget.Action,
Elm.Entry, Elm.Genlist, Elm.Hover) Elm.Entry, Elm.Genlist, Elm.Hover, Efl.Ui.Legacy)
{ {
[[Elementary combobox class]] [[Elementary combobox class]]
legacy_prefix: elm_combobox; legacy_prefix: elm_combobox;

View File

@ -1,4 +1,4 @@
class Elm.Conformant (Efl.Ui.Layout) class Elm.Conformant (Efl.Ui.Layout, Efl.Ui.Legacy)
{ {
[[Elementary conformant class]] [[Elementary conformant class]]
legacy_prefix: elm_conformant; legacy_prefix: elm_conformant;

View File

@ -9,7 +9,7 @@ enum Elm.Ctxpopup.Direction
} }
class Elm.Ctxpopup (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Access.Widget.Action, class Elm.Ctxpopup (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Access.Widget.Action,
Efl.Ui.Menu) Efl.Ui.Menu, Efl.Ui.Legacy)
{ {
[[Elementary context popup class]] [[Elementary context popup class]]
legacy_prefix: elm_ctxpopup; legacy_prefix: elm_ctxpopup;

View File

@ -1,4 +1,5 @@
class Elm.Ctxpopup.Item(Elm.Widget.Item, Efl.Ui.Item, Efl.Access.Widget.Action) class Elm.Ctxpopup.Item(Elm.Widget.Item, Efl.Ui.Item, Efl.Access.Widget.Action,
Efl.Ui.Legacy)
{ {
[[Elementary context popup item class]] [[Elementary context popup item class]]
legacy_prefix: elm_ctxpopup_item; legacy_prefix: elm_ctxpopup_item;

View File

@ -17,11 +17,29 @@
#include "elm_datetime.h" #include "elm_datetime.h"
#include "efl_ui_clock_legacy.eo.h"
#define MY_CLASS_NAME_LEGACY "elm_datetime"
static void
_efl_ui_clock_legacy_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
EOLIAN static Eo *
_efl_ui_clock_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
{
obj = efl_constructor(efl_super(obj, EFL_UI_CLOCK_LEGACY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
return obj;
}
EAPI Evas_Object * EAPI Evas_Object *
elm_datetime_add(Evas_Object *parent) elm_datetime_add(Evas_Object *parent)
{ {
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
return elm_legacy_add(EFL_UI_CLOCK_CLASS, parent); return elm_legacy_add(EFL_UI_CLOCK_LEGACY_CLASS, parent);
} }
EAPI void EAPI void
@ -131,3 +149,5 @@ elm_datetime_value_max_get(const Evas_Object *obj, Efl_Time *maxtime)
if (maxtime) *maxtime = efl_ui_clock_time_max_get(obj); if (maxtime) *maxtime = efl_ui_clock_time_max_get(obj);
return EINA_TRUE; return EINA_TRUE;
} }
#include "efl_ui_clock_legacy.eo.c"

View File

@ -17,7 +17,7 @@ enum Elm.Dayselector.Day
max [[Sentinel value to indicate last enum field during iteration]] max [[Sentinel value to indicate last enum field during iteration]]
} }
class Elm.Dayselector (Efl.Ui.Layout) class Elm.Dayselector (Efl.Ui.Layout, Efl.Ui.Legacy)
{ {
[[Elementary dayselector class]] [[Elementary dayselector class]]
legacy_prefix: elm_dayselector; legacy_prefix: elm_dayselector;

View File

@ -1,7 +1,7 @@
class Elm.Diskselector (Efl.Ui.Widget, Elm.Interface_Scrollable, class Elm.Diskselector (Efl.Ui.Widget, Elm.Interface_Scrollable,
Efl.Access.Widget.Action, Efl.Access.Widget.Action,
Efl.Ui.Clickable, Efl.Ui.Scrollable, Efl.Ui.Clickable, Efl.Ui.Scrollable,
Efl.Ui.Selectable) Efl.Ui.Selectable, Efl.Ui.Legacy)
{ {
[[Elementary diskselector class]] [[Elementary diskselector class]]
legacy_prefix: elm_diskselector; legacy_prefix: elm_diskselector;

View File

@ -1,4 +1,4 @@
class Elm.Diskselector.Item(Elm.Widget.Item) class Elm.Diskselector.Item(Elm.Widget.Item, Efl.Ui.Legacy)
{ {
[[Elementary diskselector item class]] [[Elementary diskselector item class]]
legacy_prefix: elm_diskselector_item; legacy_prefix: elm_diskselector_item;

View File

@ -5,7 +5,8 @@ type Elm_Entry_Filter_Cb: __undefined_type; [[Elementary entry filter callback t
class Elm.Entry (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, class Elm.Entry (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Efl.Access.Text, Efl.Access.Editable.Text, Efl.File, Efl.Access.Text, Efl.Access.Editable.Text, Efl.File,
Efl.Ui.Selectable, Efl.Ui.Scrollable, Efl.Access.Widget.Action) Efl.Ui.Selectable, Efl.Ui.Scrollable, Efl.Access.Widget.Action,
Efl.Ui.Legacy)
{ {
[[Elementary entry class]] [[Elementary entry class]]
legacy_prefix: elm_entry; legacy_prefix: elm_entry;

View File

@ -1,6 +1,6 @@
class Elm.Fileselector (Efl.Ui.Layout, Elm.Interface.Fileselector, class Elm.Fileselector (Efl.Ui.Layout, Elm.Interface.Fileselector,
Efl.Access.Widget.Action, Efl.Access.Widget.Action,
Efl.Ui.Clickable, Efl.Ui.Selectable) Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy)
{ {
[[Elementary fileselector class]] [[Elementary fileselector class]]
legacy_prefix: elm_fileselector; legacy_prefix: elm_fileselector;

View File

@ -1,4 +1,5 @@
class Elm.Fileselector_Button (Efl.Ui.Button, Elm.Interface.Fileselector) class Elm.Fileselector_Button (Efl.Ui.Button, Elm.Interface.Fileselector,
Efl.Ui.Legacy)
{ {
[[Elementary fileselector button class]] [[Elementary fileselector button class]]
event_prefix: elm_fileselector_button; event_prefix: elm_fileselector_button;

View File

@ -1,5 +1,5 @@
class Elm.Fileselector_Entry (Efl.Ui.Layout, Elm.Interface.Fileselector, class Elm.Fileselector_Entry (Efl.Ui.Layout, Elm.Interface.Fileselector,
Efl.Ui.Clickable, Efl.Ui.Selectable) Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy)
{ {
[[Elementary fileselector entry class]] [[Elementary fileselector entry class]]
event_prefix: elm_fileselector_entry; event_prefix: elm_fileselector_entry;

View File

@ -1,6 +1,6 @@
class Elm.Flipselector (Efl.Ui.Layout, Efl.Ui.Range, class Elm.Flipselector (Efl.Ui.Layout, Efl.Ui.Range,
Efl.Access.Widget.Action, Efl.Access.Widget.Action,
Efl.Ui.Selectable) Efl.Ui.Selectable, Efl.Ui.Legacy)
{ {
[[Elementary flipselector class]] [[Elementary flipselector class]]
legacy_prefix: elm_flipselector; legacy_prefix: elm_flipselector;

View File

@ -12,7 +12,7 @@ enum Elm.Gengrid.Reorder_Type
class Elm.Gengrid (Efl.Ui.Layout, Efl.Ui.Focus.Composition, Elm.Interface_Scrollable, class Elm.Gengrid (Efl.Ui.Layout, Efl.Ui.Focus.Composition, Elm.Interface_Scrollable,
Efl.Ui.Clickable, Efl.Access.Widget.Action, Efl.Ui.Clickable, Efl.Access.Widget.Action,
Efl.Access.Selection) Efl.Access.Selection, Efl.Ui.Legacy)
{ {
[[Elementary gengrid class]] [[Elementary gengrid class]]
legacy_prefix: elm_gengrid; legacy_prefix: elm_gengrid;

View File

@ -25,7 +25,7 @@ enum Elm.Gengrid.Item.Field_Type
} }
class Elm.Gengrid.Item(Elm.Widget.Item.Static_Focus, Efl.Ui.Focus.Object) class Elm.Gengrid.Item(Elm.Widget.Item.Static_Focus, Efl.Ui.Focus.Object, Efl.Ui.Legacy)
{ {
[[Elementary gengrid item class]] [[Elementary gengrid item class]]
legacy_prefix: elm_gengrid_item; legacy_prefix: elm_gengrid_item;

View File

@ -4,7 +4,7 @@ import elm_genlist_item;
class Elm.Genlist (Efl.Ui.Layout, Efl.Ui.Focus.Composition, Elm.Interface_Scrollable, Efl.Ui.Clickable, class Elm.Genlist (Efl.Ui.Layout, Efl.Ui.Focus.Composition, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Efl.Access.Widget_Action, Efl.Access.Selection, Efl.Access.Widget_Action, Efl.Access.Selection,
Efl.Ui.Selectable) Efl.Ui.Selectable, Efl.Ui.Legacy)
{ {
[[Elementary genlist class]] [[Elementary genlist class]]
legacy_prefix: elm_genlist; legacy_prefix: elm_genlist;

View File

@ -38,7 +38,7 @@ enum Elm.Genlist.Item.Scrollto_Type
bottom = (1 << 3) [[To the bottom of viewport.]] bottom = (1 << 3) [[To the bottom of viewport.]]
} }
class Elm.Genlist.Item(Elm.Widget.Item.Static_Focus) class Elm.Genlist.Item(Elm.Widget.Item.Static_Focus, Efl.Ui.Legacy)
{ {
[[Elementary genlist item class]] [[Elementary genlist item class]]
legacy_prefix: elm_genlist_item; legacy_prefix: elm_genlist_item;

View File

@ -31,7 +31,7 @@ enum Elm.Gesture.State
abort [[Ongoing gesture was aborted]] abort [[Ongoing gesture was aborted]]
} }
class Elm.Gesture_Layer (Efl.Ui.Widget) class Elm.Gesture_Layer (Efl.Ui.Widget, Efl.Ui.Legacy)
{ {
[[Elementary gesture layer class]] [[Elementary gesture layer class]]
legacy_prefix: elm_gesture_layer; legacy_prefix: elm_gesture_layer;

View File

@ -80,7 +80,7 @@ enum Elm.GLView.Render.Policy
always = 2 [[Render always even when it is not visible]] always = 2 [[Render always even when it is not visible]]
} }
class Elm.Glview (Efl.Ui.Widget, Efl.Gfx.View) class Elm.Glview (Efl.Ui.Widget, Efl.Gfx.View, Efl.Ui.Legacy)
{ {
[[Elementary GL view class]] [[Elementary GL view class]]
legacy_prefix: elm_glview; legacy_prefix: elm_glview;

View File

@ -1,4 +1,4 @@
class Elm.Grid (Efl.Ui.Widget, Efl.Ui.Focus.Composition) class Elm.Grid (Efl.Ui.Widget, Efl.Ui.Focus.Composition, Efl.Ui.Legacy)
{ {
[[Elementary grid class]] [[Elementary grid class]]
legacy_prefix: elm_grid; legacy_prefix: elm_grid;

View File

@ -7,7 +7,8 @@ enum Elm.Hover.Axis
both [[ELM_HOVER_AXIS_BOTH -- both.]] both [[ELM_HOVER_AXIS_BOTH -- both.]]
} }
class Elm.Hover (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Ui.Clickable, Efl.Access.Widget.Action) class Elm.Hover (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Ui.Clickable,
Efl.Access.Widget.Action, Efl.Ui.Legacy)
{ {
[[Elementary hover class]] [[Elementary hover class]]
legacy_prefix: elm_hover; legacy_prefix: elm_hover;

View File

@ -2,7 +2,8 @@ import elm_general;
class Elm.Hoversel (Efl.Ui.Button, Efl.Ui.Selectable, class Elm.Hoversel (Efl.Ui.Button, Efl.Ui.Selectable,
Efl.Ui.Clickable, Efl.Ui.Clickable,
Efl.Access.Widget.Action) Efl.Access.Widget.Action,
Efl.Ui.Legacy)
{ {
[[Elementary hoversel class]] [[Elementary hoversel class]]
legacy_prefix: elm_hoversel; legacy_prefix: elm_hoversel;

View File

@ -1,6 +1,6 @@
import elm_general; import elm_general;
class Elm.Hoversel.Item(Elm.Widget.Item) class Elm.Hoversel.Item(Elm.Widget.Item, Efl.Ui.Legacy)
{ {
[[Elementary hoversel item class]] [[Elementary hoversel item class]]
legacy_prefix: elm_hoversel_item; legacy_prefix: elm_hoversel_item;

View File

@ -1,4 +1,4 @@
class Elm.Icon (Efl.Ui.Image) class Elm.Icon (Efl.Ui.Image, Efl.Ui.Legacy)
{ {
[[Elementary Icon Class]] [[Elementary Icon Class]]
legacy_prefix: elm_icon; legacy_prefix: elm_icon;

View File

@ -1,5 +1,5 @@
class Elm.Index (Efl.Ui.Layout, Efl.Ui.Direction, class Elm.Index (Efl.Ui.Layout, Efl.Ui.Direction,
Efl.Ui.Clickable, Efl.Ui.Selectable) Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy)
{ {
[[elementary index class]] [[elementary index class]]
legacy_prefix: elm_index; legacy_prefix: elm_index;

View File

@ -1,4 +1,4 @@
class Elm.Index.Item(Elm.Widget.Item, Efl.Access.Widget.Action) class Elm.Index.Item(Elm.Widget.Item, Efl.Access.Widget.Action, Efl.Ui.Legacy)
{ {
[[Elementary index item class]] [[Elementary index item class]]
legacy_prefix: elm_index_item; legacy_prefix: elm_index_item;

View File

@ -193,7 +193,7 @@ _elm_pan_content_size_get(Eo *obj EINA_UNUSED, Elm_Pan_Smart_Data *psd, Evas_Coo
static Evas_Object * static Evas_Object *
_elm_pan_add(Evas *evas) _elm_pan_add(Evas *evas)
{ {
return efl_add(MY_PAN_CLASS, evas, efl_canvas_object_legacy_ctor(efl_added)); return elm_legacy_add(MY_PAN_CLASS, evas);
} }
EOLIAN static Eo * EOLIAN static Eo *

View File

@ -16,6 +16,7 @@
#include "efl_access_image.eo.h" #include "efl_access_image.eo.h"
#include "efl_access_selection.eo.h" #include "efl_access_selection.eo.h"
#include "efl_access_value.eo.h" #include "efl_access_value.eo.h"
#include "efl_ui_legacy.eo.h"
#endif #endif
#ifndef EFL_NOLEGACY_API_SUPPORT #ifndef EFL_NOLEGACY_API_SUPPORT
#include "efl_access_action.eo.legacy.h" #include "efl_access_action.eo.legacy.h"
@ -24,5 +25,6 @@
#include "efl_access_image.eo.legacy.h" #include "efl_access_image.eo.legacy.h"
#include "efl_access_selection.eo.legacy.h" #include "efl_access_selection.eo.legacy.h"
#include "efl_access_value.eo.legacy.h" #include "efl_access_value.eo.legacy.h"
#include "efl_ui_legacy.eo.legacy.h"
#endif #endif
#endif #endif

View File

@ -1,4 +1,4 @@
class Elm.Inwin (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Content) class Elm.Inwin (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Content, Efl.Ui.Legacy)
{ {
[[Elementary inwin class]] [[Elementary inwin class]]
legacy_prefix: elm_inwin; legacy_prefix: elm_inwin;

View File

@ -8,7 +8,7 @@ enum Elm.Label.Slide_Mode
always [[Slide always.]] always [[Slide always.]]
} }
class Elm.Label (Efl.Ui.Layout) class Elm.Label (Efl.Ui.Layout, Efl.Ui.Legacy)
{ {
[[Elementary label class]] [[Elementary label class]]
legacy_prefix: elm_label; legacy_prefix: elm_label;

View File

@ -38,7 +38,7 @@ enum Elm.List.Mode
class Elm.List (Efl.Ui.Layout, Elm.Interface_Scrollable, class Elm.List (Efl.Ui.Layout, Elm.Interface_Scrollable,
Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Access.Widget.Action, Efl.Access.Selection,
Efl.Ui.Clickable, Efl.Ui.Selectable) Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy)
{ {
[[Elementary list class]] [[Elementary list class]]
legacy_prefix: elm_list; legacy_prefix: elm_list;

View File

@ -1,4 +1,4 @@
class Elm.List.Item(Elm.Widget.Item) class Elm.List.Item(Elm.Widget.Item, Efl.Ui.Legacy)
{ {
[[Elementary list item class]] [[Elementary list item class]]
legacy_prefix: elm_list_item; legacy_prefix: elm_list_item;

View File

@ -71,7 +71,7 @@ enum Elm.Map.Route_Method
class Elm.Map (Efl.Ui.Widget, Elm.Interface_Scrollable, class Elm.Map (Efl.Ui.Widget, Elm.Interface_Scrollable,
Efl.Access.Widget.Action, Efl.Access.Widget.Action,
Efl.Ui.Clickable) Efl.Ui.Clickable, Efl.Ui.Legacy)
{ {
[[Elementary map class]] [[Elementary map class]]
legacy_prefix: elm_map; legacy_prefix: elm_map;

View File

@ -1,4 +1,4 @@
class Elm.Mapbuf (Efl.Ui.Widget, Efl.Content, Efl.Part) class Elm.Mapbuf (Efl.Ui.Widget, Efl.Content, Efl.Part, Efl.Ui.Legacy)
{ {
[[Elementary mapbuf class]] [[Elementary mapbuf class]]
legacy_prefix: elm_mapbuf; legacy_prefix: elm_mapbuf;

View File

@ -1,5 +1,5 @@
class Elm.Menu (Efl.Ui.Widget, Efl.Ui.Clickable, Efl.Ui.Menu, class Elm.Menu (Efl.Ui.Widget, Efl.Ui.Clickable, Efl.Ui.Menu,
Efl.Access.Selection, Efl.Ui.Focus.Manager) Efl.Access.Selection, Efl.Ui.Focus.Manager, Efl.Ui.Legacy)
{ {
[[Elementary menu class]] [[Elementary menu class]]
legacy_prefix: elm_menu; legacy_prefix: elm_menu;

View File

@ -1,5 +1,5 @@
class Elm.Menu.Item(Elm.Widget.Item, Efl.Access.Selection, class Elm.Menu.Item(Elm.Widget.Item, Efl.Access.Selection,
Efl.Ui.Item) Efl.Ui.Item, Efl.Ui.Legacy)
{ {
[[Elementary menu item class]] [[Elementary menu item class]]
legacy_prefix: elm_menu_item; legacy_prefix: elm_menu_item;

View File

@ -1,5 +1,6 @@
class Elm.Multibuttonentry.Item(Elm.Widget.Item, class Elm.Multibuttonentry.Item(Elm.Widget.Item,
Efl.Access.Widget.Action) Efl.Access.Widget.Action,
Efl.Ui.Legacy)
{ {
[[Elementary multibuttonentry class]] [[Elementary multibuttonentry class]]
legacy_prefix: elm_multibuttonentry_item; legacy_prefix: elm_multibuttonentry_item;

View File

@ -1,4 +1,4 @@
class Elm.Naviframe (Efl.Ui.Layout, Efl.Access.Widget.Action) class Elm.Naviframe (Efl.Ui.Layout, Efl.Access.Widget.Action, Efl.Ui.Legacy)
{ {
[[Elementary naviframe class]] [[Elementary naviframe class]]
legacy_prefix: elm_naviframe; legacy_prefix: elm_naviframe;

View File

@ -1,6 +1,6 @@
type Elm_Naviframe_Item_Pop_Cb: __undefined_type; [[Elementary naviframe item pop callback type]] type Elm_Naviframe_Item_Pop_Cb: __undefined_type; [[Elementary naviframe item pop callback type]]
class Elm.Naviframe.Item(Elm.Widget.Item) class Elm.Naviframe.Item(Elm.Widget.Item, Efl.Ui.Legacy)
{ {
[[Elementary naviframe item class]] [[Elementary naviframe item class]]
legacy_prefix: elm_naviframe_item; legacy_prefix: elm_naviframe_item;

View File

@ -1,4 +1,4 @@
class Elm.Notify (Efl.Ui.Widget, Efl.Ui.Focus.Layer, Efl.Content, Efl.Part) class Elm.Notify (Efl.Ui.Widget, Efl.Ui.Focus.Layer, Efl.Content, Efl.Part, Efl.Ui.Legacy)
{ {
[[Elementary notification class]] [[Elementary notification class]]
legacy_prefix: elm_notify; legacy_prefix: elm_notify;

View File

@ -9,7 +9,7 @@ enum Elm.Panel.Orient
} }
class Elm.Panel (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Elm.Interface_Scrollable, class Elm.Panel (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Elm.Interface_Scrollable,
Efl.Access.Widget.Action) Efl.Access.Widget.Action, Efl.Ui.Legacy)
{ {
[[Elementary panel class]] [[Elementary panel class]]
legacy_prefix: elm_panel; legacy_prefix: elm_panel;

Some files were not shown because too many files have changed in this diff Show More