elm: register legacy_type correctly

Summary:
What happened before is that we registered efl_ui_leyout_legacy for
"elm_layout", which is not that good, since checking a (lets say) elm_button, for the type "elm_layout" would result in false. The same is with elm_button.

fixes T7081

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric, #committers, zmike

Tags: #efl

Maniphest Tasks: T7081

Differential Revision: https://phab.enlightenment.org/D6430
This commit is contained in:
Marcel Hollerbach 2018-06-26 12:21:54 -04:00 committed by Mike Blumenkrantz
parent b0cb3b935a
commit 5337d908e4
6 changed files with 19 additions and 18 deletions

View File

@ -48,6 +48,14 @@ static const Elm_Action key_actions[] = {
{NULL, NULL}
};
#define MY_CLASS_NAME_LEGACY "elm_button"
static void
_efl_ui_button_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
static void
_activate(Evas_Object *obj)
{
@ -405,14 +413,6 @@ ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
#include "efl_ui_button_legacy.eo.h"
#include "efl_ui_button_legacy_part.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)
{

View File

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

View File

@ -7,7 +7,6 @@ class Efl.Ui.Button_Legacy (Efl.Ui.Button, Efl.Ui.Legacy)
]]
data: null;
implements {
class.constructor;
Efl.Object.constructor;
Efl.Ui.Widget.theme_apply;
Efl.Ui.Widget.widget_sub_object_del;

View File

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

View File

@ -120,6 +120,14 @@ struct _Efl_Ui_Layout_Sub_Object_Cursor
Eina_Bool engine_only : 1;
};
#define MY_CLASS_NAME_LEGACY "elm_layout"
static void
_efl_ui_layout_object_class_constructor(Efl_Class *klass)
{
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
static void
_on_sub_object_size_hint_change(void *data,
Evas *e EINA_UNUSED,
@ -443,7 +451,7 @@ _efl_ui_layout_theme_internal(Eo *obj, Efl_Ui_Layout_Object_Data *sd)
{
ret = elm_widget_theme_object_set
(obj, wd->resize_obj,
elm_widget_theme_klass_get(obj),
elm_widget_theme_klass_get(obj),
elm_widget_theme_element_get(obj),
elm_widget_theme_style_get(obj));
}
@ -2472,13 +2480,6 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
#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)

View File

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