## 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.     --  See extended documentation in Gtk.Tree_View_Column and Gtk.Tree_Store.

31.     --  </description>

32.     --  <c_version>2.16.6</c_version>

33.     --  <group>Trees and Lists</group>

34.     --  <testgtk>create_tree_view.adb</testgtk>

35.     --  <screenshot>gtk-tree_view</screenshot>

37.     with Glib.PropertiesTo API docTo specTo body;

38.     with Gdk.DndTo API docTo specTo body;

39.     with Gdk.PixmapTo API docTo specTo body;

40.     with Gdk.RectangleTo API docTo specTo body;

41.     with Gdk.TypesTo API docTo spec;

42.     with Gdk.WindowTo API docTo specTo body;

43.     with GtkTo API docTo spec;

44.     with Gtk.AdjustmentTo API docTo specTo body;

45.     with Gtk.Cell_RendererTo API docTo specTo body;

46.     with Gtk.ContainerTo API docTo specTo body;

47.     with Gtk.EnumsTo API docTo specTo body;

48.     with Gtk.GEntryTo API docTo specTo body;

49.     with Gtk.SelectionTo API docTo specTo body;

50.     with Gtk.TooltipTo API docTo specTo body;

51.     with Gtk.Tree_ModelTo API docTo specTo body;

52.     with Gtk.Tree_SelectionTo API docTo specTo body;

53.     with Gtk.Tree_View_ColumnTo API docTo specTo body;

54.     with Interfaces.C.Strings;

56.     package Gtk.Tree_ViewTo API docTo specTo body is

58.        type Gtk_Tree_View_RecordTo API docTo body is

59.          new Gtk.Container.Gtk_Container_RecordTo API docTo specTo body with private;

60.        type Gtk_Tree_View is access all Gtk_Tree_View_RecordTo API docTo specTo body'Class;

62.        type Gtk_Tree_View_Drop_Position is

63.          (Tree_View_Drop_Before,

64.           Tree_View_Drop_After,

65.           Tree_View_Drop_Into_Or_Before,

66.           Tree_View_Drop_Into_Or_After);

67.        pragma Convention (C, Gtk_Tree_View_Drop_PositionTo API docTo spec);

69.        procedure Gtk_NewTo API docTo body (Widget : out Gtk_Tree_ViewTo API docTo spec);

70.        procedure InitializeTo API docTo body (Widget : access Gtk_Tree_View_RecordTo API docTo specTo body'Class);

71.        --  Creates or initializes a new tree view

73.        function Get_TypeTo API docTo body return Gtk.Gtk_TypeTo API docTo spec;

74.        --  Return the internal value associated with this widget.

76.        procedure Gtk_NewTo API docTo body

77.          (Widget : out Gtk_Tree_ViewTo API docTo spec;

78.           Model  : access Gtk.Tree_Model.Gtk_Tree_Model_RecordTo API docTo specTo body'Class);

80.        procedure InitializeTo API docTo body

81.          (Widget : access Gtk_Tree_View_RecordTo API docTo specTo body'Class;

82.           Model  : access Gtk.Tree_Model.Gtk_Tree_Model_RecordTo API docTo specTo body'Class);

83.        --  Internal initialization function.

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

86.        procedure Set_ModelTo API docTo body

87.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

88.           Model     : Gtk.Tree_Model.Gtk_Tree_ModelTo API docTo spec);

89.        function Get_ModelTo API docTo body

90.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body)

91.           return Gtk.Tree_Model.Gtk_Tree_ModelTo API docTo spec;

92.        --  Sets the model for a Gtk_Tree_View.  If the Tree_View already has a

93.        --  model set, it will remove it before setting the new model.

94.        --  If Model is Null, then it will unset the old model.

96.        function Get_SelectionTo API docTo body

97.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body)

98.           return Gtk.Tree_Selection.Gtk_Tree_SelectionTo API docTo spec;

99.        --  Gets the Gtk_Tree_Selection associated with Tree_View.

101.        procedure Set_HadjustmentTo API docTo body

102.          (Tree_View  : access Gtk_Tree_View_RecordTo API docTo specTo body;

103.           Adjustment : access Gtk.Adjustment.Gtk_Adjustment_RecordTo API docTo spec'Class);

104.        function Get_HadjustmentTo API docTo body

105.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body)

106.           return Gtk.Adjustment.Gtk_AdjustmentTo API docTo spec;

107.        --  Sets or gets the Gtk_Adjustment for the current horizontal aspect.

109.        procedure Set_VadjustmentTo API docTo body

110.          (Tree_View  : access Gtk_Tree_View_RecordTo API docTo specTo body;

111.           Adjustment : access Gtk.Adjustment.Gtk_Adjustment_RecordTo API docTo spec'Class);

112.        function Get_VadjustmentTo API docTo body

113.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body)

114.           return Gtk.Adjustment.Gtk_AdjustmentTo API docTo spec;

115.        --  Sets or Gets the Gtk_Adjustment currently being used for the vertical

116.        --  aspect.

118.        function Get_Enable_Tree_LinesTo API docTo body

119.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

120.        procedure Set_Enable_Tree_LinesTo API docTo body

121.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

122.           Enabled   : Boolean);

123.        --  Whether to draw lines interconnecting the expanders in Tree_View.

124.        --  This does not have any visible effects for lists.

126.        function Get_Grid_LinesTo API docTo body

127.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Gtk.Enums.Gtk_Grid_LinesTo API docTo spec;

128.        procedure Set_Grid_LinesTo API docTo body

129.          (Tree_View  : access Gtk_Tree_View_RecordTo API docTo specTo body;

130.           Grid_LinesTo API docTo body : Gtk.Enums.Gtk_Grid_LinesTo API docTo spec);

131.        --  Which grid lines to draw in Tree_View.

133.        function Get_Level_IndentationTo API docTo body

134.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return GintTo API docTo spec;

135.        procedure Set_Level_IndentationTo API docTo body

136.          (Tree_View   : access Gtk_Tree_View_RecordTo API docTo specTo body;

137.           Indentation : GintTo API docTo spec);

138.        --  Sets the amount of extra indentation for child levels to use in

139.        --  Tree_View in addition to the default indentation.  The value should be

140.        --  specified in pixels, a value of 0 disables this feature and in this case

141.        --  only the default indentation will be used.

142.        --  This does not have any visible effects for lists.

144.        function Get_Rubber_BandingTo API docTo body

145.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

146.        procedure Set_Rubber_BandingTo API docTo body

147.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

148.           Enable    : Boolean);

149.        --  Enables or disables rubber banding in Tree_View.  If the selection mode

150.        --  is Selection_Multiple, rubber banding will allow the user to select

151.        --  multiple rows by dragging the mouse.

153.        function Is_Rubber_Banding_ActiveTo API docTo body

154.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

155.        --  Returns whether a rubber banding operation is currently being done

156.        --  in Tree_View.

158.        function Get_Show_ExpandersTo API docTo body

159.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

160.        procedure Set_Show_ExpandersTo API docTo body

161.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

162.           Enabled   : Boolean);

163.        --  Whether to draw and enable expanders and indent child rows in Tree_View.

164.        --  When disabled there will be no expanders visible in trees and there will

165.        --  be no way to expand and collapse rows by default.  Also note that hiding

166.        --  the expanders will disable the default indentation.  You can set a

167.        --  custom indentation in this case using Set_Level_Indentation.

168.        --  This does not have any visible effects for lists.

170.        ----------------------------------

171.        -- Column and header operations --

172.        ----------------------------------

174.        procedure Set_Headers_VisibleTo API docTo body

175.          (Tree_View       : access Gtk_Tree_View_RecordTo API docTo specTo body;

176.           Headers_Visible : Boolean);

177.        function Get_Headers_VisibleTo API docTo body

178.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

179.        --  Returns True if the headers on the Tree_View are visible.

181.        procedure Columns_AutosizeTo API docTo body (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body);

