(define-interface FileChooser
  (in-module "Gtk")
  (c-name "GtkFileChooser")
  (gtype-id "GTK_TYPE_FILE_CHOOSER")
)

(define-method set_action
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_action")
  (return-type "none")
  (parameters
    '("GtkFileChooserAction" "action")
  )
)

(define-method get_action
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_action")
  (return-type "GtkFileChooserAction")
)

(define-method set_local_only
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_local_only")
  (return-type "none")
  (parameters
    '("gboolean" "local_only")
  )
)

(define-method get_local_only
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_local_only")
  (return-type "gboolean")
)

(define-method set_select_multiple
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_select_multiple")
  (return-type "none")
  (parameters
    '("gboolean" "select_multiple")
  )
)

(define-method get_select_multiple
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_select_multiple")
  (return-type "gboolean")
)

(define-method set_show_hidden
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_show_hidden")
  (return-type "none")
  (parameters
    '("gboolean" "show_hidden")
  )
)

(define-method get_show_hidden
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_show_hidden")
  (return-type "gboolean")
)

(define-method set_do_overwrite_confirmation
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_do_overwrite_confirmation")
  (return-type "none")
  (parameters
    '("gboolean" "do_overwrite_confirmation")
  )
)

(define-method get_do_overwrite_confirmation
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_do_overwrite_confirmation")
  (return-type "gboolean")
)

(define-method set_current_name
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_current_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method get_filename
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_filename")
  (caller-owns-return #t)
  (return-type "gchar*")
)

(define-method set_filename
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_filename")
  (return-type "gboolean")
  (parameters
    '("const-char*" "filename")
  )
)

(define-method select_filename
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_select_filename")
  (return-type "gboolean")
  (parameters
    '("const-char*" "filename")
  )
)

(define-method unselect_filename
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_unselect_filename")
  (return-type "none")
  (parameters
    '("const-char*" "filename")
  )
)

(define-method select_all
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_select_all")
  (return-type "none")
)

(define-method unselect_all
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_unselect_all")
  (return-type "none")
)

(define-method get_filenames
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_filenames")
  (return-type "GSList*")
)

(define-method set_current_folder
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_current_folder")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "filename")
  )
)

(define-method get_current_folder
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_current_folder")
  (caller-owns-return #t)
  (return-type "gchar*")
)

(define-method get_uri
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_uri")
  (caller-owns-return #t)
  (return-type "gchar*")
)

(define-method set_uri
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_uri")
  (return-type "gboolean")
  (parameters
    '("const-char*" "uri")
  )
)

(define-method select_uri
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_select_uri")
  (return-type "gboolean")
  (parameters
    '("const-char*" "uri")
  )
)

(define-method unselect_uri
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_unselect_uri")
  (return-type "none")
  (parameters
    '("const-char*" "uri")
  )
)

(define-method get_uris
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_uris")
  (return-type "GSList*")
)

(define-method set_current_folder_uri
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_current_folder_uri")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "uri")
  )
)

(define-method get_current_folder_uri
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_current_folder_uri")
  (caller-owns-return #t)
  (return-type "gchar*")
)

(define-method set_preview_widget
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_preview_widget")
  (return-type "none")
  (parameters
    '("GtkWidget*" "preview_widget")
  )
)

(define-method get_preview_widget
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_preview_widget")
  (return-type "GtkWidget*")
)

(define-method set_preview_widget_active
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_preview_widget_active")
  (return-type "none")
  (parameters
    '("gboolean" "active")
  )
)

(define-method get_preview_widget_active
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_preview_widget_active")
  (return-type "gboolean")
)

(define-method set_use_preview_label
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_use_preview_label")
  (return-type "none")
  (parameters
    '("gboolean" "use_label")
  )
)

(define-method get_use_preview_label
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_use_preview_label")
  (return-type "gboolean")
)

(define-method get_preview_filename
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_preview_filename")
  (caller-owns-return #t)
  (return-type "char*")
)

(define-method get_preview_uri
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_preview_uri")
  (caller-owns-return #t)
  (return-type "char*")
)

(define-method set_extra_widget
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_extra_widget")
  (return-type "none")
  (parameters
    '("GtkWidget*" "extra_widget")
  )
)

(define-method get_extra_widget
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_extra_widget")
  (return-type "GtkWidget*")
)

(define-method add_filter
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_add_filter")
  (return-type "none")
  (parameters
    '("GtkFileFilter*" "filter")
  )
)

(define-method remove_filter
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_remove_filter")
  (return-type "none")
  (parameters
    '("GtkFileFilter*" "filter")
  )
)

(define-method list_filters
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_list_filters")
  (caller-owns-return #l)
  (return-type "GSList-GtkFileFilter*")
)

(define-method set_filter
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_filter")
  (return-type "none")
  (parameters
    '("GtkFileFilter*" "filter")
  )
)

(define-method get_filter
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_filter")
  (return-type "GtkFileFilter*")
)

(define-method add_shortcut_folder
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_add_shortcut_folder")
  (return-type "gboolean")
  (parameters
    '("const-char*" "folder")
    '("GError**" "error")
  )
)

(define-method remove_shortcut_folder
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_remove_shortcut_folder")
  (return-type "gboolean")
  (parameters
    '("const-char*" "folder")
    '("GError**" "error")
  )
)

(define-method list_shortcut_folders
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_list_shortcut_folders")
  (return-type "GSList*")
)

(define-method add_shortcut_folder_uri
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_add_shortcut_folder_uri")
  (return-type "gboolean")
  (parameters
    '("const-char*" "uri")
    '("GError**" "error")
  )
)

(define-method remove_shortcut_folder_uri
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_remove_shortcut_folder_uri")
  (return-type "gboolean")
  (parameters
    '("const-char*" "uri")
    '("GError**" "error")
  )
)

(define-method list_shortcut_folder_uris
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_list_shortcut_folder_uris")
  (return-type "GSList*")
)

(define-method set_create_folders
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_set_create_folders")
  (return-type "none")
  (parameters
    '("gboolean" "create_folders")
  )
)

(define-method get_create_folders
  (of-object "GtkFileChooser")
  (c-name "gtk_file_chooser_get_create_folders")
  (return-type "gboolean")
)

(define-signal confirm_overwrite
  (of-object "GtkFileChooser")
  (return-type "GtkFileChooserConfirmation")
)

(define-signal current_folder_changed
  (of-object "GtkFileChooser")
  (return-type "none")
)

(define-signal file_activated
  (of-object "GtkFileChooser")
  (return-type "none")
)

(define-signal selection_changed
  (of-object "GtkFileChooser")
  (return-type "none")
)

(define-signal update_preview
  (of-object "GtkFileChooser")
  (return-type "none")
)

