1import efl_gfx_types;
2class Efl.Ui.Relative_Container extends Efl.Ui.Widget implements Efl.Pack_Layout, Efl.Pack
3{
4   [[The relative container class.
5
6     A relative container calculates the size and position of all the children
7     based on their relationship to each other.
8
9     @since 1.24
10   ]]
11   methods {
12      @property relation_left {
13         [[Specifies the left side edge of the $child object relative to the $base object.
14           When $relative_position is 0 the left edges of the two objects are aligned.
15           When $relative_position is 1 the left edge of the $child object is aligned
16           to the right edge of the $base object.]]
17         keys {
18            child: Efl.Gfx.Entity; [[The child object whose size and position is
19                                     being changed.]]
20         }
21         values {
22            base: Efl.Gfx.Entity; [[The object whose size and position is being used as reference.
23                                    $NULL means that the container object is used
24                                    (this is the default value).]]
25            relative_position: Efl.Gfx.Align(0.0); [[The ratio between left and right of the base,
26                                                     ranging from 0.0 to 1.0.]]
27         }
28      }
29      @property relation_right {
30         [[Specifies the right side edge of the $child object relative to the $base object.
31           When $relative_position is 0 the right edge of the $child object is aligned
32           to the left edge of the $base object.
33           When $relative_position is 1 the right edges of the two objects are aligned.]]
34         keys {
35            child: Efl.Gfx.Entity; [[The child object whose size and position is
36                                     being changed.]]
37         }
38         values {
39            base: Efl.Gfx.Entity; [[The object whose size and position is being used as reference.
40                                    $NULL means that the container object is used
41                                    (this is the default value).]]
42            relative_position: Efl.Gfx.Align(1.0); [[The ratio between left and right of the base,
43                                                     ranging from 0.0 to 1.0.]]
44         }
45      }
46      @property relation_top {
47         [[Specifies the top side edge of the $child object relative to the $base object.
48           When $relative_position is 0 the top edges of the two objects are aligned.
49           When $relative_position is 1 the top edge of the $child object is aligned
50           to the bottom edge of the $base object.]]
51         keys {
52            child: Efl.Gfx.Entity; [[The child object whose size and position is
53                                     being changed.]]
54         }
55         values {
56            base: Efl.Gfx.Entity; [[The object whose size and position is being used as reference.
57                                    $NULL means that the container object is used
58                                    (this is the default value).]]
59            relative_position: Efl.Gfx.Align(0.0); [[The ratio between top and bottom of the base,
60                                                     ranging from 0.0 to 1.0.]]
61         }
62      }
63      @property relation_bottom {
64         [[Specifies the bottom side edge of the $child object relative to the $base object.
65           When $relative_position is 0 the bottom edge of the $child object is aligned
66           to the top edge of the $base object.
67           When $relative_position is 1 the bottom edges of the two objects are aligned.]]
68         keys {
69            child: Efl.Gfx.Entity; [[The child object whose size and position is
70                                     being changed.]]
71         }
72         values {
73            base: Efl.Gfx.Entity; [[The object whose size and position is being used as reference.
74                                    $NULL means that the container object is used
75                                    (this is the default value).]]
76            relative_position: Efl.Gfx.Align(1.0); [[The ratio between top and bottom of the base,
77                                                     ranging from 0.0 to 1.0.]]
78         }
79      }
80   }
81   implements {
82      Efl.Object.constructor;
83      Efl.Object.invalidate;
84      Efl.Object.destructor;
85      Efl.Canvas.Group.group_calculate;
86      Efl.Pack.pack_clear;
87      Efl.Pack.unpack_all;
88      Efl.Pack.unpack;
89      Efl.Pack.pack;
90      Efl.Container.content_iterate;
91      Efl.Container.content_count;
92      Efl.Gfx.Entity.position { set; }
93      Efl.Gfx.Entity.size { set; }
94      Efl.Pack_Layout.layout_update;
95      Efl.Pack_Layout.layout_request;
96   }
97}
98