aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/efl/interfaces/efl_pack_table.eo
blob: 9214eb7c651fe8cee36de43d9af5b07db8573b83 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
interface @beta Efl.Pack_Table extends Efl.Pack
{
   [[Interface for 2D containers which arrange their elements on a table with rows and columns.
   
     Elements can be positioned on a specific row and column, or they can be simply added to
     the table using @Efl.Pack.pack and the container will chose where to put them.
   ]]
   c_prefix: efl_pack;
   methods {
      pack_table {
         [[Pack object at a given location in the table.

           When this container is deleted, it will request deletion of the
           given $subobj. Use @Efl.Pack.unpack to remove $subobj from this
           container without deleting it.
         ]]
         params {
            subobj: Efl.Gfx.Entity; [[A child object to pack in this table.]]
            col: int; [[Column number]]
            row: int; [[Row number]]
            colspan: int @optional; [[0 means 1, -1 means @.table_columns]]
            rowspan: int @optional; [[0 means 1, -1 means @.table_rows]]
         }
         return: bool; [[$true on success, $false otherwise]]
      }
      table_contents_get {
         [[Returns all objects at a given position in this table.]]
         return: iterator<Efl.Gfx.Entity> @owned; [[Iterator to table contents]]
         params {
            @in col: int; [[Column number]]
            @in row: int; [[Row number]]
            @in below: bool @optional; [[If $true get objects spanning over this cell.]]
         }
      }
      table_content_get {
         [[Returns a child at a given position, see @.table_contents_get.]]
         return: Efl.Gfx.Entity; [[Child object]]
         params {
            @in col: int; [[Column number]]
            @in row: int; [[Row number]]
         }
      }
      @property table_position {
         [[Position and span of the $subobj in this container, may be modified to move the $subobj]]
         get { return: bool; [[Returns false if item is not a child]] }
         keys {
            subobj: Efl.Gfx.Entity; [[Child object]]
         }
         values {
            col: int; [[Column number]]
            row: int; [[Row number]]
            colspan: int; [[Column span]]
            rowspan: int; [[Row span]]
         }
      }
      @property table_size {
         [[Combines @.table_columns and @.table_rows]]
         set {}
         get {}
         values {
            cols: int; [[Number of columns]]
            rows: int; [[Number of rows]]
         }
      }
      @property table_columns {
         [[Specifies the amount of columns the table will have when the fill direction is horizontal.
           If it is vertical, the amount of columns depends on the amount of cells added and @.table_rows.
         ]]
         set {}
         get {}
         values {
            cols: int; [[Amount of columns.]]
         }
      }
      @property table_rows {
         [[Specifies the amount of rows the table will have when the fill direction is vertical.
           If it is horizontal, the amount of rows depends on the amount of cells added and @.table_columns.
         ]]
         set {}
         get {}
         values {
            rows: int; [[Amount of rows.]]
         }
      }
   }
}