182.        --  Resizes all columns to their optimal width.

184.        function Get_Headers_ClickableTo API docTo body

185.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

186.        procedure Set_Headers_ClickableTo API docTo body

187.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

188.           Setting   : Boolean);

189.        --  Allow the column title buttons to be clicked.

191.        procedure Set_Rules_HintTo API docTo body

192.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

193.           Setting   : Boolean);

194.        function Get_Rules_HintTo API docTo body

195.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

196.        --  This function tells GtkAda that the user interface for your

197.        --  application requires users to read across tree rows and associate

198.        --  cells with one another. By default, GtkAda will then render the tree

199.        --  with alternating row colors. Do *not* use it just because you prefer the

200.        --  appearance of the ruled tree; that's a question for the theme. Some

201.        --  themes will draw tree rows in alternating colors even when rules are

202.        --  turned off, and users who prefer that appearance all the time can choose

203.        --  those themes. You should call this function only as a *semantic*

204.        --  hint to the theme engine that your tree makes alternating colors

205.        --  useful from a functional standpoint (since it has lots of columns,

206.        --  generally).

208.        -----------------------------

209.        -- Public Column functions --

210.        -----------------------------

212.        function Append_ColumnTo API docTo body

213.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

214.           Column    : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec) return GintTo API docTo spec;

215.        --  Append Column to the list of columns.

217.        function Remove_ColumnTo API docTo body

218.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

219.           Column    : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec) return GintTo API docTo spec;

220.        --  Remove Column from Tree_View.

221.        --  Return value: The number of columns in Tree_View after removing.

223.        function Insert_ColumnTo API docTo body

224.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

225.           Column    : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec;

226.           Position  : GintTo API docTo spec := -1) return GintTo API docTo spec;

227.        --  Insert the Column into the Tree_View at Position.

228.        --  If Position is -1, then the column is inserted at the end.

229.        --  Return the number of columns in Tree_View after insertion.

231.        function Insert_Column_With_Data_FuncTo API docTo body

232.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

233.           Position  : GintTo API docTo spec;

234.           Title     : String;

235.           Cell      : access Gtk.Cell_Renderer.Gtk_Cell_Renderer_RecordTo API docTo specTo body'Class;

236.           Func      : Gtk.Tree_View_Column.Cell_Data_FuncTo API docTo spec)

237.           return GintTo API docTo spec;

238.        --  Convenience function that inserts a new column into the tree view

239.        --  with the given cell renderer and a function to set cell renderer

240.        --  attributes (normally using data from the model). See also

241.        --  Gtk.Tree_View_Column.Set_Cell_Data_Func and

242.        --  Gtk.Tree_View_Column.Pack_Start.

243.        --  If Tree_View has "fixed_height" mode enabled, then Column must have its

244.        --  "sizing" property set to be TREE_VIEW_COLUMN_FIXED.

245.        --

246.        --  Return value: number of columns in the tree view post-insert

248.        function Get_ColumnTo API docTo body

249.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

250.           N         : GintTo API docTo spec)

251.           return Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec;

252.        --  Gets the Gtk_Tree_View_Column at the given position in the Tree_View.

254.        function Get_Tree_ViewTo API docTo body

255.          (Tree_Column : access Gtk.Tree_View_Column.Gtk_Tree_View_Column_RecordTo API docTo specTo body)

256.           return Gtk_Tree_ViewTo API docTo spec;

257.        --  Returns the Gtk_Tree_View wherein Tree_Column has been inserted.  If

258.        --  Column is currently not inserted in any tree view, null is

259.        --  returned.

261.        function Get_ColumnsTo API docTo body

262.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body)

263.           return Gtk.Tree_View_Column.Column_List.GlistTo API docTo specTo body;

264.        --  Return a list of all the Gtk_Tree_View_Column s currently in Tree_View.

265.        --  The returned list must be freed with g_list_free ().

267.        procedure Move_Column_AfterTo API docTo body

268.          (Tree_View   : access Gtk_Tree_View_RecordTo API docTo specTo body;

269.           Column      : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec;

270.           Base_Column : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec);

271.        --  Move Column to be after to Base_Column.  If Base_Column is Null, then

272.        --  Column is placed in the first position.

274.        procedure Set_Expander_ColumnTo API docTo body

275.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

276.           Column    : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec);

277.        --  Set the column to draw the expander arrow at. It must be in Tree_View.

278.        --  If Column is Null, then the expander arrow is fixed at the first column.

280.        function Get_Expander_ColumnTo API docTo body

281.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body)

282.           return Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec;

283.        --  Return the column that is the current expander column.

284.        --  This column has the expander arrow drawn next to it.

286.        procedure Scroll_To_PointTo API docTo body

287.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

288.           Tree_X    : GintTo API docTo spec;

289.           Tree_Y    : GintTo API docTo spec);

290.        --  Scroll the tree view such that the top-left corner of the visible

291.        --  area is Tree_X, Tree_Y, where Tree_X and Tree_Y are specified

292.        --  in tree window coordinates. The Tree_View must be realized before

293.        --  this function is called. If it isn't, you probably want to be

294.        --  using Scroll_To_Cell.

296.        procedure Scroll_To_CellTo API docTo body

297.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

298.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

299.           Column    : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec;

300.           Use_Align : Boolean;

301.           Row_Align : GfloatTo API docTo spec;

302.           Col_Align : GfloatTo API docTo spec);

303.        --  Move the alignments of Tree_View to the position specified by Column and

304.        --  Path. If Column is Null, then no horizontal scrolling occurs. Likewise,

305.        --  if Path is Null no vertical scrolling occurs. Row_Align determines where

306.        --  the row is placed, and Col_align determines where Column is placed. Both

307.        --  are expected to be between 0.0 and 1.0. 0.0 means left/top alignment,

308.        --  1.0 means right/bottom alignment, 0.5 means center.

309.        --  If Use_Align is False, then the alignment arguments are ignored, and the

310.        --  tree does the minimum amount of work to scroll the cell onto the screen.

312.        procedure Get_Visible_RangeTo API docTo body

313.          (Tree_View  : access Gtk_Tree_View_RecordTo API docTo specTo body;

314.           Start_Path : out Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

315.           End_Path   : out Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

316.           Success    : out Boolean);

317.        --  Sets Start_path and End_path to be the first and last visible path.

318.        --  Note that there may be invisible paths in between.

319.        --  The paths should be freed with Free after use.

321.        procedure Row_ActivatedTo API docTo body

322.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

323.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

324.           Column    : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec);

325.        --  Activate the cell determined by Path and Column.

327.        procedure Expand_AllTo API docTo body (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body);

328.        --  Recursively expand all nodes in the Tree_View.

330.        procedure Collapse_AllTo API docTo body (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body);

331.        --  Recursively collapse all visible, expanded nodes in Tree_View.

333.        function Expand_RowTo API docTo body

334.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

335.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

336.           Open_All  : Boolean) return Boolean;

337.        --  Open the row so its children are visible

338.        --  Return True if the row existed and had children

340.        procedure Expand_To_PathTo API docTo body

341.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

342.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec);

343.        --  Expands the row at Path. This will also expand all parent rows of

344.        --  Path as necessary.

346.        type Gtk_Tree_View_Mapping_Func is access

347.          procedure (Tree_View : System.Address;  --  Gtk_Tree_View

348.                     Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

349.                     User_Data : System.Address);

350.        pragma Convention (C, Gtk_Tree_View_Mapping_FuncTo API docTo spec);

351.        --  Function called on each matching row. Since this is low-level, you must

352.        --  convert Tree_View to a proper Gtk_Tree_View with

353.        --     Tree := Gtk_Tree_View (Gtk.Widget.Convert (Tree_View));

355.        procedure Map_Expanded_RowsTo API docTo body

356.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

357.           Func      : Gtk_Tree_View_Mapping_FuncTo API docTo spec;

358.           Data      : System.Address);

359.        --  Calls Func on all expanded rows.

