efl: Split Efl.Container and Efl.Content

When I first implemented the Efl.Container interface I made a mistake of
mixing "single slot" content API's with "multiple children" content
API's.  This should fix that, by separating API's that are for a single
part and those that deal with a list of children.

  Efl.Content: Single slot. This will be used a lot by efl_part()
objects, and for the default content of widgets (eg. the window
content).

  Efl.Container: Multiple children. Used by lists, boxes, layouts
(edje/elm), etc...

I didn't see any class that implemented both interfaces (note: Layout
implements Container and Button implements Content, so technically
Button implements both through inheritance).

For now the eo_prefix is not changed in Efl.Container. I wonder if it
should be reset (to efl_container) or not. This would only affect the C
API.

Ref T5328
This commit is contained in:
Jean-Philippe Andre 2017-11-20 15:41:07 +09:00
parent 67188ba22b
commit dda18948ae
51 changed files with 150 additions and 130 deletions

View File

@ -44,6 +44,7 @@ efl_eolian_files = \
lib/efl/interfaces/efl_orientation.eo \
lib/efl/interfaces/efl_flipable.eo \
lib/efl/interfaces/efl_container.eo \
lib/efl/interfaces/efl_content.eo \
lib/efl/interfaces/efl_pack.eo \
lib/efl/interfaces/efl_pack_layout.eo \
lib/efl/interfaces/efl_pack_linear.eo \

View File

@ -1,7 +1,7 @@
efl = require('efl');
function setIcon(widget, icon) {
container = widget.part("icon").cast("Efl.Container");
container = widget.part("icon").cast("Efl.Content");
container.setContent(icon);
}

View File

@ -29,7 +29,7 @@ bt = new efl.Efl.Ui.Image(ly);
bt.setIcon('chat');
bt.setHintMin(20, 20);
// elm_layout_icon_set(ly, bt);
icon_container = ly.part('elm.swallow.icon').cast('Efl.Container');
icon_container = ly.part('elm.swallow.icon').cast('Efl.Content');
icon_container.setContent(bt);
ly.emitSignal('elm,state,icon,visible', 'elm');
@ -37,7 +37,7 @@ bt = new efl.Efl.Ui.Image(ly);
bt.setIcon('close');
bt.setHintMin(20, 20);
// elm_layout_end_set(ly, bt);
end_container = ly.part('elm.swallow.end').cast('Efl.Container');
end_container = ly.part('elm.swallow.end').cast('Efl.Content');
end_container.setContent(bt);
ly.emitSignal('elm,state,end,visible', 'elm');
@ -56,7 +56,7 @@ ly.setVisible(true);
bt = new efl.Efl.Ui.Button(ly);
bt.setPartText(null, "Button 1");
console.log("Will get part");
element_container = ly.part('example/custom').cast('Efl.Container');
element_container = ly.part('example/custom').cast('Efl.Content');
console.log("Will setcontent on part");
element_container.setContent(bt);

View File

@ -16,7 +16,7 @@ popup.on('timeout', function()
popup.setVisible(false);
});
content_container = popup.part("elm.swallow.content").cast("Efl.Container");
content_container = popup.part("elm.swallow.content").cast("Efl.Content");
content_container.setContent(content);
popup.setPartText("title,text", "Title");

View File

@ -21,7 +21,7 @@ radio_g.setStateValue(1);
radio_g.setValue(1);
ic = new efl.Efl.Ui.Image(win);
ic.setIcon("home");
radio_g.part("icon").cast("Efl.Container").setContent(ic);
radio_g.part("icon").cast("Efl.Content").setContent(ic);
bx.packEnd(radio_g);
radio_g.setHintWeight(1.0, 1.0);
radio_g.setHintAlign(-1.0, -1.0);
@ -34,7 +34,7 @@ radio.setStateValue(2);
radio.addGroup(radio_g);
ic = new efl.Efl.Ui.Image(win);
ic.setIcon("file");
radio.part("icon").cast("Efl.Container").setContent(ic);
radio.part("icon").cast("Efl.Content").setContent(ic);
bx.packEnd(radio);
radio.setHintWeight(1.0, 1.0);
radio.setHintAlign(-1.0, -1.0);

