eolian: add event_prefix and have classes follow that or eo_prefix by default

Previously events used to use class name as a prefix and ignored eo_prefix
when specified. This is no longer the case. Events follow eo_prefix by default
now. In order to get around this for classes where this is undesirable, a new
field event_prefix was added which takes priority over eo_prefix. If neither
is specified, class name is used like previously.

@feature
This commit is contained in:
Daniel Kolesa 2016-05-17 17:14:47 +01:00
parent f007380fb9
commit 7782c0bcb9
107 changed files with 175 additions and 76 deletions

View File

@ -115,7 +115,7 @@ _create_view_cb(Elm_App_Server *app_server, const Eina_Value *args EINA_UNUSED,
eo_event_callback_add(view, ELM_APP_SERVER_VIEW_EVENT_CLOSED, _close_cb, ctx);
eo_event_callback_add(view, ELM_APP_SERVER_VIEW_EVENT_PAUSED, _pause_cb, ctx);
eo_event_callback_add(view, ELM_APP_SERVER_VIEW_EVENT_RESUMED, _resume_cb, ctx);
eo_event_callback_add(view, EO_BASE_EVENT_DEL, _view_del_cb, ctx);
eo_event_callback_add(view, EO_EVENT_DEL, _view_del_cb, ctx);
return view;
}
@ -160,7 +160,7 @@ test_application_server_common(const char *pkg)
eo_event_callback_add(view, ELM_APP_SERVER_VIEW_EVENT_CLOSED, _close_cb, ctx);
eo_event_callback_add(view, ELM_APP_SERVER_VIEW_EVENT_PAUSED, _pause_cb, ctx);
eo_event_callback_add(view, ELM_APP_SERVER_VIEW_EVENT_RESUMED, _resume_cb, ctx);
eo_event_callback_add(view, EO_BASE_EVENT_DEL, _view_del_cb, ctx);
eo_event_callback_add(view, EO_EVENT_DEL, _view_del_cb, ctx);
}
eina_iterator_free(views_iter);
@ -187,7 +187,7 @@ test_application_server_phone(void *data EINA_UNUSED,
}
printf("Starting phone\n");
phone_server = test_application_server_common("org.enlightenment.phone");
eo_event_callback_add(phone_server, EO_BASE_EVENT_DEL, _server_del_cb, &phone_server);
eo_event_callback_add(phone_server, EO_EVENT_DEL, _server_del_cb, &phone_server);
}
void
@ -202,5 +202,5 @@ test_application_server_message(void *data EINA_UNUSED,
}
printf("Starting message\n");
msg_server = test_application_server_common( "org.enlightenment.message");
eo_event_callback_add(msg_server, EO_BASE_EVENT_DEL, _server_del_cb, &msg_server);
eo_event_callback_add(msg_server, EO_EVENT_DEL, _server_del_cb, &msg_server);
}

View File

@ -312,7 +312,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in
o = elm_check_add(win);
elm_check_selected_set(o, 0);
elm_object_text_set(o, "Flow");
eo_event_callback_add(o, ELM_CHECK_EVENT_CHANGED, flow_check_cb, bottombox);
eo_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, flow_check_cb, bottombox);
evas_object_size_hint_align_set(o, 0, 0);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
@ -320,7 +320,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in
o = elm_check_add(win);
elm_check_selected_set(o, 1);
elm_object_text_set(o, "Horizontal");
eo_event_callback_add(o, ELM_CHECK_EVENT_CHANGED, horiz_check_cb, bottombox);
eo_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, horiz_check_cb, bottombox);
evas_object_size_hint_align_set(o, 0, 0);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
@ -328,7 +328,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in
o = elm_check_add(win);
elm_check_selected_set(o, 0);
elm_object_text_set(o, "Homogenous");
eo_event_callback_add(o, ELM_CHECK_EVENT_CHANGED, homo_check_cb, bottombox);
eo_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, homo_check_cb, bottombox);
evas_object_size_hint_align_set(o, 0, 0);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
@ -336,7 +336,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in
o = elm_check_add(win);
elm_check_selected_set(o, 0);
elm_object_text_set(o, "Homogenous + Max");
eo_event_callback_add(o, ELM_CHECK_EVENT_CHANGED, max_size_check_cb, bottombox);
eo_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, max_size_check_cb, bottombox);
evas_object_size_hint_align_set(o, 0, 0);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
@ -344,7 +344,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in
o = elm_check_add(win);
elm_check_selected_set(o, 0);
elm_object_text_set(o, "Align left");
eo_event_callback_add(o, ELM_CHECK_EVENT_CHANGED, left_check_cb, bottombox);
eo_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, left_check_cb, bottombox);
evas_object_size_hint_align_set(o, 0, 0);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
@ -352,7 +352,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in
o = elm_check_add(win);
elm_check_selected_set(o, 0);
elm_object_text_set(o, "Custom layout");
eo_event_callback_add(o, ELM_CHECK_EVENT_CHANGED, custom_check_cb, bottombox);
eo_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, custom_check_cb, bottombox);
evas_object_size_hint_align_set(o, 0, 0);
evas_object_size_hint_weight_set(o, 0, 1);
efl_pack(bx, o);

View File

@ -334,7 +334,7 @@ parameter_type(Eolian_Function_Parameter const& parameter)
}
inline efl::eolian::eo_event
event_create(Eolian_Class const& klass, const Eolian_Event *event_)
event_create(const Eolian_Event *event_)
{
efl::eolian::eo_event event;
const char *name = ::eolian_event_name_get(event_);
@ -346,8 +346,7 @@ event_create(Eolian_Class const& klass, const Eolian_Event *event_)
event.scope = eolian_scope_cxx(::eolian_event_scope_get(event_));
event.is_beta = (::eolian_event_is_beta(event_) != EINA_FALSE);
event.name = normalize_spaces(name_);
event.eo_name = safe_upper
(find_replace(safe_lower(class_full_name(klass)), ".", "_") + "_EVENT_" + event.name);
event.eo_name = safe_str(::eolian_event_c_name_get(event_));
/* FIXME: use doc api */
event.comment = safe_str("");
}
@ -362,7 +361,7 @@ event_list(Eolian_Class const& klass)
Eolian_Event *e;
EINA_ITERATOR_FOREACH(itr, e)
{
events.push_back(event_create(klass, e));
events.push_back(event_create(e));
}
eina_iterator_free(itr);
return events;

View File

