## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

1.     -----------------------------------------------------------------------

2.     --          GtkAda - Ada95 binding for the Gimp Toolkit              --

3.     --                                                                   --

4.     --                     Copyright (C) 1998-2000                       --

5.     --        Emmanuel Briot, Joel Brobecker and Arnaud Charlet          --

6.     --                                                                   --

7.     -- This library is free software; you can redistribute it and/or     --

8.     -- modify it under the terms of the GNU General Public               --

9.     -- License as published by the Free Software Foundation; either      --

10.     -- version 2 of the License, or (at your option) any later version.  --

11.     --                                                                   --

12.     -- This library is distributed in the hope that it will be useful,   --

13.     -- but WITHOUT ANY WARRANTY; without even the implied warranty of    --

14.     -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU --

15.     -- General Public License for more details.                          --

16.     --                                                                   --

17.     -- You should have received a copy of the GNU General Public         --

18.     -- License along with this library; if not, write to the             --

19.     -- Free Software Foundation, Inc., 59 Temple Place - Suite 330,      --

20.     -- Boston, MA 02111-1307, USA.                                       --

21.     --                                                                   --

22.     -- As a special exception, if other files instantiate generics from  --

23.     -- this unit, or you link this unit with other files to produce an   --

24.     -- executable, this  unit  does not  by itself cause  the resulting  --

25.     -- executable to be covered by the GNU General Public License. This  --

26.     -- exception does not however invalidate any other reasons why the   --

27.     -- executable file  might be covered by the  GNU Public License.     --

28.     -----------------------------------------------------------------------

30.     --  <description>

31.     --

32.     --  This packages provides the implementation of a generic single-linked

33.     --  list.

34.     --  One instantiation is found in Gtk.Widget.Widget_Slist for a list of

35.     --  widgets.

36.     --

37.     --  See the documentation of Glib.Glist for more information, it provides

38.     --  the same API as this package.

39.     --  Single linked lists are traversed the same way as double-linked lists,

40.     --  even though most subprograms are less efficient than their

41.     --  double-linked counterparts.

42.     --

43.     --  </description>

44.     --  <c_version>1.2.6</c_version>

45.     --  <group>Glib, the general-purpose library</group>

47.     with System;

49.     package Glib.GSlistTo API docTo specTo body is

51.        --  <doc_ignore>

53.        generic

54.           type Gpointer (<>) is private;

55.           with function Convert (P : GpointerTo API docTo spec) return System.Address is <>;

56.           with function Convert (S : System.Address) return GpointerTo API docTo spec is <>;

57.        package Generic_SListTo API docTo body is

59.           type GSlistTo API docTo body is private;

60.           Null_ListTo API docTo body : constant GSlistTo API docTo specTo body;

62.           procedure AllocTo API docTo body (ListTo API docTo body : out GSlistTo API docTo specTo body);

63.           procedure AppendTo API docTo body (ListTo API docTo body : in out GSlistTo API docTo specTo body;

64.                             Data : in GpointerTo API docTo spec);

65.           function ConcatTo API docTo body (List1To API docTo body : in GSlistTo API docTo specTo body;

66.                            List2To API docTo body : in GSlistTo API docTo specTo body)

67.                            return GSlistTo API docTo specTo body;

68.           procedure InsertTo API docTo body (ListTo API docTo body : in out GSlistTo API docTo specTo body;

69.                             Data : in GpointerTo API docTo spec;

70.                             Position : in GintTo API docTo spec);

71.           function FindTo API docTo body (ListTo API docTo body : in GSlistTo API docTo specTo body;

72.                          Data : in GpointerTo API docTo spec)

73.                          return GSlistTo API docTo specTo body;

74.           procedure FreeTo API docTo body (ListTo API docTo body : in out GSlistTo API docTo specTo body);

75.           function Get_DataTo API docTo body (ListTo API docTo body : in GSlistTo API docTo specTo body)

76.                              return GpointerTo API docTo spec;

78.           function Get_Data_AddressTo API docTo body (ListTo API docTo body : GSlistTo API docTo specTo body) return System.Address;

79.           --  Return directly the System.Address contained in the C list.

80.           --  This is used mainly internally in GtkAda to implement String lists,

81.           --  and you should not have to use this subprogram yourself.

83.           function IndexTo API docTo body (ListTo API docTo body : in GSlistTo API docTo specTo body;

84.                           Data : in GpointerTo API docTo spec)

85.                           return GintTo API docTo spec;

86.           function LastTo API docTo body (ListTo API docTo body : in GSlistTo API docTo specTo body)

87.                          return GSlistTo API docTo specTo body;

88.           function LengthTo API docTo body (ListTo API docTo body : in GSlistTo API docTo specTo body)

89.                            return GuintTo API docTo spec;

90.           procedure List_ReverseTo API docTo body (ListTo API docTo body : in out GSlistTo API docTo specTo body);

91.           function NextTo API docTo body (ListTo API docTo body : in GSlistTo API docTo specTo body)

92.                          return GSlistTo API docTo specTo body;

93.           function NthTo API docTo body (ListTo API docTo body : in GSlistTo API docTo specTo body;

94.                         N    : in GuintTo API docTo spec)

95.                         return GSlistTo API docTo specTo body;

96.           function Nth_DataTo API docTo body (ListTo API docTo body : in GSlistTo API docTo specTo body;

97.                              N : in GuintTo API docTo spec)

98.                              return GpointerTo API docTo spec;

99.           function PositionTo API docTo body (ListTo API docTo body : in GSlistTo API docTo specTo body;

100.                              LinkTo API docTo body : in GSlistTo API docTo specTo body)

101.                              return GintTo API docTo spec;

102.           procedure PrependTo API docTo body (ListTo API docTo body : in out GSlistTo API docTo specTo body;

103.                              Data : in GpointerTo API docTo spec);

104.           procedure RemoveTo API docTo body (ListTo API docTo body : in out GSlistTo API docTo specTo body;

105.                             Data : in GpointerTo API docTo spec);

106.           procedure Remove_LinkTo API docTo body (ListTo API docTo body : in out GSlistTo API docTo specTo body;

107.                                  LinkTo API docTo body : in GSlistTo API docTo specTo body);

108.           function Get_ObjectTo API docTo body (ObjTo API docTo body : in GSlistTo API docTo specTo body)

109.                                return System.Address;

110.           pragma Inline (Get_ObjectTo API docTo specTo body);

111.           procedure Set_ObjectTo API docTo body (ObjTo API docTo body    : in out GSlistTo API docTo specTo body;

112.                                 Value  : in     System.Address);

113.           pragma Inline (Set_ObjectTo API docTo specTo body);

114.        private

116.           type GSlistTo API docTo spec is

117.              record

118.                 Ptr : System.Address := System.Null_Address;

119.              end record;

120.           Null_ListTo API docTo spec : constant GSlistTo API docTo specTo body := (Ptr => System.Null_Address);

121.        end Generic_SListTo API docTo specTo body;

123.        --  </doc_ignore>

125.     end Glib.GSlistTo API docTo specTo body;