----------------------------------------------------------------------- -- GtkAda - Ada95 binding for Gtk+/Gnome -- -- -- -- Copyright (C) 2006-2010 AdaCore -- -- -- -- 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. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ----------------------------------------------------------------------- -- -- Gtk_Icon_View provides an alternative view on a list model. It displays the -- model as a grid of icons with labels. Like Gtk_Tree_View, it allows to -- select one or multiple items (depending on the selection mode, see -- Set_Selection_Mode). In addition to selection with the arrow keys, -- Gtk_Icon_View supports rubberband selection, which is controlled by -- dragging the pointer. -- -- 2.16.6 -- Trees and Lists -- icon-view -- create_icon_view.adb with Glib.Types; with Gdk.Color; with Gdk.Dnd; with Gdk.Types; with Glib.Properties; with Gtk.Cell_Layout; with Gtk.Cell_Renderer; with Gtk.Container; with Gtk.Enums; with Gtk.Selection; with Gtk.Tooltip; with Gtk.Tree_Model; package Gtk.Icon_View is type Gtk_Icon_View_Record is new Gtk.Container.Gtk_Container_Record with null record; type Gtk_Icon_View is access all Gtk_Icon_View_Record'Class; type Gtk_Icon_View_Drop_Position is (No_Drop, Drop_Into, Drop_Left, Drop_Right, Drop_Above, Drop_Below); -- An enum for determining where a dropped item goes. -- If Drop_Into, then the drop item replaces the item. procedure Gtk_New (Icon_View : out Gtk_Icon_View); procedure Initialize (Icon_View : access Gtk_Icon_View_Record'Class); -- Creates a new Gtk_Icon_View widget procedure Gtk_New_With_Model (Icon_View : out Gtk_Icon_View; Model : access Gtk.Tree_Model.Gtk_Tree_Model_Record'Class); procedure Initialize_With_Model (Icon_View : access Gtk_Icon_View_Record'Class; Model : access Gtk.Tree_Model.Gtk_Tree_Model_Record'Class); -- Creates a new Gtk_Icon_View widget with the model Model. function Get_Type return GType; -- Return the internal type used for a Gtk_Icon_View. procedure Set_Column_Spacing (Icon_View : access Gtk_Icon_View_Record; Column_Spacing : Glib.Gint); function Get_Column_Spacing (Icon_View : access Gtk_Icon_View_Record) return Glib.Gint; -- Sets the ::column-spacing property which specifies the space -- which is inserted between the columns of the icon view. procedure Set_Columns (Icon_View : access Gtk_Icon_View_Record; Columns : Glib.Gint); function Get_Columns (Icon_View : access Gtk_Icon_View_Record) return Glib.Gint; -- Sets the ::columns property which determines in how many columns the -- icons are arranged. If Columns is -1, the number of columns will be -- chosen automatically to fill the available area. procedure Set_Cursor (Icon_View : access Gtk_Icon_View_Record; Path : Gtk.Tree_Model.Gtk_Tree_Path; Cell : Gtk.Cell_Renderer.Gtk_Cell_Renderer := null; Start_Editing : Boolean := False); -- Sets the current keyboard focus to be at Path, and selects it. This is -- useful when you want to focus the user's attention on a particular item. -- If Cell is not null, then focus is given to the cell specified by it. -- Additionally, if Start_Editing is True, then editing should be started -- in the specified cell. -- -- This function is often followed by Grab_Focus in order to give keyboard -- focus to the widget. Please note that editing can only happen when the -- widget is realized. procedure Get_Cursor (Icon_View : access Gtk_Icon_View_Record; Path : out Gtk.Tree_Model.Gtk_Tree_Path; Cell : out Gtk.Cell_Renderer.Gtk_Cell_Renderer; Cursor_Is_Set : out Boolean); -- Fills in Path and Cell with the current cursor path and cell. -- If the cursor isn't currently set, then Ppath will be null. -- If no cell currently has focus, then Cell will be null. -- The returned Path must be freed with Gtk.Tree_Model.Path_Free. -- Cursor_Is_Set is set to True if the cursor is set. procedure Set_Item_Width (Icon_View : access Gtk_Icon_View_Record; Item_Width : Glib.Gint); function Get_Item_Width (Icon_View : access Gtk_Icon_View_Record) return Glib.Gint; -- Sets the ::item-width property which specifies the width to use for each -- item. If it is set to -1, the icon view will automatically determine a -- suitable item size. procedure Set_Margin (Icon_View : access Gtk_Icon_View_Record; Margin : Glib.Gint); function Get_Margin (Icon_View : access Gtk_Icon_View_Record) return Glib.Gint; -- Sets the ::margin property which specifies the space which is inserted -- at the top, bottom, left and right of the icon view. procedure Set_Orientation (Icon_View : access Gtk_Icon_View_Record; Orientation : Gtk.Enums.Gtk_Orientation); function Get_Orientation (Icon_View : access Gtk_Icon_View_Record) return Gtk.Enums.Gtk_Orientation; -- Sets the ::orientation property which determines whether the labels -- are drawn beside the icons instead of below. procedure Set_Reorderable (Icon_View : access Gtk_Icon_View_Record; Reorderable : Boolean); function Get_Reorderable (Icon_View : access Gtk_Icon_View_Record) return Boolean; -- This function is a convenience function to allow you to reorder models -- that support the Gtk_Tree_Drag_Source interface and the -- Gtk_Tree_Drag_Dest interface. Both Gtk_Tree_Store and Gtk_List_Store -- support these. If Reorderable is True, then the user can reorder the -- model by dragging and dropping rows. The developer can listen to these -- changes by connecting to the model's row_inserted and row_deleted -- signals. -- -- This function does not give you any degree of control over the order -- -- any reordering is allowed. If more control is needed, you should -- probably handle drag and drop manually. procedure Set_Row_Spacing (Icon_View : access Gtk_Icon_View_Record; Row_Spacing : Glib.Gint); function Get_Row_Spacing (Icon_View : access Gtk_Icon_View_Record) return Glib.Gint; -- Sets the ::row-spacing property which specifies the space -- which is inserted between the rows of the icon view. procedure Set_Spacing (Icon_View : access Gtk_Icon_View_Record; Spacing : Glib.Gint); function Get_Spacing (Icon_View : access Gtk_Icon_View_Record) return Glib.Gint; -- Sets the ::spacing property which specifies the space -- which is inserted between the cells (i.e. the icon and -- the text) of an item. procedure Item_Activated (Icon_View : access Gtk_Icon_View_Record; Path : Gtk.Tree_Model.Gtk_Tree_Path); -- Activates the item determined by Path. --------------- -- Scrolling -- --------------- procedure Get_Visible_Range (Icon_View : access Gtk_Icon_View_Record; Start_Path : out Gtk.Tree_Model.Gtk_Tree_Path; End_Path : out Gtk.Tree_Model.Gtk_Tree_Path); -- Sets Start_Path and End_Path to be the first and last visible path. -- Note that there may be invisible paths in between. -- Both paths should be freed with Path_Free after use. procedure Scroll_To_Path (Icon_View : access Gtk_Icon_View_Record; Path : Gtk.Tree_Model.Gtk_Tree_Path; Use_Align : Boolean := True; Row_Align : Glib.Gfloat := 0.5; Col_Align : Glib.Gfloat := 0.0); -- Moves the alignments of Icon_View to the position specified by Path. -- Row_Align determines where the row is placed, and Col_Align determines -- where column is placed. Both are expected to be between 0.0 and 1.0. -- 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 -- means center. -- -- If Use_Align is False, then the alignment arguments are ignored, and the -- tree does the minimum amount of work to scroll the item onto the screen. -- This means that the item will be scrolled to the edge closest to its -- current position. If the item is currently visible on the screen, -- nothing is done. -- -- This function only works if the model is set, and Path is a valid row on -- the model. If the model changes before the Icon_View is realized, the -- centered path will be modified to reflect this change. -------------- -- Tooltips -- -------------- procedure Set_Tooltip_Column (Icon_View : access Gtk_Icon_View_Record; Column : Gint); function Get_Tooltip_Column (Icon_View : access Gtk_Icon_View_Record) return Gint; -- If you only plan to have simple (text-only) tooltips on full items, you -- can use Set_Tooltip_Column to have Gtk_Icon_View handle these -- automatically for you. Column should be set to the column in -- Icon_View's model containing the tooltip texts, or -1 to disable this -- feature. -- -- When enabled, #GtkWidget::has-tooltip will be set to True and -- Icon_View will connect a #GtkWidget::query-tooltip signal handler. -- -- Get_Tooltip_Column returns the index of the tooltip column that is -- currently being used, or -1 if this is disabled. procedure Get_Tooltip_Context (Icon_View : access Gtk_Icon_View_Record; X : in out Gint; Y : in out Gint; Keyboard_Tip : Boolean; Model : out Gtk.Tree_Model.Gtk_Tree_Model; Path : out Gtk.Tree_Model.Gtk_Tree_Path; Iter : out Gtk.Tree_Model.Gtk_Tree_Iter; Success : out Boolean); -- Icon_View: a Gtk_Icon_View -- X: the x coordinate (relative to widget coordinates) -- Y: the y coordinate (relative to widget coordinates) -- Keyboard_Tip: whether or not this is a keyboard tooltip -- Model: a Gtk_Tree_Model -- Path: a Gtk_Tree_Path -- Iter: a Gtk_Tree_Iter -- -- This subprogram is supposed to be used in a #GtkWidget::query-tooltip -- signal handler for Gtk_Icon_View. The X, Y and Keyboard_Tip values -- which are received in the signal handler should be passed to this -- subprogram without modification. -- -- The Success value indicates whether there is an icon view item at the -- given coordinates (True) or not (False) for mouse tooltips. For keyboard -- tooltips the item returned will be the cursor item. When True, then any -- of Model, Path and Iter which have been provided will be set to point to -- that row and the corresponding model. X and Y will always be converted -- to be relative to Icon_View's bin_window if Keyboard_Tip is False. procedure Set_Tooltip_Cell (Icon_View : access Gtk_Icon_View_Record; Tooltip : access Gtk.Tooltip.Gtk_Tooltip_Record'Class; Path : Gtk.Tree_Model.Gtk_Tree_Path; Cell : access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class); -- Sets the tip area of Tooltip to the area which Cell occupies in -- the item pointed to by Path. See also Gtk.Tooltip.Set_Tip_Area. -- -- See also Set_Tooltip_Column for a simpler alternative. procedure Set_Tooltip_Item (Icon_View : access Gtk_Icon_View_Record; Tooltip : access Gtk.Tooltip.Gtk_Tooltip_Record'Class; Path : Gtk.Tree_Model.Gtk_Tree_Path); -- Sets the tip area of Tooltip to be the area covered by the item at Path. -- -- See also Set_Tooltip_Column for a simpler alternative. -- See also Gtk.Tooltip.Set_Tip_Area. ---------------- -- Tree Model -- ---------------- procedure Set_Model (Icon_View : access Gtk_Icon_View_Record; Model : Gtk.Tree_Model.Gtk_Tree_Model := null); function Get_Model (Icon_View : access Gtk_Icon_View_Record) return Gtk.Tree_Model.Gtk_Tree_Model; -- Sets the model for a Gtk_Icon_View. If the Icon_View already has a -- model set, it will remove it before setting the new model. If Model is -- null, then it will unset the old model. procedure Set_Text_Column (Icon_View : access Gtk_Icon_View_Record; Column : Glib.Gint); function Get_Text_Column (Icon_View : access Gtk_Icon_View_Record) return Glib.Gint; -- Sets the column with text for Icon_View to be Column. The text -- column must be of type GType_String. procedure Set_Pixbuf_Column (Icon_View : access Gtk_Icon_View_Record; Column : Glib.Gint); function Get_Pixbuf_Column (Icon_View : access Gtk_Icon_View_Record) return Glib.Gint; -- Sets the column with pixbufs for Icon_View to be Column. The pixbuf -- column must be of type Gdk.Pixbuf.Get_Type procedure Set_Markup_Column (Icon_View : access Gtk_Icon_View_Record; Column : Glib.Gint); function Get_Markup_Column (Icon_View : access Gtk_Icon_View_Record) return Glib.Gint; -- Sets the column with markup information for Icon_View to be -- Column. The markup column must be of type GType_String. -- If the markup column is set to something, it overrides -- the text column set by Set_Text_Column. function Get_Path_At_Pos (Icon_View : access Gtk_Icon_View_Record; X : Glib.Gint; Y : Glib.Gint) return Gtk.Tree_Model.Gtk_Tree_Path; -- Finds the path at the point (X, Y), relative to widget coordinates. See -- Get_Item_At_Pos, if you are also interested in the cell at the specified -- position. procedure Get_Item_At_Pos (Icon_View : access Gtk_Icon_View_Record; X : Gint; Y : Gint; Path : out Gtk.Tree_Model.Gtk_Tree_Path; Cell : out Gtk.Cell_Renderer.Gtk_Cell_Renderer; Has_Item : out Boolean); -- Finds the path at the point (X, Y), relative to widget coordinates. -- In contrast to Get_Path_At_Pos, this function also -- obtains the cell at the specified position. The returned path should -- be freed with Path_Free. -- Has_Item is set to True if an item exists at the specified position. procedure Convert_Widget_To_Bin_Window_Coords (Icon_View : access Gtk_Icon_View_Record; Wx : Gint; Wy : Gint; Bx : out Gint; By : out Gint); -- Icon_View: a Gtk_Icon_View -- Wx: X coordinate relative to the widget -- Wy: Y coordinate relative to the widget -- Bx: bin_window X coordinate -- By: bin_window Y coordinate -- -- Converts widget coordinates to coordinates for the bin_window, -- as expected by e.g. Get_Path_At_Pos. --------------- -- Selection -- --------------- procedure Set_Selection_Mode (Icon_View : access Gtk_Icon_View_Record; Mode : Gtk.Enums.Gtk_Selection_Mode); function Get_Selection_Mode (Icon_View : access Gtk_Icon_View_Record) return Gtk.Enums.Gtk_Selection_Mode; -- Sets the selection mode of the Icon_View. procedure Select_All (Icon_View : access Gtk_Icon_View_Record); procedure Unselect_All (Icon_View : access Gtk_Icon_View_Record); -- Selects all the icons. Icon_View must has its selection mode set -- to Selection_Multiple procedure Select_Path (Icon_View : access Gtk_Icon_View_Record; Path : Gtk.Tree_Model.Gtk_Tree_Path); procedure Unselect_Path (Icon_View : access Gtk_Icon_View_Record; Path : Gtk.Tree_Model.Gtk_Tree_Path); -- Selects the row at Path. function Get_Selected_Items (Icon_View : access Gtk_Icon_View_Record) return Gtk.Tree_Model.Gtk_Tree_Path_List.Glist; -- Creates a list of paths of all selected items. Additionally, if you are -- planning on modifying the model after calling this function, you may -- want to convert the returned list into a list of Gtk_Tree_Row_Reference. -- To free the returend value, use: -- Foreach (List, Gtk.Tree_Model.Path_Free, Null); -- Free (List); function Path_Is_Selected (Icon_View : access Gtk_Icon_View_Record; Path : Gtk.Tree_Model.Gtk_Tree_Path) return Boolean; -- Returns True if the icon pointed to by Path is currently -- selected. If Path does not point to a valid location, False is returned. ------------------- -- Drag and drop -- ------------------- function Create_Drag_Icon (Icon_View : access Gtk_Icon_View_Record; Path : Gtk.Tree_Model.Gtk_Tree_Path) return Gdk.Gdk_Pixmap; -- Creates a Gdk_Pixmap representation of the item at Path. -- This image is used for a drag icon. -- The returned value must be Unref'd by the caller. procedure Enable_Model_Drag_Dest (Icon_View : access Gtk_Icon_View_Record; Targets : Gtk.Selection.Target_Entry_Array; Actions : Gdk.Dnd.Drag_Action); procedure Unset_Model_Drag_Dest (Icon_View : access Gtk_Icon_View_Record); -- Turns Icon_view into a drop destination for automatic DND. -- Targets is the list of targets that the drag will support. procedure Enable_Model_Drag_Source (Icon_View : access Gtk_Icon_View_Record; Start_Button_Mask : Gdk.Types.Gdk_Modifier_Type; Targets : Gtk.Selection.Target_Entry_Array; Actions : Gdk.Dnd.Drag_Action); procedure Unset_Model_Drag_Source (Icon_View : access Gtk_Icon_View_Record); -- Turns Icon_view into a drag source for automatic DND. -- Start_Button_Mask is the allowed buttons to start drag. procedure Get_Dest_Item_At_Pos (Icon_View : access Gtk_Icon_View_Record; Drag_X : Glib.Gint; Drag_Y : Glib.Gint; Path : out Gtk.Tree_Model.Gtk_Tree_Path; Pos : out Gtk_Icon_View_Drop_Position; Has_Item : out Boolean); -- Determines the destination item for a given position. -- Return value: whether there is an item at the given position. procedure Set_Drag_Dest_Item (Icon_View : access Gtk_Icon_View_Record; Path : Gtk.Tree_Model.Gtk_Tree_Path; Pos : Gtk_Icon_View_Drop_Position); procedure Get_Drag_Dest_Item (Icon_View : access Gtk_Icon_View_Record; Path : out Gtk.Tree_Model.Gtk_Tree_Path; Pos : out Gtk_Icon_View_Drop_Position); -- Sets the item that is highlighted for feedback. ---------------- -- Interfaces -- ---------------- -- This class implements several interfaces. See Glib.Types -- -- - "Gtk_Cell_Layout" package Implements_Cell_Layout is new Glib.Types.Implements (Gtk.Cell_Layout.Gtk_Cell_Layout, Gtk_Icon_View_Record, Gtk_Icon_View); function "+" (Widget : access Gtk_Icon_View_Record'Class) return Gtk.Cell_Layout.Gtk_Cell_Layout renames Implements_Cell_Layout.To_Interface; function "-" (Interf : Gtk.Cell_Layout.Gtk_Cell_Layout) return Gtk_Icon_View renames Implements_Cell_Layout.To_Object; -- Converts to and from the Gtk_Cell_Layout interface ---------------- -- Properties -- ---------------- -- -- The following properties are defined for this widget. See -- Glib.Properties for more information on properties. -- -- Name: Column_Spacing_Property -- Type: Int -- Descr: Space which is inserted between grid column -- -- Name: Columns_Property -- Type: Int -- Descr: Number of columns to display -- -- Name: Item_Width_Property -- Type: Int -- Descr: The width used for each item -- -- Name: Margin_Property -- Type: Int -- Descr: Space which is inserted at the edges of the icon view -- -- Name: Markup_Column_Property -- Type: Int -- Descr: Model column used to retrieve the text if using Pango markup -- -- Name: Model_Property -- Type: Object -- Descr: The model for the icon view -- -- Name: Orientation_Property -- Type: Enum -- Descr: How the text and icon of each item are positioned relative to -- each other -- -- Name: Pixbuf_Column_Property -- Type: Int -- Descr: Model column used to retrieve the icon pixbuf from -- -- Name: Reorderable_Property -- Type: Boolean -- Descr: View is reorderable -- -- Name: Row_Spacing_Property -- Type: Int -- Descr: Space which is inserted between grid rows -- -- Name: Selection_Mode_Property -- Type: Enum -- Descr: The selection mode -- -- Name: Spacing_Property -- Type: Int -- Descr: Space which is inserted between cells of an item -- -- Name: Text_Column_Property -- Type: Int -- Descr: Model column used to retrieve the text from -- -- Name: Tooltip_Column_Property -- Type: Int -- Descr: The column in the model containing the tooltip texts for -- the items -- -- Column_Spacing_Property : constant Glib.Properties.Property_Int; Columns_Property : constant Glib.Properties.Property_Int; Item_Width_Property : constant Glib.Properties.Property_Int; Margin_Property : constant Glib.Properties.Property_Int; Markup_Column_Property : constant Glib.Properties.Property_Int; Model_Property : constant Glib.Properties.Property_Object; Orientation_Property : constant Gtk.Enums.Property_Gtk_Orientation; Pixbuf_Column_Property : constant Glib.Properties.Property_Int; Reorderable_Property : constant Glib.Properties.Property_Boolean; Row_Spacing_Property : constant Glib.Properties.Property_Int; -- Selection_Mode_Property : constant Glib.Properties.Property_Enum; Spacing_Property : constant Glib.Properties.Property_Int; Text_Column_Property : constant Glib.Properties.Property_Int; Tooltip_Column_Property : constant Glib.Properties.Property_Int; ---------------------- -- Style Properties -- ---------------------- -- The following properties can be changed through the gtk theme and -- configuration files, and retrieved through Gtk.Widget.Style_Get_Property -- -- -- Name: Selection_Box_Alpha_Property -- Type: Uchar -- Descr: Opacity of the selection box -- -- Name: Selection_Box_Color_Property -- Type: Boxed -- Descr: Color of the selection box -- Selection_Box_Alpha_Property : constant Glib.Properties.Property_Uchar; Selection_Box_Color_Property : constant Gdk.Color.Property_Gdk_Color; ------------- -- Signals -- ------------- -- -- The following new signals are defined for this widget: -- -- - "activate_cursor_item" -- - "item_activated" -- - "move_cursor" -- - "select_all" -- - "select_cursor_item" -- - "selection_changed" -- - "set_scroll_adjustments" -- - "toggle_cursor_item" -- - "unselect_all" -- Signal_Activate_Cursor_Item : constant Glib.Signal_Name := "activate_cursor_item"; Signal_Item_Activated : constant Glib.Signal_Name := "item_activated"; Signal_Move_Cursor : constant Glib.Signal_Name := "move_cursor"; Signal_Select_All : constant Glib.Signal_Name := "select_all"; Signal_Select_Cursor_Item : constant Glib.Signal_Name := "select_cursor_item"; Signal_Selection_Changed : constant Glib.Signal_Name := "selection_changed"; Signal_Set_Scroll_Adjustments : constant Glib.Signal_Name := "set_scroll_adjustments"; Signal_Toggle_Cursor_Item : constant Glib.Signal_Name := "toggle_cursor_item"; Signal_Unselect_All : constant Glib.Signal_Name := "unselect_all"; private Selection_Box_Alpha_Property : constant Glib.Properties.Property_Uchar := Glib.Properties.Build ("selection-box-alpha"); Selection_Box_Color_Property : constant Gdk.Color.Property_Gdk_Color := Gdk.Color.Property_Gdk_Color (Glib.Build ("selection-box-color")); Column_Spacing_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("column-spacing"); Columns_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("columns"); Item_Width_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("item-width"); Margin_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("margin"); Markup_Column_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("markup-column"); Model_Property : constant Glib.Properties.Property_Object := Glib.Properties.Build ("model"); Orientation_Property : constant Gtk.Enums.Property_Gtk_Orientation := Gtk.Enums.Property_Gtk_Orientation (Glib.Build ("orientation")); Pixbuf_Column_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("pixbuf-column"); Reorderable_Property : constant Glib.Properties.Property_Boolean := Glib.Properties.Build ("reorderable"); Row_Spacing_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("row-spacing"); -- Selection_Mode_Property : constant Glib.Properties.Property_Enum := -- Glib.Properties.Build ("selection-mode"); Spacing_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("spacing"); Text_Column_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("text-column"); Tooltip_Column_Property : constant Glib.Properties.Property_Int := Glib.Properties.Build ("tooltip-column"); pragma Import (C, Get_Type, "gtk_icon_view_get_type"); end Gtk.Icon_View; -- binding might be useful later: -- No binding: gtk_icon_view_selected_foreach