(define-object FileChooserButton
  (in-module "Gtk")
  (parent "GtkHBox")
  (implements "GtkFileChooser")
  (c-name "GtkFileChooserButton")
  (gtype-id "GTK_TYPE_FILE_CHOOSER_BUTTON")
)

(define-function file_chooser_button_new
  (is-constructor-of "GtkFileChooserButton")
  (c-name "gtk_file_chooser_button_new")
  (caller-owns-return #t)
  (return-type "GtkWidget*")
  (parameters
    '("const-gchar*" "title")
    '("GtkFileChooserAction" "action")
  )
)

(define-function file_chooser_button_new_with_dialog
  (is-constructor-of "GtkFileChooserButton")
  (c-name "gtk_file_chooser_button_new_with_dialog")
  (caller-owns-return #t)
  (return-type "GtkWidget*")
  (parameters
    '("GtkWidget*" "dialog")
  )
)

(define-method get_title
  (of-object "GtkFileChooserButton")
  (c-name "gtk_file_chooser_button_get_title")
  (return-type "const-gchar*")
)

(define-method set_title
  (of-object "GtkFileChooserButton")
  (c-name "gtk_file_chooser_button_set_title")
  (return-type "none")
  (parameters
    '("const-gchar*" "title")
  )
)

(define-method get_width_chars
  (of-object "GtkFileChooserButton")
  (c-name "gtk_file_chooser_button_get_width_chars")
  (return-type "gint")
)

(define-method set_width_chars
  (of-object "GtkFileChooserButton")
  (c-name "gtk_file_chooser_button_set_width_chars")
  (return-type "none")
  (parameters
    '("gint" "n_chars")
  )
)

(define-method get_focus_on_click
  (of-object "GtkFileChooserButton")
  (c-name "gtk_file_chooser_button_get_focus_on_click")
  (return-type "gboolean")
)

(define-method set_focus_on_click
  (of-object "GtkFileChooserButton")
  (c-name "gtk_file_chooser_button_set_focus_on_click")
  (return-type "none")
  (parameters
    '("gboolean" "focus_on_click")
  )
)

(define-virtual file_set
  (of-object "GtkFileChooserButton")
  (return-type "none")
)