361.        function Collapse_RowTo API docTo body

362.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

363.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec) return Boolean;

364.        --  Collapse a row (hides its child rows, if they exist.)

366.        function Row_ExpandedTo API docTo body

367.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

368.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec) return Boolean;

369.        --  Return True if the node pointed to by Path is expanded in Tree_View.

371.        procedure Set_Fixed_Height_ModeTo API docTo body

372.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body; Enable : Boolean);

373.        function Get_Fixed_Height_ModeTo API docTo body

374.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

375.        --  Enables or disables the fixed height mode of tree_view.

376.        --  Fixed height mode speeds up the rendering by assuming that all

377.        --  rows have the same height.

378.        --  Only enable this option if all rows are the same height and all

379.        --  columns are of type TREE_VIEW_COLUMN_FIXED.

381.        procedure Set_Hover_ExpandTo API docTo body

382.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body; Expand : Boolean);

383.        function Get_Hover_ExpandTo API docTo body

384.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

385.        --  Enables of disables the hover expansion mode of Tree_view.

386.        --  Hover expansion makes rows expand or collaps if the pointer

387.        --  moves over them.

389.        procedure Set_Hover_SelectionTo API docTo body

390.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body; Hover : Boolean);

391.        function Get_Hover_SelectionTo API docTo body

392.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

393.        --  Enables of disables the hover selection mode of Tree_View.

394.        --  Hover selection makes the selected row follow the pointer.

395.        --  Currently, this works only for the selection modes

396.        --  SELECTION_SINGLE and SELECTION_BROWSE.

398.        procedure Set_CursorTo API docTo body

399.          (Tree_View     : access Gtk_Tree_View_RecordTo API docTo specTo body;

400.           Path          : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

401.           Focus_Column  : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec;

402.           Start_Editing : Boolean);

403.        --  Sets the current keyboard focus to be at Path, and selects it.  This is

404.        --  useful when you want to focus the user's attention on a particular row.

405.        --  If Column is not Null, then focus is given to that column.

406.        --  Additionally, if Column is specified, and Start_Editing is True, then

407.        --  editing should be started in the specified cell.

408.        --  Keyboard focus is given to the widget after this is called.

409.        --  Please note that editing can only happen when the widget is realized.

411.        procedure Get_CursorTo API docTo body

412.          (Tree_View    : access Gtk_Tree_View_RecordTo API docTo specTo body;

413.           Path         : out Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

414.           Focus_Column : out Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec);

415.        --  Fills in Path and Focus_Column with the current path and focus column.

416.        --  If the cursor isn't currently set, then *path will be Null. If no column

417.        --  currently has focus, then *focus_column will be Null.

419.        procedure Set_Cursor_On_CellTo API docTo body

420.          (Tree_View     : access Gtk_Tree_View_RecordTo API docTo specTo body;

421.           Path          : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

422.           Focus_Column  : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec := null;

423.           Focus_Cell    : Gtk.Cell_Renderer.Gtk_Cell_RendererTo API docTo spec := null;

424.           Start_Editing : Boolean);

425.        --  Sets the current keyboard focus to be at Path, and selects it. This is

426.        --  useful when you want to focus the user's attention on a particular row.

427.        --  If Focus_Column is not null, then focus is given to the column specified

428.        --  by it. If Focus_Column and Focus_Cell are not null, and Focus_Column

429.        --  contains 2 or more editable or activatable cells, then focus is given to

430.        --  the cell specified by Focus_Cell. Additionally, if Focus_Column is

431.        --  specified, and Start_Editing is true, then editing should be started in

432.        --  the specified cell. This function is often followed by

433.        --  gtk.widget.grab_focus (Tree_View) in order to give keyboard focus to the

434.        --  widget. Please note that editing can only happen when the widget is

435.        --  realized.

437.        function Get_Bin_WindowTo API docTo body

438.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Gdk.Window.Gdk_WindowTo API docTo spec;

439.        --  Return the window that Tree_View renders to.

440.        --  This is used primarily to compare to Get_Window (Event) to confirm that

441.        --  the event on Tree_View is on the right window.

443.        type Gtk_Tree_View_Row_Separator_Func is access

444.          function (Model     : System.Address;

445.                    Iter      : Gtk.Tree_Model.Gtk_Tree_IterTo API docTo specTo body;

446.                    User_Data : System.Address) return GbooleanTo API docTo spec;

447.        pragma Convention (C, Gtk_Tree_View_Row_Separator_FuncTo API docTo spec);

448.        --  This function is used to determine whether a row should be drawn with a

449.        --  separator. If it returns True, a separator is displayed.

450.        --  This is a low-level function, since it isn't used very often, and you

451.        --  should convert the Model to a Gtk_Tree_Model with

452.        --     declare

453.        --        Stub : Gtk_Tree_Model_Record;

454.        --     begin

455.        --        My_Model := Gtk_Tree_Model (Get_User_Data (Model, Stub));

456.        --     end;

458.        procedure Set_Row_Separator_FuncTo API docTo body

459.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

460.           Func      : Gtk_Tree_View_Row_Separator_FuncTo API docTo spec;

461.           Data      : System.Address;

462.           Destroy   : Glib.G_Destroy_Notify_AddressTo API docTo spec := null);

463.        function Get_Row_Separator_FuncTo API docTo body

464.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body)

465.           return Gtk_Tree_View_Row_Separator_FuncTo API docTo spec;

466.        --  Sets the row separator function, which is used to determine

467.        --  whether a row should be drawn as a separator. If the row separator

468.        --  function is NULL, no separators are drawn. This is the default value.

470.        procedure Get_Path_At_PosTo API docTo body

471.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

472.           X         : GintTo API docTo spec;

473.           Y         : GintTo API docTo spec;

474.           Path      : out Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

475.           Column    : out Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec;

476.           Cell_X    : out GintTo API docTo spec;

477.           Cell_Y    : out GintTo API docTo spec;

478.           Row_Found : out Boolean);

479.        --  Find the path at the point (X, Y) relative to Window.

480.        --  If Window is null, then the point is found relative to the widget

481.        --  coordinates. This function is expected to be called after an event.

482.        --  It is primarily for things like popup menus. Path will be filled

483.        --  with the Gtk_Tree_Path at that point. It should be freed with

484.        --  Tree_Path_Free. Column will be filled with the column at that point.

485.        --  Cell_X and Cell_Y return the coordinates relative to the cell background

486.        --  (i.e. the background_area passed to gtk_cell_renderer_render()).

487.        --  This function only works if Tree_View is realized.

488.        --  Row_Found is set to True if a row exists at that coordinate.

490.        procedure Get_Cell_AreaTo API docTo body

491.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

492.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

493.           Column    : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec;

494.           RectTo API docTo body      : out Gdk.Rectangle.Gdk_RectangleTo API docTo spec);

495.        --  Fills the bounding rectangle in tree window coordinates for the cell at

496.        --  the row specified by Path and the column specified by Column. If Path is

497.        --  Null, or points to a path not currently displayed, the Y and Height

498.        --  fields of the rectangle will be filled with 0. If Column is Null,

499.        --  the X and Width fields will be filled with 0.

500.        --  The sum of all cell rects does not cover the entire tree;

501.        --  there are extra pixels in between rows, for example. The

502.        --  returned rectangle is equivalent to the Cell_Area passed to

503.        --  gtk_cell_renderer_render().  This function is only valid if Tree_View is

504.        --  realized.

506.        procedure Get_Background_AreaTo API docTo body

507.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

508.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

509.           Column    : Gtk.Tree_View_Column.Gtk_Tree_View_ColumnTo API docTo spec;

510.           RectTo API docTo body      : out Gdk.Rectangle.Gdk_RectangleTo API docTo spec);

511.        --  Fills the bounding rectangle in tree window coordinates for the cell

512.        --  at the row specified by Path and the column specified by Column.  If

513.        --  Path is Null, or points to a node not found in the tree, the Y and

