summaryrefslogtreecommitdiff
path: root/src/fltk-widgets-groups.ads
blob: 53ada82b884a35a6da0cd365badcf1aa29cdea34 (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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127


private with

    System;


package FLTK.Widgets.Groups is


    type Group is new Widget with private;

    type Index is new Positive;
    --  type Clip_Mode is (No_Clip, Clip);




    package Forge is

        function Create
               (X, Y, W, H : in Integer;
                Text       : in String)
            return Group;

    end Forge;




    procedure Add
           (This : in out Group;
            Item : in out Widget'Class);

    procedure Insert
           (This  : in out Group;
            Item  : in out Widget'Class;
            Place : in     Index);

    procedure Insert
           (This   : in out Group;
            Item   : in out Widget'Class;
            Before : in     Widget'Class);

    procedure Remove
           (This : in out Group;
            Item : in out Widget'Class);

    procedure Remove
           (This  : in out Group;
            Place : in     Index);

    procedure Clear
           (This : in out Group);




    function Child
           (This  : in Group;
            Place : in Index)
        return access Widget'Class;

    function Find
           (This : in     Group;
            Item : in out Widget'Class)
        return Index;

    function Number_Of_Children
           (This : in Group)
        return Natural;




    --  function Get_Clip_Mode
    --         (This : in Group)
    --      return Clip_Mode;

    --  procedure Set_Clip_Mode
    --         (This : in out Group;
    --          Mode : in     Clip_Mode);




    function Get_Resizable
           (This : in Group)
        return access Widget'Class;

    procedure Set_Resizable
           (This : in out Group;
            Item : in     Widget'Class);

    procedure Reset_Initial_Sizes
           (This : in out Group);




    procedure Draw
           (This : in out Group);

    function Handle
           (This  : in out Group;
            Event : in     Event_Kind)
        return Event_Outcome;


private


    type Group is new Widget with null record;

    overriding procedure Finalize
           (This : in out Group);




    procedure fl_group_end
           (G : in System.Address);
    pragma Import (C, fl_group_end, "fl_group_end");


end FLTK.Widgets.Groups;