@ -47,6 +47,7 @@ class Ecore.Exe (Eo.Base, Efl.Control)
legacy_prefix: ecore_exe;
eo_prefix: ecore_obj_exe;
event_prefix: ecore_exe;
methods {
@property command {
[[Control the command that's executed. FIXME: May need a split/rename.]]

View File

@ -11,7 +11,7 @@
EO_CALLBACKS_ARRAY_DEFINE(ecore_idle_enterer_callbacks,
{ EFL_LOOP_EVENT_IDLE_ENTER, _ecore_factorized_idle_process },
{ EO_BASE_EVENT_DEL, _ecore_factorized_idle_event_del });
{ EO_EVENT_DEL, _ecore_factorized_idle_event_del });
EAPI Ecore_Idle_Enterer *

View File

@ -11,7 +11,7 @@
EO_CALLBACKS_ARRAY_DEFINE(ecore_idle_exiter_callbacks,
{ EFL_LOOP_EVENT_IDLE_EXIT, _ecore_factorized_idle_process },
{ EO_BASE_EVENT_DEL, _ecore_factorized_idle_event_del });
{ EO_EVENT_DEL, _ecore_factorized_idle_event_del });
EAPI Ecore_Idle_Exiter *
ecore_idle_exiter_add(Ecore_Task_Cb func,

View File

@ -102,7 +102,7 @@ _ecore_factorized_idle_add(const Eo_Callback_Array_Item *desc,
EO_CALLBACKS_ARRAY_DEFINE(ecore_idler_callbacks,
{ EFL_LOOP_EVENT_IDLE, _ecore_factorized_idle_process },
{ EO_BASE_EVENT_DEL, _ecore_factorized_idle_event_del });
{ EO_EVENT_DEL, _ecore_factorized_idle_event_del });
EAPI Ecore_Idler *
ecore_idler_add(Ecore_Task_Cb func,

View File

@ -2790,8 +2790,8 @@ _check_event_catcher_del(void *data, const Eo_Event *event)
}
EO_CALLBACKS_ARRAY_DEFINE(event_catcher_watch,
{ EO_BASE_EVENT_CALLBACK_ADD, _check_event_catcher_add },
{ EO_BASE_EVENT_CALLBACK_DEL, _check_event_catcher_del });
{ EO_EVENT_CALLBACK_ADD, _check_event_catcher_add },
{ EO_EVENT_CALLBACK_DEL, _check_event_catcher_del });
EOLIAN static Eo_Base *
_efl_loop_eo_base_constructor(Eo *obj, Efl_Loop_Data *pd)
@ -2899,7 +2899,7 @@ _efl_loop_timeout_force_cancel_cb(void *data, const Eo_Event *event EINA_UNUSED)
EO_CALLBACKS_ARRAY_DEFINE(timeout,
{ EFL_TIMER_EVENT_TICK, _efl_loop_timeout_cb },
{ EO_BASE_EVENT_DEL, _efl_loop_timeout_force_cancel_cb });
{ EO_EVENT_DEL, _efl_loop_timeout_force_cancel_cb });
static void
_efl_loop_timeout(Eo *obj, Efl_Loop_Data *pd EINA_UNUSED, Eina_Promise_Owner *promise, double time, const void *data)

View File

@ -116,8 +116,8 @@ _check_timer_event_catcher_del(void *data, const Eo_Event *event)
}
EO_CALLBACKS_ARRAY_DEFINE(timer_watch,
{ EO_BASE_EVENT_CALLBACK_ADD, _check_timer_event_catcher_add },
{ EO_BASE_EVENT_CALLBACK_DEL, _check_timer_event_catcher_del });
{ EO_EVENT_CALLBACK_ADD, _check_timer_event_catcher_add },
{ EO_EVENT_CALLBACK_DEL, _check_timer_event_catcher_del });
EOLIAN static Eo *
_efl_timer_eo_base_constructor(Eo *obj, Efl_Timer_Data *timer)
@ -179,7 +179,7 @@ _ecore_timer_legacy_tick(void *data, const Eo_Event *event)
EO_CALLBACKS_ARRAY_DEFINE(legacy_timer,
{ EFL_TIMER_EVENT_TICK, _ecore_timer_legacy_tick },
{ EO_BASE_EVENT_DEL, _ecore_timer_legacy_del });
{ EO_EVENT_DEL, _ecore_timer_legacy_del });
EAPI Ecore_Timer *
ecore_timer_add(double in,

View File

@ -151,8 +151,8 @@ _check_fd_event_catcher_del(void *data, const Eo_Event *event)
}
EO_CALLBACKS_ARRAY_DEFINE(fd_watch,
{ EO_BASE_EVENT_CALLBACK_ADD, _check_fd_event_catcher_add },
{ EO_BASE_EVENT_CALLBACK_DEL, _check_fd_event_catcher_del });
{ EO_EVENT_CALLBACK_ADD, _check_fd_event_catcher_add },
{ EO_EVENT_CALLBACK_DEL, _check_fd_event_catcher_del });
static Eo_Base *
_efl_loop_fd_eo_base_constructor(Eo *obj, Efl_Loop_Fd_Data *pd)

View File