514.        --  Height fields of the rectangle will be filled with 0. If Column is Null,

515.        --  the X and Width fields will be filled with 0.

516.        --  The returned rectangle is equivalent to the Background_Area passed to

517.        --  Gtk.Cell_Renderer.Render.  These background areas tile to cover the

518.        --  entire tree window (except for the area used for

519.        --  header buttons). Contrast with the cell_area, returned by

520.        --  gtk_tree_view_get_cell_area(), which returns only the cell itself,

521.        --  excluding surrounding borders and the tree expander area.

523.        procedure Get_Visible_RectTo API docTo body

524.          (Tree_View    : access Gtk_Tree_View_RecordTo API docTo specTo body;

525.           Visible_RectTo API docTo body : out Gdk.Rectangle.Gdk_RectangleTo API docTo spec);

526.        --  Fills Visible_Rect with the currently-visible region of the

527.        --  buffer, in tree coordinates. Convert to widget coordinates with

528.        --  gtk_tree_view_tree_to_widget_coords(). Tree coordinates start at

529.        --  0,0 for row 0 of the tree, and cover the entire scrollable area of

530.        --  the tree.

532.        ------------------------

533.        -- Coordinate Systems --

534.        ------------------------

536.        --  Several different coordinate systems are exposed in the Gtk.Tree_View

537.        --  API. These are:

538.        --                   _____________________________

539.        --               /   | _________________________ |

540.        --              /    | |                       | |

541.        --             /     | |     Header_Window     | |

542.        --             |     | |_______________________| |

543.        --             |     | _________________________ |

544.        --             |     | |  ...................  | |    \

545.        --    widget- -+     | |  :                 :  | |     \

546.        --  relative   |     | |  :   Bin_Window    :  | |      \

547.        --             |     | |  :                 :  | |       \

548.        --             |     | |  :                 :  | |       |

549.        --             \     | |  :                 :  | |       |

550.        --              \    | |__:_________________:__| |       +- tree

551.        --               \   |____:_________________:____|       |  coordinates

552.        --                        :                 :            |

553.        --                        :                 :            /

554.        --                        :                 :           /

555.        --                        :                 :          /

556.        --                        :.................:         /

557.        --

558.        --  Widget coordinates ------ coordinates relative to the widget (usually

559.        --                            widget->window).

560.        --

561.        --  Bin window coordinates -- coordinates relative to the window that

562.        --                            Gtk_Tree_View renders to.

563.        --

564.        --  Tree coordinates -------- coordinates relative to the entire scrollable

565.        --                            area of Gtk_Tree_View. These coordinates start

566.        --                            at (0, 0) for row 0 of the tree.

567.        --

568.        --  Several functions are available for converting between the different

569.        --  coordinate systems. The most common translations are between widget and

570.        --  bin window coordinates and between bin window and tree coordinates. For

571.        --  the former you can use Convert_Widget_To_Bin_Window_Coords (and vice

572.        --  versa), for the latter Convert_Bin_Window_To_Tree_Coords (and vice

573.        --  versa).

575.        procedure Widget_To_Tree_CoordsTo API docTo body

576.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

577.           Wx        : GintTo API docTo spec;

578.           Wy        : GintTo API docTo spec;

579.           Tx        : out GintTo API docTo spec;

580.           Ty        : out GintTo API docTo spec);

581.        pragma Obsolescent; --  Widget_To_Tree_Coords

582.        --  Converts widget coordinates to coordinates for the

583.        --  tree window (the full scrollable area of the tree).

584.        --

585.        --  Obsolescent; use Convert_Widget_To_Tree_Coords instead.

587.        procedure Tree_To_Widget_CoordsTo API docTo body

588.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

589.           Tx        : GintTo API docTo spec;

590.           Ty        : GintTo API docTo spec;

591.           Wx        : out GintTo API docTo spec;

592.           Wy        : out GintTo API docTo spec);

593.        pragma Obsolescent; --  Tree_To_Widget_Coords

594.        --  Converts tree coordinates (coordinates in full scrollable area of

595.        --  the tree) to widget coordinates.

596.        --

597.        --  Obsolescent; use Convert_Tree_To_Widget_Coords instead.

599.        procedure Convert_Widget_To_Tree_CoordsTo API docTo body

600.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

601.           Wx        : GintTo API docTo spec;

602.           Wy        : GintTo API docTo spec;

603.           Tx        : out GintTo API docTo spec;

604.           Ty        : out GintTo API docTo spec);

605.        --  Converts widget coordinates to coordinates for the tree (the full

606.        --  scrollable area of the tree).

608.        procedure Convert_Tree_To_Widget_CoordsTo API docTo body

609.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

610.           Tx        : GintTo API docTo spec;

611.           Ty        : GintTo API docTo spec;

612.           Wx        : out GintTo API docTo spec;

613.           Wy        : out GintTo API docTo spec);

614.        --  Converts tree coordinates (coordinates in full scrollable area of the

615.        --  tree) to widget coordinates.

617.        procedure Convert_Bin_Window_To_Tree_CoordsTo API docTo body

618.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

619.           Bx        : GintTo API docTo spec;

620.           By        : GintTo API docTo spec;

621.           Tx        : out GintTo API docTo spec;

622.           Ty        : out GintTo API docTo spec);

623.        --  Converts bin_window coordinates to coordinates for the

624.        --  tree (the full scrollable area of the tree).

626.        procedure Convert_Tree_To_Bin_Window_CoordsTo API docTo body

627.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

628.           Tx        : GintTo API docTo spec;

629.           Ty        : GintTo API docTo spec;

630.           Bx        : out GintTo API docTo spec;

631.           By        : out GintTo API docTo spec);

632.        --  Converts tree coordinates (coordinates in full scrollable area of the

633.        --  tree) to bin_window coordinates.

635.        procedure Convert_Widget_To_Bin_Window_CoordsTo API docTo body

636.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

637.           Wx        : GintTo API docTo spec;

638.           Wy        : GintTo API docTo spec;

639.           Bx        : out GintTo API docTo spec;

640.           By        : out GintTo API docTo spec);

641.        --  Converts widget coordinates to coordinates for the Bin_Window

642.        --  (see Get_Bin_Window).

644.        procedure Convert_Bin_Window_To_Widget_CoordsTo API docTo body

645.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

646.           Bx        : GintTo API docTo spec;

647.           By        : GintTo API docTo spec;

648.           Wx        : out GintTo API docTo spec;

649.           Wy        : out GintTo API docTo spec);

650.        --  Converts Bin_Window coordinates (see Get_Bin_Window) to widget

651.        --  relative coordinates.

653.        ---------------

654.        -- Searching --

655.        ---------------

657.        procedure Set_Enable_SearchTo API docTo body

658.          (Tree_View     : access Gtk_Tree_View_RecordTo API docTo specTo body;

659.           Enable_Search : Boolean);

660.        function Get_Enable_SearchTo API docTo body

661.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

662.        --  If enable_search is set, then the user can type in text to search

663.        --  through the tree interactively (this is sometimes called "typeahead

664.        --  find").

665.        --  Note that even if this is FALSE, the user can still initiate a search

666.        --  using the "start-interactive-search" key binding.

668.        procedure Set_Search_ColumnTo API docTo body

669.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

670.           Column    : GintTo API docTo spec);

671.        function Get_Search_ColumnTo API docTo body

672.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return GintTo API docTo spec;

673.        --  Sets column as the column where the interactive search code should

674.        --  search in.

675.        --  If the sort column is set, users can use the "start-interactive-search"

676.        --  key binding to bring up search popup. The enable-search property

677.        --  controls whether simply typing text will also start an interactive

678.        --  search.

679.        --  Note that column refers to a column of the model.

681.        type Gtk_Tree_View_Search_Equal_Func is access

