summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_pack_table.eo
blob: 65ed4a6ed10c674fa06ac57b40f1ce9b68f15ea1 (plain)
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
87
88
89
90
91
92
93
94
95
96
97
98
99
interface 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.

     @since 1.23
   ]]
   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> @move; [[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_cell_column {
         [[column of the $subobj in this container.]]
         set {}
         get { return: bool; [[Returns false if item is not a child]] }
         keys {
            subobj: Efl.Gfx.Entity; [[Child object]]
         }
         values {
            col: int; [[Column number]]
            colspan: int; [[Column span]]
         }
      }
      @property table_cell_row {
         [[row of the $subobj in this container.]]
         set {}
         get { return: bool; [[Returns false if item is not a child]] }
         keys {
            subobj: Efl.Gfx.Entity; [[Child object]]
         }
         values {
            row: int; [[Row number]]
            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.]]
         }
      }
   }
}