# Module GtkFile.FileChooser

    module FileChooser: sig .. end

    include GtkFileProps.FileChooser

    type error =

`|` | `ERROR_NONEXISTENT`
`|` | `ERROR_BAD_FILENAME`

    exception Error of error * string

    val set_current_name : [> Gtk.file_chooser ] Gtk.obj -> string -> unit

    val get_filename : [> Gtk.file_chooser ] Gtk.obj -> string option

    val set_filename : [> Gtk.file_chooser ] Gtk.obj -> string -> bool

    val select_filename : [> Gtk.file_chooser ] Gtk.obj -> string -> bool

    val unselect_filename : [> Gtk.file_chooser ] Gtk.obj -> string -> unit

    val select_all : [> Gtk.file_chooser ] Gtk.obj -> unit

    val unselect_all : [> Gtk.file_chooser ] Gtk.obj -> unit

    val get_filenames : [> Gtk.file_chooser ] Gtk.obj -> string list

    val get_current_folder : [> Gtk.file_chooser ] Gtk.obj -> string option

    val set_current_folder : [> Gtk.file_chooser ] Gtk.obj -> string -> bool

    val get_uri : [> Gtk.file_chooser ] Gtk.obj -> string option

    val set_uri : [> Gtk.file_chooser ] Gtk.obj -> string -> bool

    val select_uri : [> Gtk.file_chooser ] Gtk.obj -> string -> bool

    val unselect_uri : [> Gtk.file_chooser ] Gtk.obj -> string -> unit

    val get_uris : [> Gtk.file_chooser ] Gtk.obj -> string list

    val get_current_folder_uri : [> Gtk.file_chooser ] Gtk.obj -> string

    val set_current_folder_uri : [> Gtk.file_chooser ] Gtk.obj -> string -> bool

    val get_preview_filename : [> Gtk.file_chooser ] Gtk.obj -> string option

    val get_preview_uri : [> Gtk.file_chooser ] Gtk.obj -> string option

    val add_filter : [> Gtk.file_chooser ] Gtk.obj -> Gtk.file_filter Gtk.obj -> unit

    val remove_filter : [> Gtk.file_chooser ] Gtk.obj -> Gtk.file_filter Gtk.obj -> unit

    val list_filters : [> Gtk.file_chooser ] Gtk.obj -> Gtk.file_filter Gtk.obj list

    val add_shortcut_folder : [> Gtk.file_chooser ] Gtk.obj -> string -> unit

    val remove_shortcut_folder : [> Gtk.file_chooser ] Gtk.obj -> string -> unit

    val list_shortcut_folders : [> Gtk.file_chooser ] Gtk.obj -> string list

    val add_shortcut_folder_uri : [> Gtk.file_chooser ] Gtk.obj -> string -> unit

    val remove_shortcut_folder_uri : [> Gtk.file_chooser ] Gtk.obj -> string -> unit

    val list_shortcut_folder_uris : [> Gtk.file_chooser ] Gtk.obj -> string list

    val dialog_create : [ `bin | `container | `dialog | `filechooser | `gtk | `widget | `window ]
           Gobject.param list ->
           [ `bin | `container | `dialog | `filechooser | `gtk | `widget | `window ]
           Gtk.obj

    val widget_create : [ `filechooser | `gtk | `widget ] Gobject.param list ->
           [ `filechooser | `gtk | `widget ] Gtk.obj