682.          function (Model  : System.Address;

683.                    Column : GintTo API docTo spec;

684.                    Key    : Interfaces.C.Strings.chars_ptr;

685.                    Iter   : Gtk.Tree_Model.Gtk_Tree_IterTo API docTo specTo body;

686.                    User_Data : System.Address) return GbooleanTo API docTo spec;

687.        pragma Convention (C, Gtk_Tree_View_Search_Equal_FuncTo API docTo spec);

688.        --  The function used to compare for the interactive search capabilities.

689.        --  This function should return False on match, similar to C's strcmp().

690.        --  This is a low-level function, and you should convert the model to a

691.        --  Gtk_Tree_Model (see Gtk_Tree_View_Row_Separator_Func

693.        procedure Set_Search_Equal_FuncTo API docTo body

694.          (Tree_View         : access Gtk_Tree_View_RecordTo API docTo specTo body;

695.           Search_Equal_Func : Gtk_Tree_View_Search_Equal_FuncTo API docTo spec;

696.           Search_User_Data  : System.Address;

697.           Search_Destroy    : G_Destroy_Notify_AddressTo API docTo spec := null);

698.        function Get_Search_Equal_FuncTo API docTo body

699.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body)

700.           return Gtk_Tree_View_Search_Equal_FuncTo API docTo spec;

701.        --  Sets the compare function for the interactive search capabilities

703.        function Get_Search_EntryTo API docTo body

704.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Gtk.GEntry.Gtk_EntryTo API docTo spec;

705.        procedure Set_Search_EntryTo API docTo body

706.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

707.           The_Entry : access Gtk.GEntry.Gtk_Entry_RecordTo API docTo specTo body'Class);

708.        --  Gets/Sets the entry which the interactive search code will use for this

709.        --  Tree_View.  This is useful when you want to provide a search entry

710.        --  in our interface at all time at a fixed position.  A null Gtk_Entry will

711.        --  make the interactive search code use the built-in popup entry again.

713.        type Gtk_Tree_View_Search_Position_Func is access procedure

714.          (Tree_View     : System.Address;  --  Get_Object (Gtk_Tree_View_Record)

715.           Search_Dialog : System.Address;  --  Get_Object (Gtk_Widget'Class)

716.           User_Data     : System.Address);

717.        pragma Convention (C, Gtk_Tree_View_Search_Position_FuncTo API docTo spec);

719.        function Get_Search_Position_FuncTo API docTo body

720.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body)

721.           return Gtk_Tree_View_Search_Position_FuncTo API docTo spec;

722.        procedure Set_Search_Position_FuncTo API docTo body

723.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

724.           Func      : Gtk_Tree_View_Search_Position_FuncTo API docTo spec;

725.           Data      : System.Address;

726.           Destroy   : G_Destroy_NotifyTo API docTo spec);

727.        --  Gets/Sets the function to use when positioning the search dialog.

729.        --------------

730.        -- Tooltips --

731.        --------------

733.        procedure Set_Tooltip_CellTo API docTo body

734.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

735.           Tooltip   : access Gtk.Tooltip.Gtk_Tooltip_RecordTo API docTo specTo body'Class;

736.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

737.           Column    : access

738.                       Gtk.Tree_View_Column.Gtk_Tree_View_Column_RecordTo API docTo specTo body'Class;

739.           Cell      : access Gtk.Cell_Renderer.Gtk_Cell_Renderer_RecordTo API docTo specTo body'Class);

740.        --  Sets the tip area of Tooltip to the area Path, Column and Cell have

741.        --  in common.  For example, if Path is null and Column is set, the tip

742.        --  area will be set to the full area covered by Column.  See also

743.        --  Gtk.Tooltip.Set_Tip_Area.

744.        --

745.        --  Note that if Path is not specified and Cell is set and part of a column

746.        --  containing the expander, the tooltip might not show and hide at the

747.        --  correct position.  In such cases Path must be set to the current node

748.        --  under the mouse cursor for this function to operate correctly.

749.        --

750.        --  See also Set_Tooltip_Column for a simpler alternative.

752.        procedure Set_Tooltip_ColumnTo API docTo body

753.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

754.           Column    : GintTo API docTo spec);

755.        function Get_Tooltip_ColumnTo API docTo body

756.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return GintTo API docTo spec;

757.        --  If you only plan to have simple (text-only) tooltips on full rows, you

758.        --  can use this function to have Gtk_Tree_View handle these automatically

759.        --  for you. Column should be set to the column in tree_view's model

760.        --  containing the tooltip texts, or -1 to disable this feature.

761.        --

762.        --  When enabled, "has-tooltip" will be set to TRUE and tree_view will

763.        --  connect a "query-tooltip" signal handler.

764.        --

765.        --  Note that the signal handler sets the text with

766.        --  gtk_tooltip_set_markup(), so &, <, etc have to be escaped in the text.

768.        procedure Get_Tooltip_ContextTo API docTo body

769.          (Tree_View     : access Gtk_Tree_View_RecordTo API docTo specTo body;

770.           X             : in out Glib.GintTo API docTo spec;

771.           Y             : in out Glib.GintTo API docTo spec;

772.           Keyboard_Mode : Boolean;

773.           Model         : out Gtk.Tree_Model.Gtk_Tree_ModelTo API docTo spec;

774.           Path          : out Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

775.           IterTo API docTo body          : out Gtk.Tree_Model.Gtk_Tree_IterTo API docTo specTo body;

776.           Success       : out Boolean);

777.        --  This function is supposed to be used in a "query-tooltip" signal handler

778.        --  for Gtk_Tree_View. The x, y and keyboard_tip values which are received

779.        --  in the signal handler, should be passed to this function without

780.        --  modification.

781.        --

782.        --  The Success indicates whether there is a tree view row at the given

783.        --  coordinates (True) or not (False) for mouse tooltips. For keyboard

784.        --  tooltips the row returned will be the cursor row. When True, then any of

785.        --  model, path and iter which have been provided will be set to point to

786.        --  that row and the corresponding model. x and y will always be converted

787.        --  to be relative to tree_view's bin_window if keyboard_tooltip is False.

789.        procedure Set_Tooltip_RowTo API docTo body

790.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

791.           Tooltip   : access Gtk.Tooltip.Gtk_Tooltip_RecordTo API docTo specTo body'Class;

792.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec);

793.        --  Sets the tip area of tooltip to be the area covered by the row at path.

794.        --  See also Set_Tooltip_Column for a simpler alternative. See also

795.        --  Gtk.Tooltips.Set_Tip_Area.

797.        ------------------------

798.        -- Columns reordering --

799.        ------------------------

801.        procedure Set_ReorderableTo API docTo body

802.          (Tree_View   : access Gtk_Tree_View_RecordTo API docTo specTo body;

803.           Reorderable : Boolean);

804.        function Get_ReorderableTo API docTo body

805.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body) return Boolean;

806.        --  This function is a convenience function to allow you to reorder models

807.        --  that support the Gtk_Drag_Source_Iface and the Gtk_Drag_Dest_Iface. Both

808.        --  Gtk_Tree_Store and Gtk_List_Store support these.

809.        --  If Reorderable is True, then the user can reorder the model by dragging

810.        --  and dropping columns.  The developer can listen to these changes by

811.        --  connecting to the model's signals.

812.        --  This function does not give you any degree of control over the order

813.        --  - any reorderering is allowed. If more control is needed, you should

814.        --  probably handle drag and drop manually.

816.        type Gtk_Tree_View_Column_Drop_Func is access

817.          function (Tree_View   : System.Address; --  Gtk_Tree_View

818.                    Column      : System.Address; --  Gtk_Tree_View_Column

819.                    Prev_Column : System.Address; --  Gtk_Tree_View_Column

820.                    Next_Column : System.Address; --  Gtk_Tree_View_Column

821.                    User_Data   : System.Address) return GbooleanTo API docTo spec;

822.        pragma Convention (C, Gtk_Tree_View_Column_Drop_FuncTo API docTo spec);

823.        --  This function is used to determine whether a column may be dropped in

824.        --  a given location.

