-----------------------------------------------------------------------
-- GtkAda - Ada95 binding for Gtk+/Gnome --
-- --
-- Copyright (C) 2001-2002 ACT-Europe --
-- --
-- This library is free software; you can redistribute it and/or --
-- modify it under the terms of the GNU General Public --
-- License as published by the Free Software Foundation; either --
-- version 2 of the License, or (at your option) any later version. --
-- --
-- This library is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --
-- General Public License for more details. --
-- --
-- You should have received a copy of the GNU General Public --
-- License along with this library; if not, write to the --
-- Free Software Foundation, Inc., 59 Temple Place - Suite 330, --
-- Boston, MA 02111-1307, USA. --
-- --
-- As a special exception, if other files instantiate generics from --
-- this unit, or you link this unit with other files to produce an --
-- executable, this unit does not by itself cause the resulting --
-- executable to be covered by the GNU General Public License. This --
-- exception does not however invalidate any other reasons why the --
-- executable file might be covered by the GNU Public License. --
-----------------------------------------------------------------------
-- 1.3.11
with Glib.Object;
with Gtk;
with Gtk.Enums; use Gtk.Enums;
with Gtk.Tree_Model;
with Gtk.Widget; use Gtk.Widget;
package Gtk.Tree_Selection is
type Gtk_Tree_Selection_Record is
new Glib.Object.GObject_Record with private;
type Gtk_Tree_Selection is access all Gtk_Tree_Selection_Record'Class'Class;
function Get_Type return Glib.GType;
-- Return the internal type associated with Gtk_Tree_Selection.
procedure Set_Mode
(Selection : access Gtk_Tree_Selection_Record'Class;
The_Type : Gtk_Selection_Mode);
-- Set the selection mode of the Selection.
-- If the previous type was Gtk_Selection_Multiple,
-- then the anchor is kept selected, if it was previously selected.
function Get_Mode
(Selection : access Gtk_Tree_Selection_Record'Class)
return Gtk_Selection_Mode;
-- Get the selection mode for Selection. See Set_Mode.
function Get_Tree_View
(Selection : access Gtk_Tree_Selection_Record'Class)
return Gtk.Widget.Gtk_Widget;
-- Return the tree view associated with Selection.
procedure Get_Selected
(Selection : access Gtk_Tree_Selection_Record'Class;
Model : out Gtk.Tree_Model.Gtk_Tree_Model;
Iter : out Gtk.Tree_Model.Gtk_Tree_Iter);
-- Set Iter to the currently selected node if Selection
-- is set to Gtk_Selection_Single or Gtk_Selection_Browse.
-- Iter is set to Null_Iter if no node is currently selected.
-- Model is filled with the current model as a convenience. This function
-- will not work if Selection is set to Gtk_Selection_Multiple.
generic
type Data_Type is private;
package Selection_Foreach is
type Data_Type_Access is access all Data_Type;
type Foreach_Func is access procedure
(Model : Gtk.Tree_Model.Gtk_Tree_Model;
Path : Gtk.Tree_Model.Gtk_Tree_Path;
Iter : Gtk.Tree_Model.Gtk_Tree_Iter;
Data : Data_Type_Access);
procedure Selected_Foreach
(Selection : access Gtk_Tree_Selection_Record'Class;
Func : Foreach_Func;
Data : Data_Type_Access);
-- Call Func for each selected node.
end Selection_Foreach;
procedure Select_Path
(Selection : access Gtk_Tree_Selection_Record'Class;
Path : Gtk.Tree_Model.Gtk_Tree_Path);
-- Select the row at path.
procedure Unselect_Path
(Selection : access Gtk_Tree_Selection_Record'Class;
Path : Gtk.Tree_Model.Gtk_Tree_Path);
-- Unselect the row at path.
procedure Select_Iter
(Selection : access Gtk_Tree_Selection_Record'Class;
Iter : Gtk.Tree_Model.Gtk_Tree_Iter);
-- Select the specified iterator.
procedure Unselect_Iter
(Selection : access Gtk_Tree_Selection_Record'Class;
Iter : Gtk.Tree_Model.Gtk_Tree_Iter);
-- Unselect the specified iterator.
function Path_Is_Selected
(Selection : access Gtk_Tree_Selection_Record'Class;
Path : Gtk.Tree_Model.Gtk_Tree_Path)
return Boolean;
-- Return True if the row pointed to by path is currently selected.
-- If path does not point to a valid location, False is returned
function Iter_Is_Selected
(Selection : access Gtk_Tree_Selection_Record'Class;
Iter : Gtk.Tree_Model.Gtk_Tree_Iter)
return Boolean;
-- Return True if the row pointed to by path is currently selected.
procedure Select_All (Selection : access Gtk_Tree_Selection_Record'Class);
-- Select all the nodes.
-- Selection must be set to Gtk_Selection_Multiple mode.
procedure Unselect_All (Selection : access Gtk_Tree_Selection_Record'Class);
-- Unselect all the nodes.
procedure Select_Range
(Selection : access Gtk_Tree_Selection_Record'Class;
Start_Path : Gtk.Tree_Model.Gtk_Tree_Path;
End_Path : Gtk.Tree_Model.Gtk_Tree_Path);
-- Select a range of nodes, determined by Start_Path and End_Path inclusive
-------------
-- Signals --
-------------
--
-- The following new signals are defined for this widget:
--
-- - "changed"
-- procedure Handler
-- (Widget : access Gtk_Tree_Selection_Record'Class'Class);
--
--
private
type Gtk_Tree_Selection_Record is
new Glib.Object.GObject_Record with null record;
pragma Import (C, Get_Type, "gtk_tree_selection_get_type");
end Gtk.Tree_Selection;
-- missing:
--
-- procedure Set_Select_Function
-- (Selection : access Gtk_Tree_Selection_Record'Class;
-- Func : Gtk_Tree_Selection_Func;
-- Data : gpointer;
-- Destroy : Gtk_Destroy_Notify);
--
-- function Get_User_Data
-- (Selection : access Gtk_Tree_Selection_Record'Class) return gpointer;