-----------------------------------------------------------------------
-- GtkAda - Ada95 binding for Gtk+/Gnome --
-- --
-- Copyright (C) 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_Recent_Chooser is an interface that can be implemented by widgets
-- displaying the list of recently used files. In GTK+, the main objects that
-- implement this interface are Gtk_Recent_Chooser_Widget,
-- Gtk_Recent_Chooser_Dialog and Gtk_Recent_Chooser_Menu.
--
-- 2.16.6
with GNAT.Strings;
with Glib.Error;
with Glib.Properties;
with Glib.Types;
with Gtk.Recent_Filter;
with Gtk.Recent_Manager;
package Gtk.Recent_Chooser is
type Gtk_Recent_Chooser is new Glib.Types.GType_Interface;
function Error_Quark return GQuark;
function Get_Type return GType;
--------------------
-- Items and URIs --
--------------------
function Get_Current_Item
(Chooser : Gtk_Recent_Chooser) return Gtk.Recent_Manager.Gtk_Recent_Info;
-- Gets the Gtk_Recent_Info currently selected by Chooser.
-- Use Gtk.Recent_Manager.Unref when you have finished using it.
function Get_Current_Uri (Chooser : Gtk_Recent_Chooser) return String;
function Set_Current_Uri
(Chooser : Gtk_Recent_Chooser;
Uri : String;
Error : Glib.Error.GError := null)
return Boolean;
-- Gets/Sets Uri as the current URI for Chooser. Set_Current_Uri returns
-- whether the URI was found.
function Get_Items
(Chooser : Gtk_Recent_Chooser)
return Gtk.Recent_Manager.Gtk_Recent_Info_List.Glist;
-- Gets the list of recently used resources in form of Gtk_Recent_Info
-- objects.
--
-- The return value of this function is affected by the "sort-type" and
-- "limit" properties of Chooser.
--
-- You should Gtk.Recent_Manager.Unref on every item of the list, and then
-- free the list itself using Gtk_Recent_Info_List.Free.
function Get_Uris
(Chooser : Gtk_Recent_Chooser) return GNAT.Strings.String_List;
-- Gets the URIs of the recently used resources.
--
-- The return value of this function is affected by the "sort-type" and
-- "limit" properties of Chooser.
function Get_Limit (Chooser : Gtk_Recent_Chooser) return Gint;
procedure Set_Limit
(Chooser : Gtk_Recent_Chooser;
Limit : Gint);
-- Gets/Sets the number of items that should be returned by
-- Get_Items and Get_Uris. Use -1 to specify all items.
---------------------
-- Display Options --
---------------------
function Get_Local_Only (Chooser : Gtk_Recent_Chooser) return Boolean;
procedure Set_Local_Only
(Chooser : Gtk_Recent_Chooser;
Local_Only : Boolean);
-- Whether only local resources, that is resources using the file:// URI
-- scheme, should be shown in the recently used resources selector. If
-- Local_Only is True (the default) then the shown resources are guaranteed
-- to be accessible through the operating system native file system.
function Get_Show_Icons (Chooser : Gtk_Recent_Chooser) return Boolean;
procedure Set_Show_Icons
(Chooser : Gtk_Recent_Chooser;
Show_Icons : Boolean);
-- Whether Chooser should show an icon near the resource.
function Get_Show_Not_Found (Chooser : Gtk_Recent_Chooser) return Boolean;
procedure Set_Show_Not_Found
(Chooser : Gtk_Recent_Chooser;
Show_Not_Found : Boolean);
-- Whether Chooser should display the recently used resources that
-- it didn't find. This only applies to local resources.
function Get_Show_Private (Chooser : Gtk_Recent_Chooser) return Boolean;
procedure Set_Show_Private
(Chooser : Gtk_Recent_Chooser;
Show_Private : Boolean);
-- Whether to show recently used resources marked registered as private.
function Get_Show_Tips (Chooser : Gtk_Recent_Chooser) return Boolean;
procedure Set_Show_Tips
(Chooser : Gtk_Recent_Chooser;
Show_Tips : Boolean);
-- Whether to show a tooltip containing the full path of each
-- recently used resource in a Gtk_Recent_Chooser widget.
-------------
-- Filters --
-------------
procedure Add_Filter
(Chooser : Gtk_Recent_Chooser;
Filter : access Gtk.Recent_Filter.Gtk_Recent_Filter_Record'Class);
-- Adds Filter to the list of Gtk_Recent_Filter objects held by Chooser.
--
-- If no previous filter objects were defined, this function will call
-- Set_Filter.
procedure Remove_Filter
(Chooser : Gtk_Recent_Chooser;
Filter : access Gtk.Recent_Filter.Gtk_Recent_Filter_Record'Class);
-- Removes Filter from the list of Gtk_Recent_Filter objects held by
-- Chooser.
function Get_Filter
(Chooser : Gtk_Recent_Chooser)
return Gtk.Recent_Filter.Gtk_Recent_Filter;
procedure Set_Filter
(Chooser : Gtk_Recent_Chooser;
Filter : access Gtk.Recent_Filter.Gtk_Recent_Filter_Record'Class);
-- Gets/Sets Filter as the current Gtk_Recent_Filter object used by Chooser
-- to affect the displayed recently used resources.
function List_Filters
(Chooser : Gtk_Recent_Chooser)
return Gtk.Recent_Filter.Gtk_Recent_Filter_List.GSlist;
-- Gets the Gtk_Recent_Filter objects held by Chooser.
-- You should free the returned list using
-- Gtk.Recent_Filter.Gtk_Recent_Filter_List.Free.
---------------
-- Selection --
---------------
function Get_Select_Multiple (Chooser : Gtk_Recent_Chooser) return Boolean;
procedure Set_Select_Multiple
(Chooser : Gtk_Recent_Chooser;
Select_Multiple : Boolean);
-- Whether Chooser can select multiple items.
procedure Select_All (Chooser : Gtk_Recent_Chooser);
procedure Unselect_All (Chooser : Gtk_Recent_Chooser);
-- Selects/Unselects all the items inside Chooser, if the Chooser supports
-- multiple selection.
function Select_Uri
(Chooser : Gtk_Recent_Chooser;
Uri : String;
Error : Glib.Error.GError := null)
return Boolean;
procedure Unselect_Uri
(Chooser : Gtk_Recent_Chooser;
Uri : String);
-- Selects/Unselects Uri inside Chooser. Select_Uri returns whether the
-- URI was found.
-------------
-- Sorting --
-------------
type Gtk_Recent_Sort_Type is
(Gtk_Recent_Sort_None,
Gtk_Recent_Sort_Mru,
Gtk_Recent_Sort_Lru,
Gtk_Recent_Sort_Custom);
pragma Convention (C, Gtk_Recent_Sort_Type);
function Get_Sort_Type
(Chooser : Gtk_Recent_Chooser) return Gtk_Recent_Sort_Type;
procedure Set_Sort_Type
(Chooser : Gtk_Recent_Chooser;
Sort_Type : Gtk_Recent_Sort_Type);
-- Changes the sorting order of the recently used resources list displayed
-- by Chooser.
generic
type Data_Type is private;
package User_Sort_Func is
type Data_Type_Access is access Data_Type;
type Comparison is (Before, Equal, After);
type Gtk_Recent_Sort_Func is access function
(Left, Right : Gtk.Recent_Manager.Gtk_Recent_Info;
User_Data : Data_Type_Access)
return Comparison;
-- Return whether the Left comes Before, After, or is Equal to,
-- the right.
type Destroy_Notify is access procedure (User_Data : in out Data_Type);
-- This procedure will be called just prior to the destruction of
-- Sort_Data.
procedure Set_Sort_Func
(Chooser : Gtk_Recent_Chooser;
Sort_Func : Gtk_Recent_Sort_Func;
Sort_Data : Data_Type_Access := null;
Data_Destroy : Destroy_Notify := null);
-- Sets the comparison function used when sorting to be Sort_Func. If
-- the Chooser has the sort type set to Gtk_Recent_Sort_Custom then
-- the chooser will sort using this function.
end User_Sort_Func;
-----------------
-- Obsolescent --
-----------------
function Get_Show_Numbers
(Chooser : Gtk_Recent_Chooser)
return Boolean;
pragma Obsolescent; -- Get_Show_Numbers
procedure Set_Show_Numbers
(Chooser : Gtk_Recent_Chooser;
Show_Numbers : Boolean);
pragma Obsolescent; -- Set_Show_Numbers
-- Whether to show recently used resources prepended by a unique number.
--
-- Deprecated: 2.12: Use Gtk.Recent_Chooser_Menu.Get_Show_Numbers and
-- Gtk.Recent_Chooser_Menu.Set_Show_Numbers instead.
----------------
-- Properties --
----------------
--
-- Name: Filter_Property
-- Type: Object
-- Descr: The current filter for selecting which resources are displayed
--
-- Name: Limit_Property
-- Type: Int
-- Descr: The maximum number of items to be displayed
--
-- Name: Local_Only_Property
-- Type: Boolean
-- Descr: Whether the selected resource(s) should be limited to local
-- file: URIs
--
-- Name: Recent_Manager_Property
-- Type: Object
-- Descr: The RecentManager object to use
--
-- Name: Select_Multiple_Property
-- Type: Boolean
-- Descr: Whether to allow multiple items to be selected
--
-- Name: Show_Icons_Property
-- Type: Boolean
-- Descr: Whether there should be an icon near the item
--
-- Name: Show_Not_Found_Property
-- Type: Boolean
-- Descr: Whether the items pointing to unavailable resources should be
-- displayed
--
-- Name: Show_Private_Property
-- Type: Boolean
-- Descr: Whether the private items should be displayed
--
-- Name: Show_Tips_Property
-- Type: Boolean
-- Descr: Whether there should be a tooltip on the item
--
-- Name: Sort_Type_Property
-- Type: Enum
-- Descr: The sorting order of the items displayed
--
--
Filter_Property : constant Glib.Properties.Property_Object;
Limit_Property : constant Glib.Properties.Property_Int;
Local_Only_Property : constant Glib.Properties.Property_Boolean;
Recent_Manager_Property : constant Glib.Properties.Property_Object;
Select_Multiple_Property : constant Glib.Properties.Property_Boolean;
Show_Icons_Property : constant Glib.Properties.Property_Boolean;
Show_Not_Found_Property : constant Glib.Properties.Property_Boolean;
Show_Private_Property : constant Glib.Properties.Property_Boolean;
Show_Tips_Property : constant Glib.Properties.Property_Boolean;
Sort_Type_Property : constant Glib.Properties.Property_Enum;
private
Filter_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("filter");
Limit_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("limit");
Local_Only_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("local-only");
Recent_Manager_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("recent-manager");
Select_Multiple_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("select-multiple");
Show_Icons_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("show-icons");
Show_Not_Found_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("show-not-found");
Show_Private_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("show-private");
Show_Tips_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("show-tips");
Sort_Type_Property : constant Glib.Properties.Property_Enum :=
Glib.Properties.Build ("sort-type");
pragma Import (C, Get_Type, "gtk_recent_chooser_get_type");
pragma Import (C, Error_Quark, "gtk_recent_chooser_error_quark");
end Gtk.Recent_Chooser;