825.        --  This function is called on every column pair in turn at the beginning of

826.        --  a column drag to determine where a drop can take place. The arguments

827.        --  are: the tree_view, the column being dragged, the two columns

828.        --  determining the drop spot, and user_data. If either of the column

829.        --  arguments for the drop spot are null, then they indicate an edge.

830.        --

831.        --  This is a low-level function, and you should use Get_User_Data to

832.        --  convert to the appropriate GtkAda widgets

834.        procedure Set_Column_Drag_FunctionTo API docTo body

835.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

836.           Func      : Gtk_Tree_View_Column_Drop_FuncTo API docTo spec;

837.           User_Data : System.Address;

838.           Destroy   : Glib.G_Destroy_Notify_AddressTo API docTo spec);

839.        --  Sets a user function for determining where a column may be dropped.

840.        --  If Func is set to be %NULL, then Tree_View reverts to the default

841.        --  behavior of allowing all columns to be dropped everywhere.

843.        -------------------

844.        -- Drag-and-drop --

845.        -------------------

847.        procedure Enable_Model_Drag_DestTo API docTo body

848.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

849.           Targets   : Gtk.Selection.Target_Entry_ArrayTo API docTo spec;

850.           Actions   : Gdk.Dnd.Drag_ActionTo API docTo spec);

851.        --  Turns Tree_View into a drop destination for automatic drag-and-drop.

852.        --  Targets is the table of targets that the drag will support.

853.        --  Actions is a bitmask of possible actions for a drag to this widget.

855.        procedure Enable_Model_Drag_SourceTo API docTo body

856.          (Tree_View         : access Gtk_Tree_View_RecordTo API docTo specTo body;

857.           Start_Button_Mask : Gdk.Types.Gdk_Modifier_TypeTo API docTo spec;

858.           Targets           : Gtk.Selection.Target_Entry_ArrayTo API docTo spec;

859.           Actions           : Gdk.Dnd.Drag_ActionTo API docTo spec);

860.        --  Turns Tree_View into a drag source for automatic DND.

861.        --  Targets is the list of targets that the drag will support.

862.        --  Actions is the bitmask of possible actions for a drag from this widget.

863.        --  Start_Button_Mask is the mask of allowed buttons to start the drag.

864.        --  You need to connect to the usual dnd signals (see gtk-dnd.ads) to

865.        --  provide the actual data upon request.

867.        procedure Unset_Rows_Drag_SourceTo API docTo body (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body);

868.        --  Undoes the effect of Enable_Model_Drag_Source.

870.        procedure Unset_Rows_Drag_DestTo API docTo body (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body);

871.        --  Undoes the effect of Enable_Model_Drag_Dest.

873.        function Create_Row_Drag_IconTo API docTo body

874.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

875.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec)

876.           return Gdk.Pixmap.Gdk_PixmapTo API docTo spec;

877.        --  Creates a Gdk_Pixmap representation of the row at path. This image is

878.        --  used for a drag icon.

879.        --  The returned pixmap must be freed by the user

881.        procedure Get_Dest_Row_At_PosTo API docTo body

882.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

883.           Drag_X    : GintTo API docTo spec;

884.           Drag_Y    : GintTo API docTo spec;

885.           Path      : out Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

886.           PosTo API docTo body       : out Gtk_Tree_View_Drop_PositionTo API docTo spec;

887.           Success   : out Boolean);

888.        --  Determines the destination row for a given position.

889.        --  (Drag_X, Drag_Y) is the position to determine the destination row for.

891.        procedure Set_Drag_Dest_RowTo API docTo body

892.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

893.           Path      : Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

894.           PosTo API docTo body       : Gtk_Tree_View_Drop_PositionTo API docTo spec);

895.        procedure Get_Drag_Dest_RowTo API docTo body

896.          (Tree_View : access Gtk_Tree_View_RecordTo API docTo specTo body;

897.           Path      : out Gtk.Tree_Model.Gtk_Tree_PathTo API docTo spec;

898.           PosTo API docTo body       : out Gtk_Tree_View_Drop_PositionTo API docTo spec);

899.        --  Sets or gets information about the row that is highlighted for feedback.

901.        ----------------

902.        -- Properties --

903.        ----------------

904.        --  The following properties are defined for this widget. See

905.        --  Glib.Properties for more information on properties.

907.        --  <properties>

908.        --  Name:  Enable_Grid_Lines_Property

909.        --  Type:  Enum

910.        --  Descr: Whether grid lines should be drawn in the tree view

911.        --

912.        --  Name:  Enable_Search_Property

913.        --  Type:  Boolean

914.        --  Descr: View allows user to search through columns interactively

915.        --

916.        --  Name:  Enable_Tree_Lines_Property

917.        --  Type:  Boolean

918.        --  Descr: Whether tree lines should be drawn in the tree view

919.        --

920.        --  Name:  Expander_Column_Property

921.        --  Type:  Object

922.        --  Descr: Set the column for the expander column

923.        --

924.        --  Name:  Fixed_Height_Mode_Property

925.        --  Type:  Boolean

926.        --  Descr: Speeds up Gtk_Tree_View by assuming that all rows have the same

927.        --         height

928.        --

929.        --  Name:  Hadjustment_Property

930.        --  Type:  Object

931.        --  Descr: Horizontal Adjustment for the widget

932.        --

933.        --  Name:  Headers_Clickable_Property

934.        --  Type:  Boolean

935.        --  Descr: Column headers respond to click events

936.        --

937.        --  Name:  Headers_Visible_Property

938.        --  Type:  Boolean

939.        --  Descr: Show the column header buttons

940.        --

941.        --  Name:  Hover_Expand_Property

942.        --  Type:  Boolean

943.        --  Descr: Whether rows should be expanded/collapsed when the pointer moves

944.        --         over them

945.        --

946.        --  Name:  Hover_Selection_Property

947.        --  Type:  Boolean

948.        --  Descr: Whether the selection should follow the pointer

949.        --

950.        --  Name:  Level_Indentation_Property

951.        --  Type:  Int

952.        --  Descr: Extra indentation for each level

953.        --

954.        --  Name:  Model_Property

955.        --  Type:  Object

956.        --  Descr: The model for the tree view

957.        --

958.        --  Name:  Reorderable_Property

959.        --  Type:  Boolean

960.        --  Descr: View is reorderable

961.        --

962.        --  Name:  Rubber_Banding_Property

963.        --  Type:  Boolean

964.        --  Descr: Whether to enable selection of multiple items by dragging the

965.        --         mouse pointer

966.        --

967.        --  Name:  Rules_Hint_Property

968.        --  Type:  Boolean

969.        --  Descr: Set a hint to the theme engine to draw rows in alternating colors

970.        --

971.        --  Name:  Search_Column_Property

972.        --  Type:  Int

973.        --  Descr: Model column to search through when searching through code

974.        --

975.        --  Name:  Show_Expanders_Property

976.        --  Type:  Boolean

977.        --  Descr: View has expanders

978.        --

979.        --  Name:  Tooltip_Column_Property

980.        --  Type:  Int

981.        --  Descr: The column in the model containing the tooltip texts for the rows

982.        --

983.        --  Name:  Vadjustment_Property

984.        --  Type:  Object

985.        --  Descr: Vertical Adjustment for the widget

986.        --  </properties>

988.        Enable_Grid_Lines_Property : constant Glib.Properties.Property_EnumTo API docTo spec;

989.        Enable_Search_Property     : constant Glib.Properties.Property_BooleanTo API docTo spec;

990.        Enable_Tree_Lines_Property : constant Glib.Properties.Property_BooleanTo API docTo spec;

991.        Expander_Column_Property   : constant Glib.Properties.Property_ObjectTo API docTo spec;

992.        Fixed_Height_Mode_Property : constant Glib.Properties.Property_BooleanTo API docTo spec;

993.        Hadjustment_Property       : constant Glib.Properties.Property_ObjectTo API docTo spec;

