gtk.FileFilter — a filter for selecting a file subset (new in PyGTK 2.4)
class gtk.FileFilter(gtk.Object): |
This widget is available in PyGTK 2.4 and above.
A gtk.FileFilter is an object that filters files based on a set of rules that it contains. The categories of information that gtk.FileFilter uses to accept or reject the file are given by the GTK FileFilter Flags Constants:
gtk.FILE_FILTER_FILENAME | The full path name of the file. |
gtk.FILE_FILTER_URI | The URI of the file. |
gtk.FILE_FILTER_DISPLAY_NAME | The simple name of the file as displayed in a file chooser. |
gtk.FILE_FILTER_MIME_TYPE | The MIME type of the file. |
The add_pattern() method adds a rule that only uses the display name (gtk.FILE_FILTER_DISPLAY_NAME) for filtering. The add_mime_type() method adds a rule that only uses the mime type (gtk.FILE_FILTER_MIME_TYPE) for filtering. To use the file URI (gtk.FILE_FILTER_URI) or filename (gtk.FILE_FILTER_FILENAME) you have to create a custom filter rule using a callback function that is registered with the add_custom() method.
The pattern rule uses file globbing to match the file display name:
The MIME type requires an exact match (no pattern matching).
|
Returns : | a new gtk.FileFilter |
This constructor is available in PyGTK 2.4 and above.
Creates a new gtk.FileFilter with no rules added to it. Such a filter doesn't pass any files, so it's not particularly useful until you add rules with the add_mime_type(), add_pattern() or add_custom() methods. To create a filter that accepts any file, use:
filter = gtk.FileFilter() filter.add_pattern("*") |
|
name : | the human-readable-name for the filter. |
This method is available in PyGTK 2.4 and above.
The set_name() method sets the human-readable name of the filter to the string in name. The string in name will be displayed in the file chooser user interface if there is a selectable list of filters.
|
Returns : | The human-readable name of the filter, or None. |
This method is available in PyGTK 2.4 and above.
The get_name() method returns the human-readable name for the filter or None if the name has not been set. See the set_name() method.
|
mime_type : | the name of a MIME type |
This method is available in PyGTK 2.4 and above.
The add_mime_type() method adds a rule allowing the mime type specified by mime_type to be matched. Sets the needs value to gtk.FILE_FILTER_MIME_TYPE (see the get_needed() method for more information).
|
pattern : | a shell style glob pattern |
This method is available in PyGTK 2.4 and above.
The add_pattern() method adds a rule allowing the shell style glob pattern specified by pattern to filter file names. Sets the needs value to gtk.FILE_FILTER_DISPLAY_NAME (see the get_needed() method for more information).
The pattern rule uses file globbing to match the file display name:
|
needed : | a bitfield of flags indicating the information that the custom filter function needs. |
func : | a callback function; if the function returns TRUE, then the file will be displayed. |
data : | the data to pass to func |
This method is available in PyGTK 2.4 and above.
The add_custom() method adds a rule to a filter that allows files to be filtered based on a custom callback function specified by func. The bitfield needed provides information about what sorts of information that the filter function needs; this allows GTK+ to avoid retrieving expensive information when it isn't needed by the filter. needed is a combination of:
gtk.FILE_FILTER_FILENAME | The full path name of the file. |
gtk.FILE_FILTER_URI | The URI of the file. |
gtk.FILE_FILTER_DISPLAY_NAME | The simple name of the file as displayed in a file chooser. |
gtk.FILE_FILTER_MIME_TYPE | The MIME type of the file. |
The signature of func is:
def filefilterfunction(filter_info, data): |
where filter_info is a 4-tuple where each item is either a string or None. The strings correspond to: the full pathname of the file, the URI of the file, the display name of the file and the MIME type of the file. data is the value passed in as the data parameter in the add_custom() method. Using a custom filter function is the only way to filter files based on file URIs or full file pathnames.
|
Returns : | a bitfield of flags indicating the needed fields when calling filter() |
This method is available in PyGTK 2.4 and above.
The get_needed() method returns the information that is needed by the gtk.FileFilter to filter the file info using the filter()
This method is not typically used by applications; it is intended principally for use in the implementation of gtk.FileChooser.
|
filter_info : | a 4-tuple containing the information about a file. |
Returns : | TRUE if the file should be displayed |
This method is available in PyGTK 2.4 and above.
The filter() method tests whether a file should be displayed according to the file filter rules. The 4-tuple filter_info should include the fields returned from the get_needed() method:
This method will not typically be used by applications; it is intended principally for use in the implementation of gtk.FileChooser.
|
This method is available in PyGTK 2.6 and above.
The add_pixbuf_formats() method adds a rule allowing image files in the formats supported by gtk.gdk.Pixbuf.