## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

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

2.     --              GtkAda - Ada95 binding for Gtk+/Gnome                --

3.     --                                                                   --

4.     --                Copyright (C) 2001-2013, AdaCore                   --

5.     --                                                                   --

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

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

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

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

10.     --                                                                   --

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

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

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

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

15.     --                                                                   --

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

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

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

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

20.     --                                                                   --

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

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

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

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

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

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

27.     -----------------------------------------------------------------------

29.     --  <description>

30.     --  A table is a collection of tags where you can Add, Remove, Lookup

31.     --  or traverse (Foreach) a tag.

32.     --  </description>

33.     --  <c_version>2.8.17</c_version>

34.     --  <group>Multiline Text Editor</group>

36.     with Gtk.Text_TagTo API docTo specTo body;

38.     package Gtk.Text_Tag_TableTo API docTo specTo body is

40.        type Gtk_Text_Tag_Table_RecordTo API docTo body is new GObject_RecordTo API docTo specTo body with private;

41.        type Gtk_Text_Tag_Table is access all Gtk_Text_Tag_Table_RecordTo API docTo specTo body'Class;

43.        procedure Gtk_NewTo API docTo body (Table : out Gtk_Text_Tag_TableTo API docTo spec);

44.        --  Create a new Text_Tag_Table.

46.        procedure InitializeTo API docTo body (Table : access Gtk_Text_Tag_Table_RecordTo API docTo specTo body'Class);

47.        --  Internal initialization function.

48.        --  See the section "Creating your own widgets" in the documentation.

50.        function Get_TypeTo API docTo body return Glib.GTypeTo API docTo spec;

51.        --  Return the internal value associated with a Gtk_Text_Tag_Table.

53.        procedure AddTo API docTo body

54.          (Table : access Gtk_Text_Tag_Table_RecordTo API docTo specTo body;

55.           Tag   : access Gtk.Text_Tag.Gtk_Text_Tag_RecordTo API docTo specTo body'Class);

56.        --  Add a tag to the table.

57.        --  The tag is assigned the highest priority in the table.

58.        --  You must Unref the Tag on exit

60.        procedure RemoveTo API docTo body

61.          (Table : access Gtk_Text_Tag_Table_RecordTo API docTo specTo body;

62.           Tag   : access Gtk.Text_Tag.Gtk_Text_Tag_RecordTo API docTo specTo body'Class);

63.        --  Remove a tag from the table.

64.        --  This will remove the table's reference to the tag, so be careful - the

65.        --  tag will end up destroyed if you don't have a reference to it.

67.        function LookupTo API docTo body

68.          (Table : access Gtk_Text_Tag_Table_RecordTo API docTo specTo body;

69.           Name  : String) return Gtk.Text_Tag.Gtk_Text_TagTo API docTo spec;

70.        --  Look up a named tag.

71.        --  Return the tag or null if none by that name is in the table.

73.        function Get_SizeTo API docTo body (Table : access Gtk_Text_Tag_Table_RecordTo API docTo specTo body) return GintTo API docTo spec;

74.        --  Return the size of the table (number of tags).

76.        generic

77.           type Data_Type (<>) is private;

78.        package IteratorTo API docTo body is

80.           type Data_Type_Access is access all Data_TypeTo API docTo spec;

82.           type Gtk_Text_Tag_Table_Proc is access

83.             procedure (Tag  : access Gtk.Text_Tag.Gtk_Text_Tag_RecordTo API docTo specTo body'Class;

84.                        Data : Data_Type_AccessTo API docTo spec);

86.           procedure ForeachTo API docTo body

87.             (Table : access Gtk_Text_Tag_Table_RecordTo API docTo specTo body;

88.              Proc  : Gtk_Text_Tag_Table_ProcTo API docTo spec;

89.              Data  : Data_Type_AccessTo API docTo spec);

90.           --  Call Proc on each tag in Table, with user data Data.

92.        private

93.           --  <doc_ignore>

94.           type Foreach_Proc_Record is record

95.              Proc : Gtk_Text_Tag_Table_ProcTo API docTo spec;

96.              Data : Data_Type_AccessTo API docTo spec;

97.           end record;

99.           type Foreach_Proc_Record_Access is

100.             access all Foreach_Proc_Record;

102.           procedure C_Gtk_Text_Tag_Table_Foreach_Proc

103.             (C_Tag  : System.Address;

104.              C_Data : Foreach_Proc_Record_Access);

105.           pragma Convention (C, C_Gtk_Text_Tag_Table_Foreach_Proc);

106.           --  </doc_ignore>

107.        end IteratorTo API docTo specTo body;

109.        -------------

110.        -- Signals --

111.        -------------

113.        --  <signals>

114.        --  The following new signals are defined for this widget:

115.        --

116.        --  - "tag_changed"

117.        --    procedure Handler

118.        --      (Widget       : access Gtk_Text_Tag_Table_Record'Class;

119.        --       Tag          : access Gtk.Text_Tag.Gtk_Text_Tag_Record'Class;

120.        --       Size_Changed : Boolean);

121.        --

122.        --  - "tag_added"

123.        --    procedure Handler

124.        --      (Widget : access Gtk_Text_Tag_Table_Record'Class;

125.        --       Tag    : access Gtk.Text_Tag.Gtk_Text_Tag_Record'Class);

126.        --

127.        --  - "tag_removed"

128.        --    procedure Handler

129.        --      (Widget : access Gtk_Text_Tag_Table_Record'Class;

130.        --       Tag    : access Gtk.Text_Tag.Gtk_Text_Tag_Record'Class);

131.        --

132.        --  </signals>

134.        Signal_Tag_Added   : constant Glib.Signal_NameTo API docTo spec := "tag_added";

135.        Signal_Tag_Changed : constant Glib.Signal_NameTo API docTo spec := "tag_changed";

136.        Signal_Tag_Removed : constant Glib.Signal_NameTo API docTo spec := "tag_removed";

138.     private

139.        type Gtk_Text_Tag_Table_RecordTo API docTo spec is new GObject_RecordTo API docTo specTo body with null record;

141.        pragma Import (C, Get_TypeTo API docTo spec, "gtk_text_tag_table_get_type");

142.     end Gtk.Text_Tag_TableTo API docTo specTo body;