Description
A 
Gtk_File_Filter can be used to restrict the files being shown in a
Gtk_File_Chooser. Files can be filtered based on their name (with
Add_Pattern), on their mime type (with 
Add_Mime_Type), or by a custom
filter function (with 
Add_Custom).
Filtering by mime types 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_File_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_File_Chooser, see
Add_Filter, but it is also possible to manually use a filter on a file with
Filter.
  
  
  
  
   Types
   
     - 
         type File_Filter_Flags is mod 2 ** 8; 
- 
         type File_Filter_Func is access function
     (Info : File_Filter_Info) return Gboolean; 
- 
         
         
- 
         type Gtk_File_Filter is access all Gtk_File_Filter_Record'Class; 
- 
         
         
  
   
   
  
   Subprograms
   
     - 
function Get_Filename     (Info : File_Filter_Info) return String; function Get_Uri          (Info : File_Filter_Info) return String; function Get_Display_Name (Info : File_Filter_Info) return String; function Get_Mime_Type    (Info : File_Filter_Info) return String; 
- 
function Get_Type return GType; 
- 
procedure Gtk_New    (Filter : out Gtk_File_Filter); procedure Initialize (Filter : access Gtk_File_Filter_Record'Class); 
- 
procedure Set_Name
  (Filter : access Gtk_File_Filter_Record; Name : String); function Get_Name (Filter : access Gtk_File_Filter_Record) return String; 
- 
procedure Add_Mime_Type
  (Filter    : access Gtk_File_Filter_Record;
   Mime_Type : String); 
- 
procedure Add_Pattern
  (Filter  : access Gtk_File_Filter_Record;
   Pattern : String); 
- 
procedure Add_Pixbuf_Formats
  (Filter : access Gtk_File_Filter_Record); 
- 
procedure Add_Custom
  (Filter : access Gtk_File_Filter_Record;
   Needed : File_Filter_Flags;
   Func   : File_Filter_Func;
   Data   : System.Address := System.Null_Address;
   Notify : G_Destroy_Notify_Address := null);