----------------------------------------------------------------------- -- 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. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ----------------------------------------------------------------------- -- -- A Gtk_Recent_Filter can be used to restrict the files being shown in a -- Gtk_Recent_Chooser. Files can be filtered based on their name (with -- Add_Pattern), on their mime type (with Add_Mime_Type), on the application -- that has registered them (with Add_Application), or by a custom filter -- function (with Add_Custom). -- -- Filtering by mime type handles aliasing and subclassing of mime types; -- e.g. a filter for text/plain also matches a file with mime type -- application/rtf, since application/rtf is a subclass of text/plain. -- Note that Gtk_Recent_Filter allows wildcards for the subtype of a mime -- type, so you can e.g. filter for image/*. -- -- Normally, filters are used by adding them to a Gtk_Recent_Chooser, see -- Gtk.Recent_Chooser.Add_Filter, but it is also possible to manually use a -- filter on a file with Filter. -- -- 2.16.6 with Glib.GSlist; with Gtk.Object; package Gtk.Recent_Filter is type Gtk_Recent_Filter_Record is new Gtk.Object.Gtk_Object_Record with private; type Gtk_Recent_Filter is access all Gtk_Recent_Filter_Record'Class; function Get_Type return GType; function Convert (Widget : Gtk_Recent_Filter) return System.Address; function Convert (Widget : System.Address) return Gtk_Recent_Filter; package Gtk_Recent_Filter_List is new Glib.GSlist.Generic_SList (Gtk_Recent_Filter); -- Instantiation of a singly-linked list of Gtk_Recent_Filter's. procedure Gtk_New (Widget : out Gtk_Recent_Filter); procedure Initialize (Widget : access Gtk_Recent_Filter_Record'Class); -- Creates a new Gtk_Recent_Filter with no rules added to it. -- Such filter does not accept any recently used resources, so is not -- particularly useful until you add rules with Add_Pattern, Add_Mime_Type, -- Add_Application, Add_Age. To create a filter that accepts any recently -- used resource, use: -- -- declare -- Filter : Gtk_Recent_Filter; -- begin -- Gtk_New (Filter); -- Add_Pattern (Filter, "*"); -- end; procedure Add_Age (Filter : access Gtk_Recent_Filter_Record; Days : Gint); -- Adds a rule that allows resources based on their age - that is, the -- number of days elapsed since they were last modified. procedure Add_Application (Filter : access Gtk_Recent_Filter_Record; Application : UTF8_String); -- Adds a rule that allows resources based on the name of the application -- that has registered them. procedure Add_Group (Filter : access Gtk_Recent_Filter_Record; Group : UTF8_String); -- Adds a rule that allows resources based on the name of the group -- to which they belong procedure Add_Mime_Type (Filter : access Gtk_Recent_Filter_Record; Mime_Type : UTF8_String); -- Adds a rule that allows resources based on their registered MIME type. procedure Add_Pattern (Filter : access Gtk_Recent_Filter_Record; Pattern : UTF8_String); -- Adds a rule that allows resources based on a pattern matching their -- display name. procedure Add_Pixbuf_Formats (Filter : access Gtk_Recent_Filter_Record); -- Adds a rule allowing image files in the formats supported -- by Gdk_Pixbuf. function Get_Name (Filter : access Gtk_Recent_Filter_Record) return UTF8_String; procedure Set_Name (Filter : access Gtk_Recent_Filter_Record; Name : UTF8_String); -- Gets/Sets the human-readable name of the filter; this is the string -- that will be displayed in the recently used resources selector -- user interface if there is a selectable list of filters. private type Gtk_Recent_Filter_Record is new Gtk.Object.Gtk_Object_Record with null record; pragma Import (C, Get_Type, "gtk_recent_filter_get_type"); end Gtk.Recent_Filter;