@ -2,6 +2,7 @@ class Ecore.Audio.In (Ecore.Audio)
{
[[Ecore Audio input object.]]
eo_prefix: ecore_audio_obj_in;
event_prefix: ecore_audio_in;
data: Ecore_Audio_Input;
methods {
@property speed {

View File

@ -2,6 +2,7 @@ class Ecore.Audio.Out.Pulse (Ecore.Audio.Out)
{
[[Ecore audio ouput for PulseAudio.]]
eo_prefix: ecore_audio_obj_out_pulse;
event_prefix: ecore_audio_out_pulse;
implements {
Eo.Base.constructor;
Eo.Base.destructor;

View File

@ -3226,8 +3226,8 @@ _check_animator_event_catcher_del(void *data, const Eo_Event *event)
}
EO_CALLBACKS_ARRAY_DEFINE(animator_watch,
{ EO_BASE_EVENT_CALLBACK_ADD, _check_animator_event_catcher_add },
{ EO_BASE_EVENT_CALLBACK_DEL, _check_animator_event_catcher_del });
{ EO_EVENT_CALLBACK_ADD, _check_animator_event_catcher_add },
{ EO_EVENT_CALLBACK_DEL, _check_animator_event_catcher_del });
EAPI void
_ecore_evas_register(Ecore_Evas *ee)

View File

@ -47,7 +47,7 @@ _edje_box_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp)
if (eo) return eo;
eo = eo_add(BOX_CLASS, obj, efl_canvas_layout_internal_box_real_part_set(eo_self, ed, rp, rp->part->name));
eo_event_callback_add(eo, EO_BASE_EVENT_DEL, _del_cb, rp);
eo_event_callback_add(eo, EO_EVENT_DEL, _del_cb, rp);
rp->typedata.container->eo_proxy = eo;
return eo;
@ -266,7 +266,7 @@ _edje_table_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp)
if (eo) return eo;
eo = eo_add(TABLE_CLASS, obj, efl_canvas_layout_internal_table_real_part_set(eo_self, ed, rp, rp->part->name));
eo_event_callback_add(eo, EO_BASE_EVENT_DEL, _del_cb, rp);
eo_event_callback_add(eo, EO_EVENT_DEL, _del_cb, rp);
rp->typedata.container->eo_proxy = eo;
return eo;

View File

@ -4,6 +4,7 @@ class Edje.Object (Evas.Smart.Clipped, Efl.File, Efl.Container)
{
legacy_prefix: edje_object;
eo_prefix: edje_obj;
event_prefix: edje_object;
data: Edje;
methods {
@property update_hints {

View File

@ -2,6 +2,7 @@ interface Efl.Container (Efl.Gfx)
{
[[API common to all UI container objects.]]
eo_prefix: efl_content;
event_prefix: efl_container;
methods {
@property content {
[[Swallowed sub-object contained in this object.]]

View File

@ -54,7 +54,7 @@ static Eina_Bool
_cb_vpath_del(void *data, const Eo_Event *event)
{
efl_vpath_manager_unregister(EFL_VPATH_MANAGER_CLASS, event->obj);
eo_event_callback_del(event->obj, EO_BASE_EVENT_DEL, _cb_vpath_del, data);
eo_event_callback_del(event->obj, EO_EVENT_DEL, _cb_vpath_del, data);
return EINA_TRUE;
}
@ -64,7 +64,7 @@ _efl_vpath_manager_register(Eo *obj, void *pd EINA_UNUSED, int priority, Efl_Vpa
Efl_Vpath_Manager_Entry *entry = malloc(sizeof(Efl_Vpath_Manager_Entry));
entry->vpath = vpath;
entry->priority = priority;
eo_event_callback_add(vpath, EO_BASE_EVENT_DEL, _cb_vpath_del, obj);
eo_event_callback_add(vpath, EO_EVENT_DEL, _cb_vpath_del, obj);
vpath_manager.list = eina_list_sorted_insert
(vpath_manager.list, EINA_COMPARE_CB(_register_sort_cb), entry);
}

View File

@ -67,7 +67,7 @@ struct _Custom_Table_Data
};
EO_CALLBACKS_ARRAY_DEFINE(subobj_callbacks,
{ EO_BASE_EVENT_DEL, _subobj_del_cb });
{ EO_EVENT_DEL, _subobj_del_cb });
static inline Eina_Bool
_horiz(Efl_Orient dir)

View File

@ -21,6 +21,7 @@ class Elm.Actionslider (Elm.Layout, Evas.Selectable_Interface)
legacy_prefix: elm_actionslider;
eo_prefix: elm_obj_actionslider;
event_prefix: elm_actionslider;
methods {
@property indicator_pos {
[[Actionslider position indicator]]

View File

@ -51,7 +51,7 @@ _view_append(Elm_App_Server_Data *data, Elm_App_Server_View *view)
}
eina_hash_add(data->views, view_id, view);
eo_event_callback_add(view, EO_BASE_EVENT_DEL, _view_del_cb, data);
eo_event_callback_add(view, EO_EVENT_DEL, _view_del_cb, data);
return EINA_TRUE;
}
@ -263,7 +263,7 @@ _elm_app_server_constructor(Eo *obj, Elm_App_Server_Data *data, const char *pkg,
elm_app_server_view_icon_set(view, icon_name);
elm_app_server_view_progress_set(view, progress);
elm_app_server_view_new_events_set(view, new_events);
eo_event_callback_add(view, EO_BASE_EVENT_DEL, _view_del_cb, data);
eo_event_callback_add(view, EO_EVENT_DEL, _view_del_cb, data);
elm_app_server_view_shallow(view);
eina_hash_add(data->views, view_id, view);
@ -433,7 +433,7 @@ _elm_app_server_eo_base_destructor(Eo *obj, Elm_App_Server_Data *data)
EINA_ITERATOR_FOREACH(iter, view)
{
//do not modify hash when iterating
eo_event_callback_del(view, EO_BASE_EVENT_DEL, _view_del_cb, data);
eo_event_callback_del(view, EO_EVENT_DEL, _view_del_cb, data);
eo_unref(view);
}
eina_iterator_free(iter);

View File

@ -2,6 +2,7 @@ class Elm.Atspi.Bridge (Eo.Base)
{
legacy_prefix: elm_atspi_bridge;
eo_prefix: elm_obj_atspi_bridge;
event_prefix: elm_atspi_bridge;
methods {
@property connected {
get {

View File

@ -5,6 +5,7 @@ class Elm.Box (Elm.Widget)
{
legacy_prefix: elm_box;
eo_prefix: elm_obj_box;
event_prefix: elm_box;
methods {
@property homogeneous {
set {

View File

@ -82,6 +82,7 @@ class Elm.Calendar (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
]]
legacy_prefix: elm_calendar;
eo_prefix: elm_obj_calendar;
event_prefix: elm_calendar;
methods {
@property first_day_of_week {
[[The first day of week to use on calendar widgets'.]]

View File

@ -75,7 +75,7 @@ _activate(Evas_Object *obj)
_elm_access_say(E_("State: Off"));
}
eo_event_callback_call(obj, ELM_CHECK_EVENT_CHANGED, NULL);
eo_event_callback_call(obj, EFL_UI_CHECK_EVENT_CHANGED, NULL);
if (_elm_config->atspi_mode)
elm_interface_atspi_accessible_state_changed_signal_emit(obj,
@ -251,7 +251,7 @@ _on_check_off(void *data,
if (sd->statep) *sd->statep = efl_ui_nstate_value_get(obj);
elm_layout_signal_emit(obj, "elm,state,check,off", "elm");
eo_event_callback_call(obj, ELM_CHECK_EVENT_CHANGED, NULL);
eo_event_callback_call(obj, EFL_UI_CHECK_EVENT_CHANGED, NULL);
if (_elm_config->atspi_mode)
elm_interface_atspi_accessible_state_changed_signal_emit(data,
@ -272,7 +272,7 @@ _on_check_on(void *data,
efl_ui_nstate_value_set(obj, 1);
if (sd->statep) *sd->statep = efl_ui_nstate_value_get(obj);
elm_layout_signal_emit(obj, "elm,state,check,on", "elm");
eo_event_callback_call(obj, ELM_CHECK_EVENT_CHANGED, NULL);
eo_event_callback_call(obj, EFL_UI_CHECK_EVENT_CHANGED, NULL);
if (_elm_config->atspi_mode)
elm_interface_atspi_accessible_state_changed_signal_emit(data,

View File

@ -30,6 +30,7 @@ class Elm.Clock (Elm.Layout)
]]
legacy_prefix: elm_clock;
eo_prefix: elm_obj_clock;
event_prefix: elm_clock;
methods {
@property show_am_pm {
[[If the given clock widget must show hours in military or am/pm mode

View File

@ -17,6 +17,7 @@ class Elm.Colorselector (Elm.Layout, Elm.Interface.Atspi_Widget_Action,
{
legacy_prefix: elm_colorselector;
eo_prefix: elm_obj_colorselector;
event_prefix: elm_colorselector;
methods {
@property color {
set {

View File

@ -4,6 +4,7 @@ class Elm.Combobox (Elm.Button, Evas.Selectable_Interface,
{
legacy_prefix: elm_combobox;
eo_prefix: elm_obj_combobox;
event_prefix: elm_combobox;
methods {
@property expanded {
get {

View File

@ -2,6 +2,7 @@ class Elm.Conformant (Elm.Layout)
{
legacy_prefix: elm_conformant;
eo_prefix: elm_obj_conformant;
event_prefix: elm_conformant;
implements {
class.constructor;
Eo.Base.constructor;

View File

@ -12,6 +12,7 @@ class Elm.Ctxpopup (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Efl.Orientati
{
legacy_prefix: elm_ctxpopup;
eo_prefix: elm_obj_ctxpopup;
event_prefix: elm_ctxpopup;
methods {
@property auto_hide_disabled {
set {

View File

@ -19,6 +19,7 @@ class Elm.Datetime (Elm.Layout)
{
legacy_prefix: elm_datetime;
eo_prefix: elm_obj_datetime;
event_prefix: elm_datetime;
methods {
@property format {
set {

View File

@ -196,7 +196,7 @@ _item_clicked_cb(void *data, const Eo_Event *event EINA_UNUSED)
{
Elm_Dayselector_Item_Data *it = data;
eo_event_callback_call(WIDGET(it), ELM_CHECK_EVENT_CHANGED, (void *)it->day);
eo_event_callback_call(WIDGET(it), EFL_UI_CHECK_EVENT_CHANGED, (void *)it->day);
return EINA_TRUE;
}
@ -270,7 +270,7 @@ _elm_dayselector_efl_container_content_set(Eo *obj, Elm_Dayselector_Data *sd, co
elm_layout_signal_emit(obj, buf, "elm");
eo_event_callback_add
(VIEW(it), ELM_CHECK_EVENT_CHANGED, _item_clicked_cb, it);
(VIEW(it), EFL_UI_CHECK_EVENT_CHANGED, _item_clicked_cb, it);
evas_object_event_callback_add
(VIEW(it), EVAS_CALLBACK_DEL, _item_del_cb, obj);
@ -318,7 +318,7 @@ _elm_dayselector_efl_container_content_unset(Eo *obj, Elm_Dayselector_Data *sd,
if (!content) return NULL;
sd->items = eina_list_remove(sd->items, it);
eo_event_callback_del(content, ELM_CHECK_EVENT_CHANGED, _item_clicked_cb, it);
eo_event_callback_del(content, EFL_UI_CHECK_EVENT_CHANGED, _item_clicked_cb, it);
evas_object_event_callback_del(content, EVAS_CALLBACK_DEL, _item_del_cb);
elm_object_signal_callback_del

View File

@ -21,6 +21,7 @@ class Elm.Dayselector (Elm.Layout)
{
legacy_prefix: elm_dayselector;
eo_prefix: elm_obj_dayselector;
event_prefix: elm_dayselector;
methods {
@property week_start {
set {

View File

@ -5,6 +5,7 @@ class Elm.Diskselector (Elm.Widget, Elm.Interface_Scrollable,
{
legacy_prefix: elm_diskselector;
eo_prefix: elm_obj_diskselector;
event_prefix: elm_diskselector;
methods {
@property side_text_max_length {
set {

View File

@ -3945,8 +3945,8 @@ _elm_entry_eo_base_constructor(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED)
evas_obj_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_obj_smart_callbacks_descriptions_set(obj, _smart_callbacks);
elm_interface_atspi_accessible_role_set(obj, ELM_ATSPI_ROLE_ENTRY);
eo_event_callback_add(obj, EO_BASE_EVENT_CALLBACK_ADD, _cb_added, NULL);
eo_event_callback_add(obj, EO_BASE_EVENT_CALLBACK_DEL, _cb_deleted, NULL);
eo_event_callback_add(obj, EO_EVENT_CALLBACK_ADD, _cb_added, NULL);
eo_event_callback_add(obj, EO_EVENT_CALLBACK_DEL, _cb_deleted, NULL);
return obj;
}

View File

@ -120,6 +120,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Evas.Clickable_Interface,
{
legacy_prefix: elm_entry;
eo_prefix: elm_obj_entry;
event_prefix: elm_entry;
methods {
@property scrollable {
set {

View File

@ -4,6 +4,7 @@ class Elm.Fileselector (Elm.Layout, Elm.Interface.Fileselector,
{
legacy_prefix: elm_fileselector;
eo_prefix: elm_obj_fileselector;
event_prefix: elm_fileselector;
methods {
@property buttons_ok_cancel {
set {

View File

@ -2,6 +2,7 @@ class Elm.Fileselector_Button (Elm.Button, Elm.Interface.Fileselector)
{
legacy_prefix: elm_fileselector_button;
eo_prefix: elm_obj_fileselector_button;
event_prefix: elm_fileselector_button;
methods {
@property inwin_mode {
set {

View File

@ -3,6 +3,7 @@ class Elm.Fileselector_Entry (Elm.Layout, Elm.Interface.Fileselector,
{
legacy_prefix: elm_fileselector_entry;
eo_prefix: elm_obj_fileselector_entry;
event_prefix: elm_fileselector_entry;
methods {
@property inwin_mode {
set {

View File

@ -37,6 +37,7 @@ class Elm.Flip (Elm.Widget, Efl.Container)
{
legacy_prefix: elm_flip;
eo_prefix: elm_obj_flip;
event_prefix: elm_flip;
methods {
@property interaction {
set {

View File

@ -4,6 +4,7 @@ class Elm.Flipselector (Elm.Layout, Efl.Ui.Spin,
{
legacy_prefix: elm_flipselector;
eo_prefix: elm_obj_flipselector;
event_prefix: elm_flipselector;
methods {
@property items {
get {

View File

@ -2,6 +2,7 @@ class Elm.Frame (Elm.Layout, Evas.Clickable_Interface)
{
legacy_prefix: elm_frame;
eo_prefix: elm_obj_frame;
event_prefix: elm_frame;
methods {
@property collapse {
set {

View File

@ -13,6 +13,7 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
{
legacy_prefix: elm_gengrid;
eo_prefix: elm_obj_gengrid;
event_prefix: elm_gengrid;
methods {
@property align {
set {

View File

@ -2,6 +2,7 @@ class Elm.Gengrid.Pan (Elm.Pan)
{
legacy_prefix: elm_gengrid_pan;
eo_prefix: elm_obj_gengrid_pan;
event_prefix: elm_gengrid_pan;
implements {
class.constructor;
Eo.Base.destructor;

View File

@ -8,6 +8,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, Evas.Clickable_Interfac
{
legacy_prefix: elm_genlist;
eo_prefix: elm_obj_genlist;
event_prefix: elm_genlist;
methods {
@property homogeneous {
set {

View File

@ -2,6 +2,7 @@ class Elm.Genlist.Pan (Elm.Pan)
{
legacy_prefix: elm_genlist_pan;
eo_prefix: elm_obj_genlist_pan;
event_prefix: elm_genlist_pan;
implements {
class.constructor;
Eo.Base.destructor;

View File

@ -364,7 +364,7 @@ _elm_glview_version_constructor(Eo *obj, Elm_Glview_Data *sd,
evas_obj_type_set(obj, MY_CLASS_NAME_LEGACY);
evas_obj_smart_callbacks_descriptions_set(obj, _smart_callbacks);
elm_interface_atspi_accessible_role_set(obj, ELM_ATSPI_ROLE_ANIMATION);
eo_event_callback_add(obj, EO_BASE_EVENT_CALLBACK_ADD, _cb_added, NULL);
eo_event_callback_add(obj, EO_EVENT_CALLBACK_ADD, _cb_added, NULL);
}
EOLIAN static Eo *

View File

@ -84,6 +84,7 @@ class Elm.Glview (Elm.Widget, Efl.Gfx.View)
{
legacy_prefix: elm_glview;
eo_prefix: elm_obj_glview;
event_prefix: elm_glview;
methods {
version_constructor {
[[Constructor with context version number.]]

View File

@ -11,6 +11,7 @@ class Elm.Hover (Elm.Layout, Evas.Clickable_Interface, Elm.Interface.Atspi_Widge
{
legacy_prefix: elm_hover;
eo_prefix: elm_obj_hover;
event_prefix: elm_hover;
methods {
@property target {
set {

View File

@ -5,6 +5,7 @@ class Elm.Hoversel (Elm.Button, Evas.Selectable_Interface,
{
legacy_prefix: elm_hoversel;
eo_prefix: elm_obj_hoversel;
event_prefix: elm_hoversel;
methods {
@property horizontal {
[[Control if the hoversel should expand horizontally.

View File

@ -10,6 +10,7 @@ class Elm.Icon (Elm.Image)
{
legacy_prefix: elm_icon;
eo_prefix: elm_obj_icon;
event_prefix: elm_icon;
methods {
}
implements {

View File

@ -48,6 +48,7 @@ class Elm.Image (Elm.Widget, Evas.Clickable_Interface, Evas.Draggable_Interface,
{
legacy_prefix: elm_image;
eo_prefix: elm_obj_image;
event_prefix: elm_image;
methods {
@property scale_type {
[[Control how the internal image is scaled.

View File

@ -2,6 +2,7 @@ class Elm.Index (Elm.Layout, Evas.Clickable_Interface, Evas.Selectable_Interface
{
legacy_prefix: elm_index;
eo_prefix: elm_obj_index;
event_prefix: elm_index;
methods {
@property autohide_disabled {
[[Enable or disable auto hiding feature for a given index widget.]]

View File

@ -454,7 +454,7 @@ elm_atspi_relation_set_relation_append(Elm_Atspi_Relation_Set *set, Elm_Atspi_Re
if (!eina_list_data_find(rel->objects, rel_obj))
{
rel->objects = eina_list_append(rel->objects, rel_obj);
eo_event_callback_add((Eo *) rel_obj, EO_BASE_EVENT_DEL, _on_rel_obj_del, set);
eo_event_callback_add((Eo *) rel_obj, EO_EVENT_DEL, _on_rel_obj_del, set);
}
return EINA_TRUE;
}
@ -467,7 +467,7 @@ elm_atspi_relation_set_relation_append(Elm_Atspi_Relation_Set *set, Elm_Atspi_Re
rel->objects = eina_list_append(rel->objects, rel_obj);
*set = eina_list_append(*set, rel);
eo_event_callback_add((Eo *) rel_obj, EO_BASE_EVENT_DEL, _on_rel_obj_del, set);
eo_event_callback_add((Eo *) rel_obj, EO_EVENT_DEL, _on_rel_obj_del, set);
return EINA_TRUE;
}
@ -483,7 +483,7 @@ elm_atspi_relation_set_relation_remove(Elm_Atspi_Relation_Set *set, Elm_Atspi_Re
{
if (eina_list_data_find(rel->objects, rel_obj))
{
eo_event_callback_del((Eo *) rel_obj, EO_BASE_EVENT_DEL, _on_rel_obj_del, set);
eo_event_callback_del((Eo *) rel_obj, EO_EVENT_DEL, _on_rel_obj_del, set);
rel->objects = eina_list_remove(rel->objects, rel_obj);
}
if (!rel->objects)
@ -508,7 +508,7 @@ elm_atspi_relation_set_relation_type_remove(Elm_Atspi_Relation_Set *set, Elm_Ats
if (rel->type == type)
{
EINA_LIST_FOREACH(rel->objects, l, obj)
eo_event_callback_del(obj, EO_BASE_EVENT_DEL, _on_rel_obj_del, set);
eo_event_callback_del(obj, EO_EVENT_DEL, _on_rel_obj_del, set);
*set = eina_list_remove(*set, rel);
elm_atspi_relation_free(rel);
return;
@ -526,7 +526,7 @@ elm_atspi_relation_set_free(Elm_Atspi_Relation_Set set)
EINA_LIST_FREE(set, rel)
{
EINA_LIST_FOREACH(rel->objects, l, obj)
eo_event_callback_del(obj, EO_BASE_EVENT_DEL, _on_rel_obj_del, set);
eo_event_callback_del(obj, EO_EVENT_DEL, _on_rel_obj_del, set);
elm_atspi_relation_free(rel);
}
}

View File

@ -34,13 +34,13 @@ _elm_interface_atspi_image_description_set(Eo *obj, void *sd EINA_UNUSED, const
if (old_descr)
{
eina_stringshare_del(old_descr);
eo_event_callback_del(obj, EO_BASE_EVENT_DEL, _free_desc_cb, old_descr);
eo_event_callback_del(obj, EO_EVENT_DEL, _free_desc_cb, old_descr);
}
if (descr)
{
eo_key_data_set(obj, key, descr);
eo_event_callback_add(obj, EO_BASE_EVENT_DEL, _free_desc_cb, descr);
eo_event_callback_add(obj, EO_EVENT_DEL, _free_desc_cb, descr);
}
}

View File

@ -12,6 +12,7 @@ class Elm.Label (Elm.Layout)
{
legacy_prefix: elm_label;
eo_prefix: elm_obj_label;
event_prefix: elm_label;
methods {
@property wrap_width {
[[Control wrap width of the label

View File

@ -21,6 +21,7 @@ class Elm.Layout (Elm.Widget, Efl.Container, Efl.File)
{
legacy_prefix: elm_layout;
eo_prefix: elm_obj_layout;
event_prefix: elm_layout;
data: Elm_Layout_Smart_Data;
methods {
@property edje_object_can_access {

View File

@ -42,6 +42,7 @@ class Elm.List (Elm.Layout, Elm.Interface_Scrollable,
{
legacy_prefix: elm_list;
eo_prefix: elm_obj_list;
event_prefix: elm_list;
methods {
@property horizontal {
[[Control horizontal mode on the list object.

View File

@ -75,6 +75,7 @@ class Elm.Map (Elm.Widget, Elm.Interface_Scrollable,
{
legacy_prefix: elm_map;
eo_prefix: elm_obj_map;
event_prefix: elm_map;
methods {
@property zoom {
set {

View File

@ -2,6 +2,7 @@ class Elm.Map.Pan (Elm.Pan)
{
legacy_prefix: elm_map_pan;
eo_prefix: elm_obj_map_pan;
event_prefix: elm_map_pan;
implements {
class.constructor;
Eo.Base.destructor;

View File

@ -2,6 +2,7 @@ class Elm.Menu (Elm.Widget, Evas.Clickable_Interface, Elm.Interface.Atspi.Select
{
legacy_prefix: elm_menu;
eo_prefix: elm_obj_menu;
event_prefix: elm_menu;
methods {
@property selected_item {
get {

View File

@ -5,6 +5,7 @@ class Elm.Multibuttonentry (Elm.Layout)
{
legacy_prefix: elm_multibuttonentry;
eo_prefix: elm_obj_multibuttonentry;
event_prefix: elm_multibuttonentry;
methods {
@property editable {
[[Control if the multibuttonentry is to be editable or not.

View File

@ -2,6 +2,7 @@ class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
{
legacy_prefix: elm_naviframe;
eo_prefix: elm_obj_naviframe;
event_prefix: elm_naviframe;
methods {
@property event_enabled {
[[Control the event enabled when pushing/popping items

View File

@ -2,6 +2,7 @@ class Elm.Notify (Elm.Widget, Efl.Container)
{
legacy_prefix: elm_notify;
eo_prefix: elm_obj_notify;
event_prefix: elm_notify;
methods {
@property align {
set {

View File

@ -2,6 +2,7 @@ class Elm.Pan (Evas.Smart.Clipped)
{
legacy_prefix: elm_pan;
eo_prefix: elm_obj_pan;
event_prefix: elm_pan;
data: Elm_Pan_Smart_Data;
methods {
@property gravity {

View File

@ -3,6 +3,7 @@ class Elm.Panes (Elm.Layout, Efl.Orientation,
{
legacy_prefix: elm_panes;
eo_prefix: elm_obj_panes;
event_prefix: elm_panes;
methods {
@property content_left_size {
[[Set the size proportion of panes widget's left side.

View File

@ -17,6 +17,7 @@ class Elm.Photocam (Elm.Widget, Elm.Interface_Scrollable,
{
legacy_prefix: elm_photocam;
eo_prefix: elm_obj_photocam;
event_prefix: elm_photocam;
methods {
@property paused {
set {

View File

@ -2,6 +2,7 @@ class Elm.Photocam.Pan (Elm.Pan)
{
legacy_prefix: elm_photocam_pan;
eo_prefix: elm_obj_photocam_pan;
event_prefix: elm_photocam_pan;
implements {
class.constructor;
Eo.Base.destructor;

View File

@ -2,6 +2,7 @@ class Elm.Player (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
{
legacy_prefix: elm_player;
eo_prefix: elm_obj_player;
event_prefix: elm_player;
implements {
class.constructor;
Eo.Base.constructor;

View File

@ -2,6 +2,7 @@ class Elm.Plug (Elm.Widget, Evas.Clickable_Interface)
{
legacy_prefix: elm_plug;
eo_prefix: elm_obj_plug;
event_prefix: elm_plug;
data: null;
methods {
@property image_object {

View File

@ -27,6 +27,7 @@ class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
{
legacy_prefix: elm_popup;
eo_prefix: elm_obj_popup;
event_prefix: elm_popup;
methods {
@property align {
set {

View File

@ -7,6 +7,7 @@ class Elm.Prefs (Elm.Widget, Efl.File)
{
legacy_prefix: elm_prefs;
eo_prefix: elm_obj_prefs;
event_prefix: elm_prefs;
methods {
@property data {
[[Set user data for a given prefs widget

View File

@ -3,6 +3,7 @@ class Elm.Progressbar (Elm.Layout, Efl.Ui.Progress,
{
legacy_prefix: elm_progressbar;
eo_prefix: elm_obj_progressbar;
event_prefix: elm_progressbar;
methods {
@property pulse {
[[Control whether a given progress bar widget is at "pulsing mode" or not.

View File

@ -2,6 +2,7 @@ class Elm.Radio (Elm.Check, Elm.Interface.Atspi_Widget_Action)
{
legacy_prefix: elm_radio;
eo_prefix: elm_obj_radio;
event_prefix: elm_radio;
methods {
@property state_value {
set {

View File

@ -4,6 +4,7 @@ class Elm.Scroller (Elm.Layout, Elm.Interface_Scrollable,
{
legacy_prefix: elm_scroller;
eo_prefix: elm_obj_scroller;
event_prefix: elm_scroller;
methods {
@property propagate_events {
set {

View File

@ -2,6 +2,7 @@ class Elm.Segment_Control (Elm.Layout)
{
legacy_prefix: elm_segment_control;
eo_prefix: elm_obj_segment_control;
event_prefix: elm_segment_control;
methods {
@property item_count {
get {

View File

@ -8,6 +8,7 @@ class Elm.Slider (Elm.Layout, Efl.Ui.Progress,
{
legacy_prefix: elm_slider;
eo_prefix: elm_obj_slider;
event_prefix: elm_slider;
methods {
@property indicator_format {
set {

View File

@ -4,6 +4,7 @@ class Elm.Slideshow (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
{
eo_prefix: elm_obj_slideshow;
legacy_prefix: elm_slideshow;
event_prefix: elm_slideshow;
methods {
@property cache_after {
set {

View File

@ -2,6 +2,7 @@ class Elm.Slideshow.Item(Elm.Widget.Item)
{
legacy_prefix: elm_slideshow_item;
eo_prefix: elm_obj_slideshow_item;
event_prefix: elm_slideshow_item;
methods {
show {
[[Display a given slideshow widget's item, programmatically.

View File

@ -3,6 +3,7 @@ class Elm.Spinner (Elm.Layout, Efl.Ui.Spin,
{
legacy_prefix: elm_spinner;
eo_prefix: elm_obj_spinner;
event_prefix: elm_spinner;
methods {
@property wrap {
[[Control whether the spinner should wrap when it reaches its minimum or maximum value.

View File

@ -4,6 +4,7 @@ class Elm.Thumb (Elm.Layout, Efl.File, Evas.Clickable_Interface,
{
legacy_prefix: elm_thumb;
eo_prefix: elm_obj_thumb;
event_prefix: elm_thumb;
implements {
class.constructor;
Eo.Base.constructor;

View File

@ -30,6 +30,7 @@ class Elm.Toolbar (Elm.Widget, Elm.Interface_Scrollable, Efl.Orientation,
{
legacy_prefix: elm_toolbar;
eo_prefix: elm_obj_toolbar;
event_prefix: elm_toolbar;
methods {
@property homogeneous {
[[Control homogeneous mode.

View File

@ -18,6 +18,7 @@ class Elm.Web (Elm.Widget)
{
legacy_prefix: elm_web;
eo_prefix: elm_obj_web;
event_prefix: elm_web;
methods {
@property text_matches_highlight @virtual_pure {
set {

View File

@ -4501,7 +4501,7 @@ _elm_widget_item_eo_base_constructor(Eo *eo_item, Elm_Widget_Item_Data *item)
item->widget = widget;
item->eo_obj = eo_item;
eo_event_callback_add(eo_item, EO_BASE_EVENT_DEL, _eo_del_cb, NULL);
eo_event_callback_add(eo_item, EO_EVENT_DEL, _eo_del_cb, NULL);
return eo_item;
}

View File

@ -24,6 +24,7 @@ abstract Elm.Widget (Evas.Object.Smart, Elm.Interface.Atspi_Accessible, Elm.Inte
{
legacy_prefix: elm_widget;
eo_prefix: elm_obj_widget;
event_prefix: elm_widget;
data: Elm_Widget_Smart_Data;
methods {
@property focus {

View File

@ -166,6 +166,7 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
{
legacy_prefix: elm_win;
eo_prefix: elm_obj_win;
event_prefix: elm_win;
methods {
@property keyboard_win {
set {

View File

@ -1,6 +1,7 @@
class Emotion.Object (Evas.Object.Smart, Efl.File, Efl.Player, Efl.Image, Efl.Image.Load) {
legacy_prefix: emotion_object;
eo_prefix: emotion_obj;
event_prefix: emotion_object;
methods {
@property option {
set {

View File

@ -927,7 +927,7 @@ _eo_base_event_callback_priority_add(Eo *obj, Eo_Base_Data *pd,
cb->priority = priority;
_eo_callbacks_sorted_insert(pd, cb);
eo_event_callback_call(obj, EO_BASE_EVENT_CALLBACK_ADD, (void *)arr);
eo_event_callback_call(obj, EO_EVENT_CALLBACK_ADD, (void *)arr);
return EINA_TRUE;
}
@ -950,7 +950,7 @@ _eo_base_event_callback_del(Eo *obj, Eo_Base_Data *pd,
cb->delete_me = EINA_TRUE;
pd->deletions_waiting = EINA_TRUE;
_eo_callbacks_clear(pd);
eo_event_callback_call(obj, EO_BASE_EVENT_CALLBACK_DEL, (void *)arr);
eo_event_callback_call(obj, EO_EVENT_CALLBACK_DEL, (void *)arr);
return EINA_TRUE;
}
}
@ -980,7 +980,7 @@ _eo_base_event_callback_array_priority_add(Eo *obj, Eo_Base_Data *pd,
cb->func_array = EINA_TRUE;
_eo_callbacks_sorted_insert(pd, cb);
eo_event_callback_call(obj, EO_BASE_EVENT_CALLBACK_ADD, (void *)array);
eo_event_callback_call(obj, EO_EVENT_CALLBACK_ADD, (void *)array);
return EINA_TRUE;
}
@ -1001,7 +1001,7 @@ _eo_base_event_callback_array_del(Eo *obj, Eo_Base_Data *pd,
pd->deletions_waiting = EINA_TRUE;
_eo_callbacks_clear(pd);
eo_event_callback_call(obj, EO_BASE_EVENT_CALLBACK_DEL, (void *)array);
eo_event_callback_call(obj, EO_EVENT_CALLBACK_DEL, (void *)array);
return EINA_TRUE;
}
}

View File

@ -214,7 +214,7 @@ _eo_del_internal(const char *file, int line, _Eo_Object *obj)
const _Eo_Class *klass = obj->klass;
eo_event_callback_call(_eo_obj_id_get(obj), EO_BASE_EVENT_DEL, NULL);
eo_event_callback_call(_eo_obj_id_get(obj), EO_EVENT_DEL, NULL);
_eo_condtor_reset(obj);

View File

@ -585,6 +585,16 @@ EAPI Eina_Stringshare *eolian_class_legacy_prefix_get(const Eolian_Class *klass)
*/
EAPI Eina_Stringshare* eolian_class_eo_prefix_get(const Eolian_Class *klass);
/*
* @brief Returns the event prefix of a class
*
* @param[in] klass the class
* @return the event prefix
*
* @ingroup Eolian
*/
EAPI Eina_Stringshare* eolian_class_event_prefix_get(const Eolian_Class *klass);
/*
* @brief Returns the data type of a class
*

View File

@ -35,6 +35,7 @@ database_class_del(Eolian_Class *cl)
if (cl->full_name) eina_stringshare_del(cl->full_name);
if (cl->legacy_prefix) eina_stringshare_del(cl->legacy_prefix);
if (cl->eo_prefix) eina_stringshare_del(cl->eo_prefix);
if (cl->ev_prefix) eina_stringshare_del(cl->ev_prefix);
if (cl->data_type) eina_stringshare_del(cl->data_type);
database_doc_del(cl->doc);

View File

@ -84,6 +84,13 @@ eolian_class_eo_prefix_get(const Eolian_Class *cl)
return cl->eo_prefix;
}
EAPI Eina_Stringshare*
eolian_class_event_prefix_get(const Eolian_Class *cl)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(cl, NULL);
return cl->ev_prefix;
}
EAPI Eina_Stringshare*
eolian_class_data_type_get(const Eolian_Class *cl)
{

View File

@ -59,8 +59,10 @@ eolian_event_c_name_get(const Eolian_Event *event)
{
char buf[512];
char *tmp = buf;
snprintf(buf, sizeof(buf), "%s_EVENT_%s", event->klass->full_name,
event->name);
const char *pfx = event->klass->ev_prefix;
if (!pfx) pfx = event->klass->eo_prefix;
if (!pfx) pfx = event->klass->full_name;
snprintf(buf, sizeof(buf), "%s_EVENT_%s", pfx, event->name);
eina_str_toupper(&tmp);
while ((tmp = strpbrk(tmp, ".,"))) *tmp = '_';
return eina_stringshare_add(buf);

View File

@ -25,14 +25,14 @@ enum Tokens
#define KEYWORDS KW(class), KW(const), KW(enum), KW(return), KW(struct), \
\
KW(abstract), KW(constructor), KW(constructors), KW(data), \
KW(destructor), KW(eo), KW(eo_prefix), KW(events), KW(free), \
KW(destructor), KW(eo), KW(eo_prefix), KW(event_prefix), KW(events), KW(free), \
KW(get), KW(implements), KW(import), KW(interface), KW(keys), KW(legacy), \
KW(legacy_prefix), KW(methods), KW(mixin), KW(own), KW(params), \
KW(set), KW(type), KW(values), KW(var), KWAT(auto), KWAT(beta), \
KWAT(c_only), KWAT(class), KWAT(const), KWAT(empty), KWAT(extern), \
KWAT(free), KWAT(hot), KWAT(restart), KWAT(in), KWAT(inout), KWAT(nonull), KWAT(nullable), \
KWAT(free), KWAT(hot), KWAT(in), KWAT(inout), KWAT(nonull), KWAT(nullable), \
KWAT(optional), KWAT(out), KWAT(private), KWAT(property), \
KWAT(protected), KWAT(virtual_pure), KWAT(warn_unused), \
KWAT(protected), KWAT(restart), KWAT(virtual_pure), KWAT(warn_unused), \
\
KW(byte), KW(ubyte), KW(char), KW(short), KW(ushort), KW(int), KW(uint), \
KW(long), KW(ulong), KW(llong), KW(ullong), \

View File

@ -1684,6 +1684,7 @@ parse_class_body(Eo_Lexer *ls, Eolian_Class_Type type)
{
Eina_Bool has_legacy_prefix = EINA_FALSE,
has_eo_prefix = EINA_FALSE,
has_event_prefix = EINA_FALSE,
has_data = EINA_FALSE,
has_methods = EINA_FALSE,
has_implements = EINA_FALSE,
@ -1714,6 +1715,15 @@ parse_class_body(Eo_Lexer *ls, Eolian_Class_Type type)
eo_lexer_get(ls);
check_next(ls, ';');
break;
case KW_event_prefix:
CASE_LOCK(ls, event_prefix, "event prefix definition")
eo_lexer_get(ls);
check_next(ls, ':');
_validate_pfx(ls);
ls->tmp.kls->ev_prefix = eina_stringshare_ref(ls->t.value.s);
eo_lexer_get(ls);
check_next(ls, ';');
break;
case KW_data:
if (type == EOLIAN_CLASS_INTERFACE) return;
CASE_LOCK(ls, data, "data definition")

View File

@ -88,6 +88,7 @@ struct _Eolian_Class
Eolian_Documentation *doc;
Eina_Stringshare *legacy_prefix;
Eina_Stringshare *eo_prefix;
Eina_Stringshare *ev_prefix;
Eina_Stringshare *data_type;
Eina_List *inherits; /* List Eina_Stringshare * */
Eina_List *properties; /* List prop_name -> Eolian_Function */

View File

@ -173,7 +173,7 @@ operator<<(std::ostream& out, functors_constructor_methods const& x)
{
if (d.is_cb)
d.out << tab(3)
<< "eo_event_callback_add(_eoptr, EO_BASE_EVENT_DEL, "
<< "eo_event_callback_add(_eoptr, EO_EVENT_DEL, "
<< "&::efl::eolian::free_callback_callback<"
<< parameter_no_ref_type(d.type, d.name)
<< ">, " << callback_tmp(d.name) << ");" << endl;

View File

@ -123,7 +123,7 @@ operator<<(std::ostream& out, callback_parameter_free_ev_add const& x)
{
out
<< "eo_event_callback_add(" << x._eo_raw_expr
<< ", EO_BASE_EVENT_DEL, &::efl::eolian::free_callback_callback<"
<< ", EO_EVENT_DEL, &::efl::eolian::free_callback_callback<"
<< parameter_no_ref_type(x._type, x._name) << ">, "
<< callback_tmp(x._name) << ");";
return out;

View File

@ -8,6 +8,7 @@ class Evas.Box (Evas.Smart.Clipped)
{
legacy_prefix: evas_object_box;
eo_prefix: evas_obj_box;
event_prefix: evas_box;
data: Evas_Object_Box_Data;
methods {
@property align {

View File

@ -327,7 +327,7 @@ _evas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object *
state_write->clipper = NULL;
EINA_COW_STATE_WRITE_END(obj, state_write, cur);
if (obj->prev->clipper != old_clip)
eo_event_callback_del(old_clip->object, EO_BASE_EVENT_DEL, _clipper_del_cb, eo_obj);
eo_event_callback_del(old_clip->object, EO_EVENT_DEL, _clipper_del_cb, eo_obj);
}
/* image object clipper */
@ -359,7 +359,7 @@ _evas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object *
state_write->clipper = clip;
EINA_COW_STATE_WRITE_END(obj, state_write, cur);
if (obj->prev->clipper != clip)
eo_event_callback_add(clip->object, EO_BASE_EVENT_DEL, _clipper_del_cb, eo_obj);
eo_event_callback_add(clip->object, EO_EVENT_DEL, _clipper_del_cb, eo_obj);
clip->clip.cache_clipees_answer = eina_list_free(clip->clip.cache_clipees_answer);
clip->clip.clipees = eina_list_append(clip->clip.clipees, obj);
@ -456,7 +456,7 @@ _evas_object_clip_unset(Eo *eo_obj, Evas_Object_Protected_Data *obj)
state_write->clipper = NULL;
EINA_COW_STATE_WRITE_END(obj, state_write, cur);
if (obj->prev->clipper != old_clip)
eo_event_callback_del(old_clip->object, EO_BASE_EVENT_DEL, _clipper_del_cb, eo_obj);
eo_event_callback_del(old_clip->object, EO_EVENT_DEL, _clipper_del_cb, eo_obj);
}
evas_object_change(eo_obj, obj);
@ -510,7 +510,7 @@ _evas_object_clip_prev_reset(Evas_Object_Protected_Data *obj, Eina_Bool cur_prev
EINA_COW_STATE_WRITE_END(obj, state_write, prev);
}
if (clip != obj->cur->clipper)
eo_event_callback_del(clip->object, EO_BASE_EVENT_DEL, _clipper_del_cb, obj->object);
eo_event_callback_del(clip->object, EO_EVENT_DEL, _clipper_del_cb, obj->object);
}
}

View File

@ -4,6 +4,7 @@ abstract Evas.Object (Eo.Base, Evas.Common_Interface, Efl.Gfx, Efl.Gfx.Stack, Ef
{
legacy_prefix: evas_object;
eo_prefix: evas_obj;
event_prefix: evas_object;
data: Evas_Object_Protected_Data;
methods {
legacy_ctor @protected {

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