994.        Headers_Clickable_Property : constant Glib.Properties.Property_BooleanTo API docTo spec;

995.        Headers_Visible_Property   : constant Glib.Properties.Property_BooleanTo API docTo spec;

996.        Hover_Expand_Property      : constant Glib.Properties.Property_BooleanTo API docTo spec;

997.        Hover_Selection_Property   : constant Glib.Properties.Property_BooleanTo API docTo spec;

998.        Level_Indentation_Property : constant Glib.Properties.Property_IntTo API docTo spec;

999.        Model_Property             : constant Glib.Properties.Property_ObjectTo API docTo spec;

1000.        Reorderable_Property       : constant Glib.Properties.Property_BooleanTo API docTo spec;

1001.        Rubber_Banding_Property    : constant Glib.Properties.Property_BooleanTo API docTo spec;

1002.        Rules_Hint_Property        : constant Glib.Properties.Property_BooleanTo API docTo spec;

1003.        Search_Column_Property     : constant Glib.Properties.Property_IntTo API docTo spec;

1004.        Show_Expanders_Property    : constant Glib.Properties.Property_BooleanTo API docTo spec;

1005.        Tooltip_Column_Property    : constant Glib.Properties.Property_IntTo API docTo spec;

1006.        Vadjustment_Property       : constant Glib.Properties.Property_ObjectTo API docTo spec;

1008.        ----------------------

1009.        -- Style Properties --

1010.        ----------------------

1011.        --  The following properties can be changed through the gtk theme and

1012.        --  configuration files, and retrieved through Gtk.Widget.Style_Get_Property

1014.        --  <style_properties>

1015.        --  Name:  Allow_Rules_Property

1016.        --  Type:  Boolean

1017.        --  Descr: Allow drawing of alternating color rows

1018.        --

1019.        --  Name:  Even_Row_Color_Property

1020.        --  Type:  Boxed

1021.        --  Descr: Color to use for even rows

1022.        --

1023.        --  Name:  Expander_Size_Property

1024.        --  Type:  Int

1025.        --  Descr: Size of the expander arrow

1026.        --

1027.        --  Name:  Grid_Line_Pattern_Property

1028.        --  Type:  String

1029.        --  Descr: Dash pattern used to draw the tree view grid lines

1030.        --

1031.        --  Name:  Grid_Line_Width_Property

1032.        --  Type:  Int

1033.        --  Descr: Width, in pixels, of the tree view grid lines

1034.        --

1035.        --  Name:  Horizontal_Separator_Property

1036.        --  Type:  Int

1037.        --  Descr: Horizontal space between cells.  Must be an even number

1038.        --

1039.        --  Name:  Indent_Expanders_Property

1040.        --  Type:  Boolean

1041.        --  Descr: Make the expanders indented

1042.        --

1043.        --  Name:  Odd_Row_Color_Property

1044.        --  Type:  Boxed

1045.        --  Descr: Color to use for odd rows

1046.        --

1047.        --  Name:  Row_Ending_Details_Property

1048.        --  Type:  Boolean

1049.        --  Descr: Enable extended row background theming

1050.        --

1051.        --  Name:  Tree_Line_Pattern_Property

1052.        --  Type:  String

1053.        --  Descr: Dash pattern used to draw the tree view lines

1054.        --

1055.        --  Name:  Tree_Line_Width_Property

1056.        --  Type:  Int

1057.        --  Descr: Width, in pixels, of the tree view lines

1058.        --

1059.        --  Name:  Vertical_Separator_Property

1060.        --  Type:  Int

1061.        --  Descr: Vertical space between cells.  Must be an even number

1062.        --  </style_properties>

1064.        Allow_Rules_Property          : constant Glib.Properties.Property_BooleanTo API docTo spec;

1065.        --  Even_Row_Color_Property   : constant Glib.Properties.Property_Boxed;

1066.        Expander_Size_Property        : constant Glib.Properties.Property_IntTo API docTo spec;

1067.        Grid_Line_Pattern_Property    : constant Glib.Properties.Property_StringTo API docTo spec;

1068.        Grid_Line_Width_Property      : constant Glib.Properties.Property_IntTo API docTo spec;

1069.        Horizontal_Separator_Property : constant Glib.Properties.Property_IntTo API docTo spec;

1070.        Indent_Expanders_Property     : constant Glib.Properties.Property_BooleanTo API docTo spec;

1071.        --  Odd_Row_Color_Property    : constant Glib.Properties.Property_Boxed;

1072.        Row_Ending_Details_Property   : constant Glib.Properties.Property_BooleanTo API docTo spec;

1073.        Tree_Line_Pattern_Property    : constant Glib.Properties.Property_StringTo API docTo spec;

1074.        Tree_Line_Width_Property      : constant Glib.Properties.Property_IntTo API docTo spec;

1075.        Vertical_Separator_Property   : constant Glib.Properties.Property_IntTo API docTo spec;

1077.        -------------

1078.        -- Signals --

1079.        -------------

1081.        --  <signals>

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

1083.        --

1084.        --  - "set_scroll_adjustments"

1085.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class;

1086.        --       Hadjustment : access Gtk.Adjustment.Gtk_Adjustment_Record'Class;

1087.        --       Vadjustment : access Gtk.Adjustment.Gtk_Adjustment_Record'Class);

1088.        --

1089.        --  - "row_activated"

1090.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class;

1091.        --       Path : Gtk.Tree_Model.Gtk_Tree_Path;

1092.        --       Column : Gtk.Tree_View_Column.Gtk_Tree_View_Column);

1093.        --

1094.        --  - "test_expand_row"

1095.        --    function Handler (Widget : access Gtk_Tree_View_Record'Class;

1096.        --       Iter : access Gtk.Tree_Iter.Gtk_Tree_Iter_Record'Class;

1097.        --       Path : Gtk.Tree_Model.Gtk_Tree_Path)

1098.        --       return Gboolean;

1099.        --

1100.        --  - "test_collapse_row"

1101.        --    function Handler (Widget : access Gtk_Tree_View_Record'Class;

1102.        --       Iter : access Gtk.Tree_Iter.Gtk_Tree_Iter_Record'Class;

1103.        --       Path : Gtk.Tree_Model.Gtk_Tree_Path)

1104.        --       return Gboolean;

1105.        --

1106.        --  - "row_expanded"

1107.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class;

1108.        --       Iter : access Gtk.Tree_Iter.Gtk_Tree_Iter_Record'Class;

1109.        --       Path : Gtk.Tree_Model.Gtk_Tree_Path);

1110.        --

1111.        --  - "row_collapsed"

1112.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class;

1113.        --       Iter : access Gtk.Tree_Iter.Gtk_Tree_Iter_Record'Class;

1114.        --       Path : Gtk.Tree_Model.Gtk_Tree_Path);

1115.        --

1116.        --  - "columns_changed"

1117.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class);

1118.        --

1119.        --  - "move_cursor"

1120.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class;

1121.        --       Step : Gtk_Movement_Step;

1122.        --       Count : Gint);

1123.        --

1124.        --  - "select_all"

1125.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class);

1126.        --

1127.        --  - "select_cursor_row"

1128.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class;

1129.        --       Start_Editing : Boolean);

1130.        --

1131.        --  - "toggle_cursor_row"

1132.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class);

1133.        --

1134.        --  - "expand_collapse_cursor_row"

1135.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class;

1136.        --       Logical : Boolean;

1137.        --       Expand : Boolean;

1138.        --       Open_All : Boolean);

1139.        --

1140.        --  - "select_cursor_parent"

1141.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class);

1142.        --

1143.        --  - "start_interactive_search"