View File

@ -24,12 +24,12 @@ sl.setPartText("elm.text", "Counter");
ic = new efl.Efl.Ui.Image(win);
ic.setIcon("home");
// ic.setResizable(false, false);
sl.part("icon").cast("Efl.Container").setContent(ic);
sl.part("icon").cast("Efl.Content").setContent(ic);
ic = new efl.Efl.Ui.Image(win);
ic.setIcon("folder");
// ic.setResizable(false, false);
sl.part("end").cast("Efl.Container").setContent(ic);
sl.part("end").cast("Efl.Content").setContent(ic);
sl.setHintAlign(-1.0, 0.5);
sl.setHintWeight(1.0, 1.0);

View File

@ -58,7 +58,7 @@ twit.get('statuses/user_timeline', {screen_name: user_acount, count:10}, functio
var entry = new efl.Elm.Entry(win);
entry.setPartText("elm.text", text);
entry.setEditable(false);
part = layout.part("tweet_text").cast("Efl.Container");
part = layout.part("tweet_text").cast("Efl.Content");
part.setContent(entry);
layout.setHintMin(127, 96);
@ -68,7 +68,7 @@ twit.get('statuses/user_timeline', {screen_name: user_acount, count:10}, functio
var icon = new efl.Efl.Ui.Image(win);
icon.fillInside = true;
icon_array.push(icon);
user_icon = layout.part("user_icon").cast("Efl.Container");
user_icon = layout.part("user_icon").cast("Efl.Content");
user_icon.setContent(icon);
item = tweet_box.packEnd(layout);
layout.setVisible(true);

View File

@ -16,7 +16,7 @@ _external_compose(Eo *obj, Edje *ed, const char *part)
}
EOLIAN static Efl_Gfx *
_efl_canvas_layout_part_external_efl_container_content_get(Eo *obj, void *_pd EINA_UNUSED)
_efl_canvas_layout_part_external_efl_content_content_get(Eo *obj, void *_pd EINA_UNUSED)
{
PROXY_DATA_GET(obj, pd);
return _edje_object_part_external_object_get(pd->ed, pd->part);

View File

@ -8,24 +8,24 @@ PROXY_IMPLEMENTATION(swallow, MY_CLASS, EINA_FALSE)
/* Swallow parts */
EOLIAN static Efl_Gfx *
_efl_canvas_layout_part_swallow_efl_container_content_get(Eo *obj, void *_pd EINA_UNUSED)
_efl_canvas_layout_part_swallow_efl_content_content_get(Eo *obj, void *_pd EINA_UNUSED)
{
PROXY_DATA_GET(obj, pd);
return _edje_efl_container_content_get(pd->ed, pd->part);
return _edje_efl_content_content_get(pd->ed, pd->part);
}
EOLIAN static Eina_Bool
_efl_canvas_layout_part_swallow_efl_container_content_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx *content)
_efl_canvas_layout_part_swallow_efl_content_content_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx *content)
{
PROXY_DATA_GET(obj, pd);
return _edje_efl_container_content_set(pd->ed, pd->part, content);
return _edje_efl_content_content_set(pd->ed, pd->part, content);
}
EOLIAN static Efl_Gfx *
_efl_canvas_layout_part_swallow_efl_container_content_unset(Eo *obj, void *_pd EINA_UNUSED)
_efl_canvas_layout_part_swallow_efl_content_content_unset(Eo *obj, void *_pd EINA_UNUSED)
{
PROXY_DATA_GET(obj, pd);
Efl_Gfx *content = _edje_efl_container_content_get(pd->ed, pd->part);
Efl_Gfx *content = _edje_efl_content_content_get(pd->ed, pd->part);
if (!content) return NULL;
efl_content_remove(obj, content);
return content;

View File

@ -3160,8 +3160,8 @@ Eina_Bool _edje_part_table_clear(Edje *ed, const char *part, Eina_Bool clear);
/* part containers: swallow */
Eo *_edje_swallow_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp);
Efl_Gfx *_edje_efl_container_content_get(Edje *ed, const char *part);
Eina_Bool _edje_efl_container_content_set(Edje *ed, const char *part, Efl_Gfx *obj_swallow);
Efl_Gfx *_edje_efl_content_content_get(Edje *ed, const char *part);
Eina_Bool _edje_efl_content_content_set(Edje *ed, const char *part, Efl_Gfx *obj_swallow);
/* part containers: external */
Eo *_edje_external_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp);

