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_orientation.eo \
lib/efl/interfaces/efl_flipable.eo \ lib/efl/interfaces/efl_flipable.eo \
lib/efl/interfaces/efl_container.eo \ lib/efl/interfaces/efl_container.eo \
lib/efl/interfaces/efl_content.eo \
lib/efl/interfaces/efl_pack.eo \ lib/efl/interfaces/efl_pack.eo \
lib/efl/interfaces/efl_pack_layout.eo \ lib/efl/interfaces/efl_pack_layout.eo \
lib/efl/interfaces/efl_pack_linear.eo \ lib/efl/interfaces/efl_pack_linear.eo \

View File

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

View File

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

View File

@ -16,7 +16,7 @@ popup.on('timeout', function()
popup.setVisible(false); 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); content_container.setContent(content);
popup.setPartText("title,text", "Title"); popup.setPartText("title,text", "Title");

View File

@ -21,7 +21,7 @@ radio_g.setStateValue(1);
radio_g.setValue(1); radio_g.setValue(1);
ic = new efl.Efl.Ui.Image(win); ic = new efl.Efl.Ui.Image(win);
ic.setIcon("home"); 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); bx.packEnd(radio_g);
radio_g.setHintWeight(1.0, 1.0); radio_g.setHintWeight(1.0, 1.0);
radio_g.setHintAlign(-1.0, -1.0); radio_g.setHintAlign(-1.0, -1.0);
@ -34,7 +34,7 @@ radio.setStateValue(2);
radio.addGroup(radio_g); radio.addGroup(radio_g);
ic = new efl.Efl.Ui.Image(win); ic = new efl.Efl.Ui.Image(win);
ic.setIcon("file"); ic.setIcon("file");
radio.part("icon").cast("Efl.Container").setContent(ic); radio.part("icon").cast("Efl.Content").setContent(ic);
bx.packEnd(radio); bx.packEnd(radio);
radio.setHintWeight(1.0, 1.0); radio.setHintWeight(1.0, 1.0);
radio.setHintAlign(-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 = new efl.Efl.Ui.Image(win);
ic.setIcon("home"); ic.setIcon("home");
// ic.setResizable(false, false); // 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 = new efl.Efl.Ui.Image(win);
ic.setIcon("folder"); ic.setIcon("folder");
// ic.setResizable(false, false); // 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.setHintAlign(-1.0, 0.5);
sl.setHintWeight(1.0, 1.0); 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); var entry = new efl.Elm.Entry(win);
entry.setPartText("elm.text", text); entry.setPartText("elm.text", text);
entry.setEditable(false); entry.setEditable(false);
part = layout.part("tweet_text").cast("Efl.Container"); part = layout.part("tweet_text").cast("Efl.Content");
part.setContent(entry); part.setContent(entry);
layout.setHintMin(127, 96); 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); var icon = new efl.Efl.Ui.Image(win);
icon.fillInside = true; icon.fillInside = true;
icon_array.push(icon); 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); user_icon.setContent(icon);
item = tweet_box.packEnd(layout); item = tweet_box.packEnd(layout);
layout.setVisible(true); layout.setVisible(true);

View File

@ -16,7 +16,7 @@ _external_compose(Eo *obj, Edje *ed, const char *part)
} }
EOLIAN static Efl_Gfx * 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); PROXY_DATA_GET(obj, pd);
return _edje_object_part_external_object_get(pd->ed, pd->part); 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 */ /* Swallow parts */
EOLIAN static Efl_Gfx * 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); 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 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); 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 * 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); 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; if (!content) return NULL;
efl_content_remove(obj, content); efl_content_remove(obj, content);
return 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 */ /* part containers: swallow */
Eo *_edje_swallow_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp); 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); Efl_Gfx *_edje_efl_content_content_get(Edje *ed, const char *part);
Eina_Bool _edje_efl_container_content_set(Edje *ed, const char *part, Efl_Gfx *obj_swallow); Eina_Bool _edje_efl_content_content_set(Edje *ed, const char *part, Efl_Gfx *obj_swallow);
/* part containers: external */ /* part containers: external */
Eo *_edje_external_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp); 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 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_Real_Part *rp, *rpcur;
Edje_User_Defined *eud = NULL; 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 * 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; Edje_Real_Part *rp;

View File