1144.        --    procedure Handler (Widget : access Gtk_Tree_View_Record'Class);

1145.        --

1146.        --  </signals>

1148.        Signal_Columns_Changed            : constant Glib.Signal_NameTo API docTo spec :=

1149.                                              "columns_changed";

1150.        Signal_Cursor_Changed             : constant Glib.Signal_NameTo API docTo spec :=

1151.                                              "cursor_changed";

1152.        Signal_Expand_Collapse_Cursor_Row : constant Glib.Signal_NameTo API docTo spec :=

1153.                                              "expand_collapse_cursor_row";

1154.        Signal_Move_Cursor                : constant Glib.Signal_NameTo API docTo spec :=

1155.                                              "move_cursor";

1156.        Signal_Row_Activated              : constant Glib.Signal_NameTo API docTo spec :=

1157.                                              "row_activated";

1158.        Signal_Row_Collapsed              : constant Glib.Signal_NameTo API docTo spec :=

1159.                                              "row_collapsed";

1160.        Signal_Row_Expanded               : constant Glib.Signal_NameTo API docTo spec :=

1161.                                              "row_expanded";

1162.        Signal_Select_All                 : constant Glib.Signal_NameTo API docTo spec :=

1163.                                              "select_all";

1164.        Signal_Select_Cursor_Parent       : constant Glib.Signal_NameTo API docTo spec :=

1165.                                              "select_cursor_parent";

1166.        Signal_Select_Cursor_Row          : constant Glib.Signal_NameTo API docTo spec :=

1167.                                              "select_cursor_row";

1168.        Signal_Set_Scroll_Adjustments     : constant Glib.Signal_NameTo API docTo spec :=

1169.                                              "set_scroll_adjustments";

1170.        Signal_Start_Interactive_Search   : constant Glib.Signal_NameTo API docTo spec :=

1171.                                              "start_interactive_search";

1172.        Signal_Test_Collapse_Row          : constant Glib.Signal_NameTo API docTo spec :=

1173.                                              "test_collapse_row";

1174.        Signal_Test_Expand_Row            : constant Glib.Signal_NameTo API docTo spec :=

1175.                                              "test_expand_row";

1176.        Signal_Toggle_Cursor_Row          : constant Glib.Signal_NameTo API docTo spec :=

1177.                                              "toggle_cursor_row";

1178.        Signal_Unselect_All               : constant Glib.Signal_NameTo API docTo spec :=

1179.                                              "unselect_all";

1181.     private

1182.        type Gtk_Tree_View_RecordTo API docTo spec is

1183.          new Gtk.Container.Gtk_Container_RecordTo API docTo specTo body with null record;

1185.        Enable_Grid_Lines_PropertyTo API docTo spec : constant Glib.Properties.Property_EnumTo API docTo spec :=

1186.          Glib.Properties.BuildTo API docTo specTo body ("enable-grid-lines");

1187.        Enable_Search_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1188.          Glib.Properties.BuildTo API docTo specTo body ("enable-search");

1189.        Enable_Tree_Lines_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1190.          Glib.Properties.BuildTo API docTo specTo body ("enable-tree-lines");

1191.        Expander_Column_PropertyTo API docTo spec : constant Glib.Properties.Property_ObjectTo API docTo spec :=

1192.          Glib.Properties.BuildTo API docTo specTo body ("expander-column");

1193.        Fixed_Height_Mode_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1194.          Glib.Properties.BuildTo API docTo specTo body ("fixed-height-mode");

1195.        Hadjustment_PropertyTo API docTo spec : constant Glib.Properties.Property_ObjectTo API docTo spec :=

1196.          Glib.Properties.BuildTo API docTo specTo body ("hadjustment");

1197.        Headers_Clickable_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1198.          Glib.Properties.BuildTo API docTo specTo body ("headers-clickable");

1199.        Headers_Visible_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1200.          Glib.Properties.BuildTo API docTo specTo body ("headers-visible");

1201.        Hover_Expand_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1202.          Glib.Properties.BuildTo API docTo specTo body ("hover-expand");

1203.        Hover_Selection_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1204.          Glib.Properties.BuildTo API docTo specTo body ("hover-selection");

1205.        Level_Indentation_PropertyTo API docTo spec : constant Glib.Properties.Property_IntTo API docTo spec :=

1206.          Glib.Properties.BuildTo API docTo specTo body ("level-indentation");

1207.        Model_PropertyTo API docTo spec : constant Glib.Properties.Property_ObjectTo API docTo spec :=

1208.          Glib.Properties.BuildTo API docTo specTo body ("model");

1209.        Reorderable_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1210.          Glib.Properties.BuildTo API docTo specTo body ("reorderable");

1211.        Rubber_Banding_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1212.          Glib.Properties.BuildTo API docTo specTo body ("rubber-banding");

1213.        Rules_Hint_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1214.          Glib.Properties.BuildTo API docTo specTo body ("rules-hint");

1215.        Search_Column_PropertyTo API docTo spec : constant Glib.Properties.Property_IntTo API docTo spec :=

1216.          Glib.Properties.BuildTo API docTo specTo body ("search-column");

1217.        Show_Expanders_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1218.          Glib.Properties.BuildTo API docTo specTo body ("show-expanders");

1219.        Tooltip_Column_PropertyTo API docTo spec : constant Glib.Properties.Property_IntTo API docTo spec :=

1220.          Glib.Properties.BuildTo API docTo specTo body ("tooltip-column");

1221.        Vadjustment_PropertyTo API docTo spec : constant Glib.Properties.Property_ObjectTo API docTo spec :=

1222.          Glib.Properties.BuildTo API docTo specTo body ("vadjustment");

1224.        Allow_Rules_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1225.          Glib.Properties.BuildTo API docTo specTo body ("allow-rules");

1226.     --     Even_Row_Color_Property : constant Glib.Properties.Property_Boxed :=

1227.     --       Glib.Properties.Build ("even-row-color");

1228.        Expander_Size_PropertyTo API docTo spec : constant Glib.Properties.Property_IntTo API docTo spec :=

1229.          Glib.Properties.BuildTo API docTo specTo body ("expander-size");

1230.        Grid_Line_Pattern_PropertyTo API docTo spec : constant Glib.Properties.Property_StringTo API docTo spec :=

1231.          Glib.Properties.BuildTo API docTo specTo body ("grid-line-pattern");

1232.        Grid_Line_Width_PropertyTo API docTo spec : constant Glib.Properties.Property_IntTo API docTo spec :=

1233.          Glib.Properties.BuildTo API docTo specTo body ("grid-line-width");

1234.        Horizontal_Separator_PropertyTo API docTo spec : constant Glib.Properties.Property_IntTo API docTo spec :=

1235.          Glib.Properties.BuildTo API docTo specTo body ("horizontal-separator");

1236.        Indent_Expanders_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1237.          Glib.Properties.BuildTo API docTo specTo body ("indent-expanders");

1238.     --     Odd_Row_Color_Property : constant Glib.Properties.Property_Boxed :=

1239.     --       Glib.Properties.Build ("odd-row-color");

1240.        Row_Ending_Details_PropertyTo API docTo spec : constant Glib.Properties.Property_BooleanTo API docTo spec :=

1241.          Glib.Properties.BuildTo API docTo specTo body ("row-ending-details");

1242.        Tree_Line_Pattern_PropertyTo API docTo spec : constant Glib.Properties.Property_StringTo API docTo spec :=

1243.          Glib.Properties.BuildTo API docTo specTo body ("tree-line-pattern");

1244.        Tree_Line_Width_PropertyTo API docTo spec : constant Glib.Properties.Property_IntTo API docTo spec :=

1245.          Glib.Properties.BuildTo API docTo specTo body ("tree-line-width");

1246.        Vertical_Separator_PropertyTo API docTo spec : constant Glib.Properties.Property_IntTo API docTo spec :=

1247.          Glib.Properties.BuildTo API docTo specTo body ("vertical-separator");

1249.        pragma Import (C, Get_TypeTo API docTo spec, "gtk_tree_view_get_type");

1250.     end Gtk.Tree_ViewTo API docTo specTo body;

1252.     --  No binding: gtk_tree_view_set_destroy_count_func

1253.     --  No binding: gtk_tree_view_insert_column_with_attributes