View File

@ -2907,7 +2907,7 @@ edje_object_part_text_prediction_hint_set(Eo *obj, const char *part, const char
}
Eina_Bool
_edje_efl_container_content_set(Edje *ed, const char *part, Efl_Gfx *obj_swallow)
_edje_efl_content_content_set(Edje *ed, const char *part, Efl_Gfx *obj_swallow)
{
Edje_Real_Part *rp, *rpcur;
Edje_User_Defined *eud = NULL;
@ -3267,7 +3267,7 @@ _edje_object_efl_container_content_remove(Eo *obj EINA_UNUSED, Edje *ed, Evas_Ob
}
Efl_Gfx *
_edje_efl_container_content_get(Edje *ed, const char *part)
_edje_efl_content_content_get(Edje *ed, const char *part)
{
Edje_Real_Part *rp;

View File

@ -1,5 +1,5 @@
class Efl.Canvas.Layout.Part_Box (Efl.Canvas.Layout.Part, Efl.Pack.Linear,
Efl.Ui.Direction)
Efl.Ui.Direction)
{
[[Represents a Box created as part of a layout.

View File

@ -1,6 +1,6 @@
import edje_types;
class Efl.Canvas.Layout.Part_External (Efl.Canvas.Layout.Part, Efl.Container,
class Efl.Canvas.Layout.Part_External (Efl.Canvas.Layout.Part, Efl.Content,
Efl.Canvas.Object)
{
[[Class representing an external part in Edje layouts.
@ -9,7 +9,7 @@ class Efl.Canvas.Layout.Part_External (Efl.Canvas.Layout.Part, Efl.Container,
is limited to one and only one function call.
An external part contains one object, which can be retrieved with
@Efl.Container.content.get(). Do not delete this object. Just like for
@Efl.Content.content.get(). Do not delete this object. Just like for
other parts, Edje is in charge of the visibility, geometry, clip, etc...
Common usage is then, in pseudo-C:
@ -17,8 +17,8 @@ class Efl.Canvas.Layout.Part_External (Efl.Canvas.Layout.Part, Efl.Container,
efl_text_set(widget, "hello");
Note that as a shortcut the widget's functions can be called directly on
this part object. In pseudo-C++:
dynamic_cast<efl::Text>(layout.part("title")).text_set("hello");
this part object. In C++:
efl::eo::downcast<efl::Text>(layout.part("title")).text_set("hello");
Or in pseudo-C:
efl_text_set(efl_part(layout, "title"), "hello");
Or in pseudo-script:
@ -28,6 +28,6 @@ class Efl.Canvas.Layout.Part_External (Efl.Canvas.Layout.Part, Efl.Container,
]]
data: null;
implements {
Efl.Container.content { get; }
Efl.Content.content { get; }
}
}

View File

@ -1,4 +1,4 @@
class Efl.Canvas.Layout.Part_Swallow (Efl.Canvas.Layout.Part, Efl.Container)
class Efl.Canvas.Layout.Part_Swallow (Efl.Canvas.Layout.Part, Efl.Content)
{
[[Represents a SWALLOW part of an Edje object.
@ -7,7 +7,7 @@ class Efl.Canvas.Layout.Part_Swallow (Efl.Canvas.Layout.Part, Efl.Container)
]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -7,6 +7,7 @@ set(PUBLIC_EO_FILES
interfaces/efl_canvas.eo
interfaces/efl_config.eo
interfaces/efl_container.eo
interfaces/efl_content.eo
interfaces/efl_control.eo
interfaces/efl_file.eo
interfaces/efl_flipable.eo

View File

@ -146,6 +146,7 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
/* Packing & containers */
#include "interfaces/efl_container.eo.h"
#include "interfaces/efl_content.eo.h"
#include "interfaces/efl_pack.eo.h"
#include "interfaces/efl_pack_layout.eo.h"
#include "interfaces/efl_pack_linear.eo.h"

View File

@ -1,23 +1,13 @@
interface Efl.Container (Efl.Gfx)
interface Efl.Container
{
[[API common to all UI container objects.]]
[[Common interface for objects that have multiple contents (sub objects).
APIs in this interface deal with containers of multiple sub objects, not
with individual parts.
]]
eo_prefix: efl_content;
event_prefix: efl_container;
methods {
@property content {
[[Swallowed sub-object contained in this object.]]
set {
return: bool; [[$true on success, $false otherwise]]
}
get {}
values {
content: Efl.Gfx; [[The object to swallow.]]
}
}
content_unset {
[[Unswallow the object in the current container and return it.]]
return: Efl.Gfx; [[Unswallowed object]]
}
content_remove {
[[Unswallow an object from this container.]]
params {

View File

@ -0,0 +1,24 @@
interface Efl.Content
{
[[Common interface for objects that have a (single) content.
This is used for the default content part of widgets, as well as for
individual parts through @Efl.Part.
]]
methods {
@property content {
[[Swallowed sub-object contained in this object.]]
set {
return: bool; [[$true on success, $false otherwise]]
}
get {}
values {
content: Efl.Gfx; [[The object to swallow.]]
}
}
content_unset {
[[Unswallow the object in the current container and return it.]]
return: Efl.Gfx; [[Unswallowed object]]
}
}
}

View File

@ -45,6 +45,7 @@
/* Packing & containers */
#include "interfaces/efl_container.eo.c"
#include "interfaces/efl_content.eo.c"
#include "interfaces/efl_pack.eo.c"
#include "interfaces/efl_pack_layout.eo.c"
#include "interfaces/efl_pack_linear.eo.c"

View File

@ -18,6 +18,7 @@ class Efl.Ui.Box (Elm.Widget, Efl.Pack.Linear, Efl.Pack.Layout,
implements {
Efl.Object.constructor;
Efl.Canvas.Group.group_calculate;
//Efl.Container.content_remove; // TODO
Efl.Container.content_iterate;
Efl.Container.content_count;
Efl.Ui.Direction.direction { get; set; }

View File

@ -3,6 +3,6 @@ class Efl.Ui.Button.Part (Efl.Ui.Layout.Part_Content)
[[Elementary button internal part class]]
data: null;
implements {
Efl.Container.content { set; }
Efl.Content.content { set; }
}
}

View File

@ -1,9 +1,9 @@
class Efl.Ui.Flip.Part (Efl.Ui.Widget.Part, Efl.Container)
class Efl.Ui.Flip.Part (Efl.Ui.Widget.Part, Efl.Content)
{
[[Efl UI flip internal class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -1,5 +1,5 @@
class Efl.Ui.Frame (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Text, Efl.Text.Markup,
Efl.Ui.Translatable, Efl.Container)
Efl.Ui.Translatable, Efl.Content)
{
[[Frame widget
@ -60,7 +60,7 @@ class Efl.Ui.Frame (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Text, Efl.Text.Markup,
Efl.Text.text { get; set; }
Efl.Text.Markup.markup { get; set; }
Efl.Ui.Translatable.translatable_text { get; set; }
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -6,6 +6,7 @@ class Efl.Ui.Grid (Elm.Widget, Efl.Pack.Grid, Efl.Pack.Layout,
Efl.Object.constructor;
Efl.Canvas.Group.group_calculate;
Elm.Widget.theme_apply;
//Efl.Container.content_remove; // TODO
Efl.Container.content_iterate;
Efl.Container.content_count;
Efl.Ui.Direction.direction { get; set; }

View File

@ -1,9 +1,9 @@
class Efl.Ui.Layout.Part_Content (Efl.Ui.Layout.Part, Efl.Container)
class Efl.Ui.Layout.Part_Content (Efl.Ui.Layout.Part, Efl.Content)
{
[[Elementary layout internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -1,12 +1,11 @@
class Efl.Ui.Layout.Part_Legacy (Efl.Ui.Layout.Part, Efl.Container, Efl.Text,
Efl.Text.Markup,
Efl.Ui.Translatable)
class Efl.Ui.Layout.Part_Legacy (Efl.Ui.Layout.Part, Efl.Content, Efl.Text,
Efl.Text.Markup, Efl.Ui.Translatable)
{
[[Elementary layout internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
Efl.Text.text { set; get; }
Efl.Text.Markup.markup { get; set; }
Efl.Ui.Translatable.translatable_text { get; set; }

View File

@ -3,8 +3,8 @@ class Efl.Ui.Multibuttonentry.Part (Efl.Ui.Layout.Part_Content, Efl.Text)
[[Elementary multibuttonentry internal part class]]
data: null;
implements {
Efl.Container.content { set; get; }
Efl.Container.content_unset;
Efl.Content.content { set; get; }
Efl.Content.content_unset;
Efl.Text.text { set; get; }
}
}

View File

@ -159,8 +159,9 @@ enum Efl.Ui.Win.Move_Resize_Mode
class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Efl.Access.Window,
Efl.Access.Component, Efl.Access.Widget.Action,
Efl.Container, Efl.Input.State, Efl.Input.Interface, Efl.Screen,
Efl.Gfx.Size.Hint, Efl.Text, Efl.Config.Global, Efl.Part, Efl.Ui.Focus.Manager )
Efl.Content, Efl.Input.State, Efl.Input.Interface, Efl.Screen,
Efl.Gfx.Size.Hint, Efl.Text, Efl.Config.Global, Efl.Part,
Efl.Ui.Focus.Manager )
{
[[Efl UI window class]]
legacy_prefix: elm_win;
@ -846,8 +847,8 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Efl.Access.Window,
//Efl.Canvas.seats;
Efl.Canvas.device { get; }
Efl.Canvas.seat { get; }
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
Efl.Part.part;
Efl.Object.provider_find;
}

View File

@ -1,10 +1,10 @@
class Efl.Ui.Win.Part (Efl.Ui.Widget.Part, Efl.Container, Efl.Gfx, Efl.File)
class Efl.Ui.Win.Part (Efl.Ui.Widget.Part, Efl.Content, Efl.Gfx, Efl.File)
{
[[Efl UI window interal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
Efl.Gfx.color { get; set; }
Efl.File.file { get; set; }
}

View File

@ -3,7 +3,7 @@ class Elm.Ctxpopup.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary contex popup internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -3,7 +3,7 @@ class Elm.Dayselector.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary dayselector internal part class]]
data: null;
implements {
Efl.Container.content { set; }
Efl.Container.content_unset;
Efl.Content.content { set; }
Efl.Content.content_unset;
}
}

View File

@ -3,8 +3,8 @@ class Elm.Entry.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary entry internal part class]]
data: null;
implements {
Efl.Container.content { set; }
Efl.Container.content_unset;
Efl.Content.content { set; }
Efl.Content.content_unset;
Efl.Text.text { get; set; }
}
}

View File

@ -3,8 +3,8 @@ class Elm.Fileselector.Entry.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary fileselector entry internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
Efl.Text.text { set; get; }
}
}

View File

@ -1,10 +1,10 @@
class Elm.Flip.Part (Efl.Object, Efl.Container)
class Elm.Flip.Part (Efl.Object, Efl.Content)
{
[[Elementary flip internal part class]]
data: null;
implements {
Efl.Object.destructor;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -3,7 +3,7 @@ class Elm.Hover.Part (Efl.Ui.Layout.Part_Legacy)
[[elementary hover internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -112,19 +112,19 @@ _elm_inwin_activate(Eo *obj, Elm_Inwin_Data *pd EINA_UNUSED)
}
EOLIAN static Eina_Bool
_elm_inwin_efl_container_content_set(Eo *obj, Elm_Inwin_Data *pd EINA_UNUSED, Efl_Gfx *content)
_elm_inwin_efl_content_content_set(Eo *obj, Elm_Inwin_Data *pd EINA_UNUSED, Efl_Gfx *content)
{
return efl_content_set(efl_part(obj, _content_aliases[0].real_part), content);
}
EOLIAN static Efl_Gfx *
_elm_inwin_efl_container_content_get(Eo *obj, Elm_Inwin_Data *pd EINA_UNUSED)
_elm_inwin_efl_content_content_get(Eo *obj, Elm_Inwin_Data *pd EINA_UNUSED)
{
return efl_content_get(efl_part(obj, _content_aliases[0].real_part));
}
EOLIAN static Efl_Gfx *
_elm_inwin_efl_container_content_unset(Eo *obj, Elm_Inwin_Data *pd EINA_UNUSED)
_elm_inwin_efl_content_content_unset(Eo *obj, Elm_Inwin_Data *pd EINA_UNUSED)
{
return efl_content_unset(efl_part(obj, _content_aliases[0].real_part));
}

View File

@ -1,4 +1,4 @@
class Elm.Inwin (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Container)
class Elm.Inwin (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Content)
{
[[Elementary inwin class]]
legacy_prefix: elm_inwin;
@ -22,7 +22,7 @@ class Elm.Inwin (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Container)
class.constructor;
Efl.Object.constructor;
Elm.Widget.widget_parent { set; }
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -247,19 +247,19 @@ _elm_mapbuf_content_unset(Eo *obj, Elm_Mapbuf_Data *sd, const char *part)
}
EOLIAN static Eina_Bool
_elm_mapbuf_efl_container_content_set(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Object *content)
_elm_mapbuf_efl_content_content_set(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Object *content)
{
return _elm_mapbuf_content_set(obj, sd, NULL, content);
}
EOLIAN static Evas_Object*
_elm_mapbuf_efl_container_content_get(Eo *obj, Elm_Mapbuf_Data *sd)
_elm_mapbuf_efl_content_content_get(Eo *obj, Elm_Mapbuf_Data *sd)
{
return _elm_mapbuf_content_get(obj, sd, NULL);
}
EOLIAN static Evas_Object*
_elm_mapbuf_efl_container_content_unset(Eo *obj, Elm_Mapbuf_Data *sd)
_elm_mapbuf_efl_content_content_unset(Eo *obj, Elm_Mapbuf_Data *sd)
{
return _elm_mapbuf_content_unset(obj, sd, NULL);
}

View File

@ -1,4 +1,4 @@
class Elm.Mapbuf (Elm.Widget, Efl.Container, Efl.Part)
class Elm.Mapbuf (Elm.Widget, Efl.Content, Efl.Part)
{
[[Elementary mapbuf class]]
legacy_prefix: elm_mapbuf;
@ -121,8 +121,8 @@ class Elm.Mapbuf (Elm.Widget, Efl.Container, Efl.Part)
Efl.Gfx.size { set; }
Elm.Widget.theme_apply;
Elm.Widget.widget_sub_object_del;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
Efl.Part.part;
}
}

View File

@ -1,9 +1,9 @@
class Elm.Mapbuf.Part (Efl.Ui.Widget.Part, Efl.Container)
class Elm.Mapbuf.Part (Efl.Ui.Widget.Part, Efl.Content)
{
[[Elementary mapbuf internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -3,8 +3,8 @@ class Elm.Naviframe.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary naviframe internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
Efl.Text.text { set; get; }
}
}

View File

@ -405,19 +405,19 @@ _elm_notify_content_unset(Eo *obj, Elm_Notify_Data *sd, const char *part)
}
EOLIAN static Eina_Bool
_elm_notify_efl_container_content_set(Eo *obj, Elm_Notify_Data *sd, Evas_Object *content)
_elm_notify_efl_content_content_set(Eo *obj, Elm_Notify_Data *sd, Evas_Object *content)
{
return _elm_notify_content_set(obj, sd, NULL, content);
}
EOLIAN static Evas_Object*
_elm_notify_efl_container_content_get(Eo *obj EINA_UNUSED, Elm_Notify_Data *sd)
_elm_notify_efl_content_content_get(Eo *obj EINA_UNUSED, Elm_Notify_Data *sd)
{
return _elm_notify_content_get(obj, sd, NULL);
}
EOLIAN static Evas_Object*
_elm_notify_efl_container_content_unset(Eo *obj, Elm_Notify_Data *sd)
_elm_notify_efl_content_content_unset(Eo *obj, Elm_Notify_Data *sd)
{
return _elm_notify_content_unset(obj, sd, NULL);
}

View File

@ -1,4 +1,4 @@
class Elm.Notify (Elm.Widget, Efl.Ui.Focus.Layer, Efl.Container, Efl.Part)
class Elm.Notify (Elm.Widget, Efl.Ui.Focus.Layer, Efl.Content, Efl.Part)
{
[[Elementary notification class]]
legacy_prefix: elm_notify;
@ -86,8 +86,8 @@ class Elm.Notify (Elm.Widget, Efl.Ui.Focus.Layer, Efl.Container, Efl.Part)
Elm.Widget.widget_parent { get; set; }
Elm.Widget.theme_apply;
Elm.Widget.widget_sub_object_del;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
Efl.Part.part;
}
events {

View File

@ -1,4 +1,4 @@
class Elm.Notify.Part (Efl.Ui.Widget.Part, Efl.Container, Efl.Text,
class Elm.Notify.Part (Efl.Ui.Widget.Part, Efl.Content, Efl.Text,
Efl.Ui.Translatable)
{
[[Elementary notification internel part class]]
@ -6,7 +6,7 @@ class Elm.Notify.Part (Efl.Ui.Widget.Part, Efl.Container, Efl.Text,
implements {
Efl.Text.text { get; set; }
Efl.Ui.Translatable.translatable_text { get; set; }
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -1,9 +1,9 @@
class Elm.Panel.Part (Efl.Ui.Widget.Part, Efl.Container)
class Elm.Panel.Part (Efl.Ui.Widget.Part, Efl.Content)
{
[[Elementary panel internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}

View File

@ -32,19 +32,19 @@ struct _Elm_Part_Data
#define ELM_PART_CONTENT_DEFAULT_IMPLEMENT(type, typedata) \
EOLIAN static Eina_Bool \
_ ## type ## _efl_container_content_set(Eo *obj, typedata *sd, Evas_Object *content) \
_ ## type ## _efl_content_content_set(Eo *obj, typedata *sd, Evas_Object *content) \
{ \
return efl_content_set(efl_part(obj, _ ## type ## _default_content_part_get(obj, sd)), content); \
} \
\
EOLIAN static Evas_Object* \
_ ## type ## _efl_container_content_get(Eo *obj, typedata *sd) \
_ ## type ## _efl_content_content_get(Eo *obj, typedata *sd) \
{ \
return efl_content_get(efl_part(obj, _ ## type ## _default_content_part_get(obj, sd))); \
} \
\
EOLIAN static Evas_Object* \
_ ## type ## _efl_container_content_unset(Eo *obj, typedata *sd) \
_ ## type ## _efl_content_content_unset(Eo *obj, typedata *sd) \
{ \
return efl_content_unset(efl_part(obj, _ ## type ## _default_content_part_get(obj, sd))); \
}
@ -95,7 +95,7 @@ _ ## type ## _efl_part_part(const Eo *obj, typedata *priv EINA_UNUSED, const cha
#define ELM_PART_OVERRIDE_CONTENT_SET_FULL(full, type, TYPE, typedata) \
EOLIAN static Eina_Bool \
_ ## full ## _efl_container_content_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx *content) \
_ ## full ## _efl_content_content_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx *content) \
{ \
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \
@ -104,7 +104,7 @@ _ ## full ## _efl_container_content_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx
#define ELM_PART_OVERRIDE_CONTENT_GET_FULL(full, type, TYPE, typedata) \
EOLIAN static Efl_Gfx * \
_ ## full ## _efl_container_content_get(Eo *obj, void *_pd EINA_UNUSED) \
_ ## full ## _efl_content_content_get(Eo *obj, void *_pd EINA_UNUSED) \
{ \
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \
@ -113,7 +113,7 @@ _ ## full ## _efl_container_content_get(Eo *obj, void *_pd EINA_UNUSED) \
#define ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(full, type, TYPE, typedata) \
EOLIAN static Efl_Gfx * \
_ ## full ## _efl_container_content_unset(Eo *obj, void *_pd EINA_UNUSED) \
_ ## full ## _efl_content_content_unset(Eo *obj, void *_pd EINA_UNUSED) \
{ \
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \

View File

@ -3,6 +3,6 @@ class Elm.Player.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary player internal part class]]
data: null;
implements {
Efl.Container.content { set; }
Efl.Content.content { set; }
}
}

View File

@ -3,8 +3,8 @@ class Elm.Popup.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary popup internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
Efl.Text.text { set; get; }
}
}

View File

@ -719,19 +719,19 @@ _elm_scroller_content_unset(Eo *obj, Elm_Scroller_Data *sd, const char *part)
}
EOLIAN static Eina_Bool
_elm_scroller_efl_container_content_set(Eo *obj, Elm_Scroller_Data *sd, Eo *content)
_elm_scroller_efl_content_content_set(Eo *obj, Elm_Scroller_Data *sd, Eo *content)
{
return _elm_scroller_content_set(obj, sd, "default", content);
}
EOLIAN static Eo *
_elm_scroller_efl_container_content_get(Eo *obj, Elm_Scroller_Data *sd)
_elm_scroller_efl_content_content_get(Eo *obj, Elm_Scroller_Data *sd)
{
return _elm_scroller_content_get(obj, sd, "default");
}
EOLIAN static Eo *
_elm_scroller_efl_container_content_unset(Eo *obj, Elm_Scroller_Data *sd)
_elm_scroller_efl_content_content_unset(Eo *obj, Elm_Scroller_Data *sd)
{
return _elm_scroller_content_unset(obj, sd, "default");
}

View File

@ -1,6 +1,6 @@
class Elm.Scroller (Efl.Ui.Layout, Elm.Interface_Scrollable,
Efl.Access.Widget.Action,
Efl.Ui.Scrollable, Efl.Container)
Efl.Ui.Scrollable, Efl.Content)
{
[[Elementary scroller class]]
legacy_prefix: elm_scroller;
@ -45,8 +45,8 @@ class Elm.Scroller (Efl.Ui.Layout, Elm.Interface_Scrollable,
Efl.Gfx.position { set; }
Efl.Gfx.size { set; }
Efl.Canvas.Group.group_member_add;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
Elm.Widget.theme_apply;
Elm.Widget.on_access_activate;
Elm.Widget.widget_sub_object_del;

View File

@ -3,7 +3,7 @@ class Elm.Scroller.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary scroller internal part class]]
data: null;
implements {
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Content.content { get; set; }
Efl.Content.content_unset;
}
}