@ -1,5 +1,5 @@
class Efl.Canvas.Layout.Part_Box (Efl.Canvas.Layout.Part, Efl.Pack.Linear, 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. [[Represents a Box created as part of a layout.

View File

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

View File

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

View File

@ -146,6 +146,7 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
/* Packing & containers */ /* Packing & containers */
#include "interfaces/efl_container.eo.h" #include "interfaces/efl_container.eo.h"
#include "interfaces/efl_content.eo.h"
#include "interfaces/efl_pack.eo.h" #include "interfaces/efl_pack.eo.h"
#include "interfaces/efl_pack_layout.eo.h" #include "interfaces/efl_pack_layout.eo.h"
#include "interfaces/efl_pack_linear.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; eo_prefix: efl_content;
event_prefix: efl_container; event_prefix: efl_container;
methods { 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 { content_remove {
[[Unswallow an object from this container.]] [[Unswallow an object from this container.]]
params { 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 */ /* Packing & containers */
#include "interfaces/efl_container.eo.c" #include "interfaces/efl_container.eo.c"
#include "interfaces/efl_content.eo.c"
#include "interfaces/efl_pack.eo.c" #include "interfaces/efl_pack.eo.c"
#include "interfaces/efl_pack_layout.eo.c" #include "interfaces/efl_pack_layout.eo.c"
#include "interfaces/efl_pack_linear.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 { implements {
Efl.Object.constructor; Efl.Object.constructor;
Efl.Canvas.Group.group_calculate; Efl.Canvas.Group.group_calculate;
//Efl.Container.content_remove; // TODO
Efl.Container.content_iterate; Efl.Container.content_iterate;
Efl.Container.content_count; Efl.Container.content_count;
Efl.Ui.Direction.direction { get; set; } 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]] [[Elementary button internal part class]]
data: null; data: null;
implements { 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]] [[Efl UI flip internal class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; 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, 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 [[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.text { get; set; }
Efl.Text.Markup.markup { get; set; } Efl.Text.Markup.markup { get; set; }
Efl.Ui.Translatable.translatable_text { get; set; } Efl.Ui.Translatable.translatable_text { get; set; }
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; 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.Object.constructor;
Efl.Canvas.Group.group_calculate; Efl.Canvas.Group.group_calculate;
Elm.Widget.theme_apply; Elm.Widget.theme_apply;
//Efl.Container.content_remove; // TODO
Efl.Container.content_iterate; Efl.Container.content_iterate;
Efl.Container.content_count; Efl.Container.content_count;
Efl.Ui.Direction.direction { get; set; } 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]] [[Elementary layout internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
} }
} }

View File

@ -1,12 +1,11 @@
class Efl.Ui.Layout.Part_Legacy (Efl.Ui.Layout.Part, Efl.Container, Efl.Text, class Efl.Ui.Layout.Part_Legacy (Efl.Ui.Layout.Part, Efl.Content, Efl.Text,
Efl.Text.Markup, Efl.Text.Markup, Efl.Ui.Translatable)
Efl.Ui.Translatable)
{ {
[[Elementary layout internal part class]] [[Elementary layout internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Text.text { set; get; } Efl.Text.text { set; get; }
Efl.Text.Markup.markup { get; set; } Efl.Text.Markup.markup { get; set; }
Efl.Ui.Translatable.translatable_text { 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]] [[Elementary multibuttonentry internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { set; get; } Efl.Content.content { set; get; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Text.text { set; get; } 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, class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Efl.Access.Window,
Efl.Access.Component, Efl.Access.Widget.Action, Efl.Access.Component, Efl.Access.Widget.Action,
Efl.Container, Efl.Input.State, Efl.Input.Interface, Efl.Screen, 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.Gfx.Size.Hint, Efl.Text, Efl.Config.Global, Efl.Part,
Efl.Ui.Focus.Manager )
{ {
[[Efl UI window class]] [[Efl UI window class]]
legacy_prefix: elm_win; legacy_prefix: elm_win;
@ -846,8 +847,8 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Efl.Access.Window,
//Efl.Canvas.seats; //Efl.Canvas.seats;
Efl.Canvas.device { get; } Efl.Canvas.device { get; }
Efl.Canvas.seat { get; } Efl.Canvas.seat { get; }
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Part.part; Efl.Part.part;
Efl.Object.provider_find; 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]] [[Efl UI window interal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Gfx.color { get; set; } Efl.Gfx.color { get; set; }
Efl.File.file { 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]] [[Elementary contex popup internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
} }
} }

View File

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

View File

@ -3,8 +3,8 @@ class Elm.Entry.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary entry internal part class]] [[Elementary entry internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { set; } Efl.Content.content { set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Text.text { get; set; } 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]] [[Elementary fileselector entry internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Text.text { set; get; } 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]] [[Elementary flip internal part class]]
data: null; data: null;
implements { implements {
Efl.Object.destructor; Efl.Object.destructor;
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
} }
} }

View File

@ -3,7 +3,7 @@ class Elm.Hover.Part (Efl.Ui.Layout.Part_Legacy)
[[elementary hover internal part class]] [[elementary hover internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; 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 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); return efl_content_set(efl_part(obj, _content_aliases[0].real_part), content);
} }
EOLIAN static Efl_Gfx * 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)); return efl_content_get(efl_part(obj, _content_aliases[0].real_part));
} }
EOLIAN static Efl_Gfx * 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)); 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]] [[Elementary inwin class]]
legacy_prefix: elm_inwin; legacy_prefix: elm_inwin;
@ -22,7 +22,7 @@ class Elm.Inwin (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Container)
class.constructor; class.constructor;
Efl.Object.constructor; Efl.Object.constructor;
Elm.Widget.widget_parent { set; } Elm.Widget.widget_parent { set; }
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; 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 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); return _elm_mapbuf_content_set(obj, sd, NULL, content);
} }
EOLIAN static Evas_Object* 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); return _elm_mapbuf_content_get(obj, sd, NULL);
} }
EOLIAN static Evas_Object* 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); 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]] [[Elementary mapbuf class]]
legacy_prefix: elm_mapbuf; legacy_prefix: elm_mapbuf;
@ -121,8 +121,8 @@ class Elm.Mapbuf (Elm.Widget, Efl.Container, Efl.Part)
Efl.Gfx.size { set; } Efl.Gfx.size { set; }
Elm.Widget.theme_apply; Elm.Widget.theme_apply;
Elm.Widget.widget_sub_object_del; Elm.Widget.widget_sub_object_del;
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Part.part; 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]] [[Elementary mapbuf internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
} }
} }

