efl_ui_default_item: remove item parts

these parts are hard copies of the part implementations given from the
layouts. Replacing them with the layout implementation just works

ref T8115

Differential Revision: https://phab.enlightenment.org/D9582
This commit is contained in:
Marcel Hollerbach 2019-08-16 09:32:28 +02:00
parent 1856596698
commit 2dfc69397b
11 changed files with 8 additions and 180 deletions

View File

@ -330,10 +330,6 @@ typedef Eo Efl_Ui_Focus_Manager;
# include <efl_ui_slider.eo.h>
# include <efl_ui_slider_interval.eo.h>
# include <efl_ui_layout_factory.eo.h>
# include <efl_ui_item_part_text.eo.h>
# include <efl_ui_item_part_icon.eo.h>
# include <efl_ui_item_part_extra.eo.h>
# include <efl_ui_item_part_content.eo.h>
# include <efl_ui_item.eo.h>
# include <efl_ui_list_default_item.eo.h>
# include <efl_ui_list_placeholder_item.eo.h>

View File

@ -26,11 +26,11 @@ _efl_ui_default_item_efl_part_part_get(const Eo *obj, void *pd EINA_UNUSED, cons
{
EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
if (eina_streq(part, "text"))
return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_TEXT_CLASS, obj, "efl.text");
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, "efl.text");
else if (eina_streq(part, "icon"))
return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_ICON_CLASS, obj, "efl.icon");
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, "efl.icon");
else if (eina_streq(part, "extra"))
return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_EXTRA_CLASS, obj, "efl.extra");
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, "efl.extra");
return efl_part_get(efl_super(obj, MY_CLASS), part);
}

View File

@ -13,11 +13,11 @@ abstract @beta Efl.Ui.Default_Item extends Efl.Ui.Item implements
]]
data: null;
parts {
text: Efl.Ui.Item_Part_Text; [[The text part for default item.
text: Efl.Ui.Layout_Part_Text; [[The text part for default item.
text part is the caption of the item.]]
icon: Efl.Ui.Item_Part_Icon; [[The icon content part for default item.
icon: Efl.Ui.Layout_Part_Content; [[The icon content part for default item.
icon part is the main content of item.]]
extra : Efl.Ui.Item_Part_Extra; [[The extra content part for default item.]]
extra : Efl.Ui.Layout_Part_Content; [[The extra content part for default item.]]
}
implements {
Efl.Text.text { get; set; }

View File

@ -2,142 +2,16 @@
# include "elementary_config.h"
#endif
#define EFL_ACCESS_PROTECTED
#define EFL_UI_WIDGET_PART_BG_PROTECTED
#include <Elementary.h>
#include "elm_priv.h"
#include "efl_ui_item_private.h"
//part
#include "efl_ui_item_part_text.eo.h"
#include "efl_ui_item_part_icon.eo.h"
#include "efl_ui_item_part_extra.eo.h"
#include "efl_ui_item_part_content.eo.h"
#include "elm_part_helper.h"
#define MY_CLASS EFL_UI_ITEM_CLASS
#define MY_CLASS_PFX efl_ui_item
#define MY_CLASS_NAME "Efl.Ui.Item"
/* Efl.Part */
EOLIAN static void
_efl_ui_item_part_text_efl_text_text_set(Eo *obj, void *pd EINA_UNUSED, const char *text)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
efl_text_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), text);
efl_canvas_group_change(wd->obj);
}
EOLIAN static const char*
_efl_ui_item_part_text_efl_text_text_get(const Eo *obj, void *pd EINA_UNUSED)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_text_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
}
EOLIAN static void
_efl_ui_item_part_text_efl_text_markup_markup_set(Eo *obj, void *pd EINA_UNUSED, const char *markup)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
efl_text_markup_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), markup);
efl_canvas_group_change(obj);
}
EOLIAN static const char*
_efl_ui_item_part_text_efl_text_markup_markup_get(const Eo *obj, void *pd EINA_UNUSED)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_text_markup_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
}
EOLIAN static const char *
_efl_ui_item_part_text_efl_ui_l10n_l10n_text_get(const 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_item_part_text_efl_ui_l10n_l10n_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *text, 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, text, domain);
}
#include "efl_ui_item_part_text.eo.c"
/* Efl.Ui.List_Default_Item_Part_Icon */
Eina_Bool
_efl_ui_item_part_icon_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
}
Efl_Gfx_Entity *
_efl_ui_item_part_icon_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
}
Efl_Gfx_Entity *
_efl_ui_item_part_icon_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
}
#include "efl_ui_item_part_icon.eo.c"
Eina_Bool
_efl_ui_item_part_extra_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
}
Efl_Gfx_Entity *
_efl_ui_item_part_extra_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
}
Efl_Gfx_Entity *
_efl_ui_item_part_extra_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
}
#include "efl_ui_item_part_extra.eo.c"
Eina_Bool
_efl_ui_item_part_content_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
}
Efl_Gfx_Entity *
_efl_ui_item_part_content_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
}
Efl_Gfx_Entity *
_efl_ui_item_part_content_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
{
Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
}
#include "efl_ui_item_part_content.eo.c"
/* Efl.Part */
static void
_item_select(Eo *obj, Efl_Ui_Item_Data *pd)
{

View File

@ -1,9 +0,0 @@
class @beta Efl.Ui.Item_Part_Content extends Efl.Ui.Layout_Part implements Efl.Content
{
[[Item internal content part class]]
data: null;
implements {
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -1,9 +0,0 @@
class @beta Efl.Ui.Item_Part_Extra extends Efl.Ui.Layout_Part implements Efl.Content
{
[[Item internal content of extra part class]]
data: null;
implements {
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -1,9 +0,0 @@
class @beta Efl.Ui.Item_Part_Icon extends Efl.Ui.Layout_Part implements Efl.Content
{
[[Item internal content of icon part class]]
data: null;
implements {
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -1,11 +0,0 @@
class @beta Efl.Ui.Item_Part_Text extends Efl.Ui.Layout_Part implements
Efl.Text, Efl.Text_Markup, Efl.Ui.L10n
{
[[Item internal text part class]]
data: null;
implements {
Efl.Text.text { set; get; }
Efl.Text_Markup.markup { get; set; }
Efl.Ui.L10n.l10n_text { get; set; }
}
}

View File

@ -44,7 +44,7 @@ _efl_ui_list_placeholder_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNU
{
EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
if (eina_streq(part, "content"))
return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_CONTENT_CLASS, obj, "efl.content");
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, "efl.content");
return efl_part_get(efl_super(obj, MY_CLASS), part);
}

View File

@ -6,7 +6,7 @@ class @beta Efl.Ui.List_Placeholder_Item extends Efl.Ui.Item implements Efl.Cont
any kind of container.]]
data: null;
parts {
content: Efl.Ui.Item_Part_Content; [[the content part for list placeholder item.
content: Efl.Ui.Layout_Part_Content; [[the content part for list placeholder item.
the content part is empty slot for user customizing.
fill the place with container widget such as layout, box, table.]]
}

View File

@ -116,10 +116,6 @@ pub_eo_files = [
'efl_ui_list_view.eo',
'efl_ui_list_view_model.eo',
'efl_ui_list_view_pan.eo',
'efl_ui_item_part_text.eo',
'efl_ui_item_part_icon.eo',
'efl_ui_item_part_extra.eo',
'efl_ui_item_part_content.eo',
'efl_ui_item.eo',
'efl_ui_default_item.eo',
'efl_ui_list_default_item.eo',