From b5b78c023214820bd5b3b9a1fa864a18c32521e1 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Wed, 4 Jan 2017 20:17:21 +0900 Subject: [PATCH] button: Add support for efl_text_set For now a very quick and dirty solution, relying on elm_layout legacy APIs. --- src/lib/elementary/elm_button.c | 2 ++ src/lib/elementary/elm_button.eo | 3 ++- src/lib/elementary/elm_part_helper.h | 13 +++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_button.c b/src/lib/elementary/elm_button.c index 2cebbde..f2d4dbc 100644 --- a/src/lib/elementary/elm_button.c +++ b/src/lib/elementary/elm_button.c @@ -445,6 +445,8 @@ _elm_button_class_constructor(Efl_Class *klass) evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); } +EFL_TEXT_DEFAULT_IMPLEMENT(elm_button, Elm_Button_Data) + /* Efl.Part begin */ ELM_PART_OVERRIDE(elm_button, ELM_BUTTON, ELM_LAYOUT, Elm_Button_Data, Elm_Part_Data) diff --git a/src/lib/elementary/elm_button.eo b/src/lib/elementary/elm_button.eo index e9e2f8f..7ace6b9 100644 --- a/src/lib/elementary/elm_button.eo +++ b/src/lib/elementary/elm_button.eo @@ -1,4 +1,4 @@ -class Elm.Button (Elm.Layout, Efl.Ui.Clickable, +class Elm.Button (Elm.Layout, Efl.Ui.Clickable, Efl.Text, Elm.Interface.Atspi_Widget_Action) { [[Push-button widget @@ -87,5 +87,6 @@ class Elm.Button (Elm.Layout, Efl.Ui.Clickable, Elm.Layout.sizing_eval; Elm.Interface.Atspi_Widget_Action.elm_actions { get; } Efl.Part.part; + Efl.Text.text { get; set; } } } diff --git a/src/lib/elementary/elm_part_helper.h b/src/lib/elementary/elm_part_helper.h index de8e443..017365a 100644 --- a/src/lib/elementary/elm_part_helper.h +++ b/src/lib/elementary/elm_part_helper.h @@ -125,4 +125,17 @@ _ ## type ## _internal_part_efl_container_content_unset(Eo *obj, void *_pd EINA_ ELM_PART_RETURN_VAL(_ ## type ## _content_unset(pd->obj, sd, pd->part)); \ } +#define EFL_TEXT_DEFAULT_IMPLEMENT(type, Type) \ +EOLIAN static void \ +_ ## type ## _efl_text_text_set(Eo *obj, Type *pd EINA_UNUSED, const char *text) \ +{ \ + elm_layout_text_set(obj, NULL, text); \ +} \ +\ +EOLIAN static const char * \ +_ ## type ## _efl_text_text_get(Eo *obj, Elm_Button_Data *pd EINA_UNUSED) \ +{ \ + return elm_layout_text_get(obj, NULL); \ +} + #endif -- 2.7.4