View File

@ -3,8 +3,8 @@ class Elm.Naviframe.Part (Efl.Ui.Layout.Part_Legacy)
[[Elementary naviframe internal part class]] [[Elementary naviframe internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Text.text { set; get; } 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 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); return _elm_notify_content_set(obj, sd, NULL, content);
} }
EOLIAN static Evas_Object* 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); return _elm_notify_content_get(obj, sd, NULL);
} }
EOLIAN static Evas_Object* 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); 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]] [[Elementary notification class]]
legacy_prefix: elm_notify; 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.widget_parent { get; set; }
Elm.Widget.theme_apply; Elm.Widget.theme_apply;
Elm.Widget.widget_sub_object_del; Elm.Widget.widget_sub_object_del;
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Part.part; Efl.Part.part;
} }
events { 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) Efl.Ui.Translatable)
{ {
[[Elementary notification internel part class]] [[Elementary notification internel part class]]
@ -6,7 +6,7 @@ class Elm.Notify.Part (Efl.Ui.Widget.Part, Efl.Container, Efl.Text,
implements { implements {
Efl.Text.text { get; set; } Efl.Text.text { get; set; }
Efl.Ui.Translatable.translatable_text { get; set; } Efl.Ui.Translatable.translatable_text { get; set; }
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; 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]] [[Elementary panel internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
} }
} }

View File

@ -32,19 +32,19 @@ struct _Elm_Part_Data
#define ELM_PART_CONTENT_DEFAULT_IMPLEMENT(type, typedata) \ #define ELM_PART_CONTENT_DEFAULT_IMPLEMENT(type, typedata) \
EOLIAN static Eina_Bool \ 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); \ return efl_content_set(efl_part(obj, _ ## type ## _default_content_part_get(obj, sd)), content); \
} \ } \
\ \
EOLIAN static Evas_Object* \ 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))); \ return efl_content_get(efl_part(obj, _ ## type ## _default_content_part_get(obj, sd))); \
} \ } \
\ \
EOLIAN static Evas_Object* \ 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))); \ 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) \ #define ELM_PART_OVERRIDE_CONTENT_SET_FULL(full, type, TYPE, typedata) \
EOLIAN static Eina_Bool \ 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); \ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _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) \ #define ELM_PART_OVERRIDE_CONTENT_GET_FULL(full, type, TYPE, typedata) \
EOLIAN static Efl_Gfx * \ 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); \ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _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) \ #define ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(full, type, TYPE, typedata) \
EOLIAN static Efl_Gfx * \ 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); \ Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \
typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _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]] [[Elementary player internal part class]]
data: null; data: null;
implements { 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]] [[Elementary popup internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Efl.Text.text { set; get; } 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 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); return _elm_scroller_content_set(obj, sd, "default", content);
} }
EOLIAN static Eo * 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"); return _elm_scroller_content_get(obj, sd, "default");
} }
EOLIAN static Eo * 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"); return _elm_scroller_content_unset(obj, sd, "default");
} }

View File

@ -1,6 +1,6 @@
class Elm.Scroller (Efl.Ui.Layout, Elm.Interface_Scrollable, class Elm.Scroller (Efl.Ui.Layout, Elm.Interface_Scrollable,
Efl.Access.Widget.Action, Efl.Access.Widget.Action,
Efl.Ui.Scrollable, Efl.Container) Efl.Ui.Scrollable, Efl.Content)
{ {
[[Elementary scroller class]] [[Elementary scroller class]]
legacy_prefix: elm_scroller; legacy_prefix: elm_scroller;
@ -45,8 +45,8 @@ class Elm.Scroller (Efl.Ui.Layout, Elm.Interface_Scrollable,
Efl.Gfx.position { set; } Efl.Gfx.position { set; }
Efl.Gfx.size { set; } Efl.Gfx.size { set; }
Efl.Canvas.Group.group_member_add; Efl.Canvas.Group.group_member_add;
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
Elm.Widget.theme_apply; Elm.Widget.theme_apply;
Elm.Widget.on_access_activate; Elm.Widget.on_access_activate;
Elm.Widget.widget_sub_object_del; 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]] [[Elementary scroller internal part class]]
data: null; data: null;
implements { implements {
Efl.Container.content { get; set; } Efl.Content.content { get; set; }
Efl.Container.content_unset; Efl.Content.content_unset;
} }
} }