code: func AppChooserDialogNewForContentType(parent *Window, flags DialogFlags, content_type string) (*AppChooserDialog, error) {
  	cstr := C.CString(content_type)
  	defer C.free(unsafe.Pointer(cstr))
  	c := C.gtk_app_chooser_dialog_new_for_content_type(parent.native(), C.GtkDialogFlags(flags), (*C.gchar)(cstr))
  	if c == nil {
  		return nil, nilPtrErr
  	}
  	return wrapAppChooserDialog(glib.Take(unsafe.Pointer(c))), nil
  }
docs: // TODO: Uncomment when gio builds successfully
  // AppChooserDialogNew() is a wrapper around gtk_app_chooser_dialog_new().
  // func AppChooserDialogNew(parent *Window, flags DialogFlags, file *gio.File) (*AppChooserDialog, error) {
  // 	var gfile *C.GFile
  // 	if file != nil {
  // 		gfile = (*C.GFile)(unsafe.Pointer(file.Native()))
  // 	}
  // 	c := C.gtk_app_chooser_dialog_new(parent.native(), C.GtkDialogFlags(flags), gfile)
  // 	if c == nil {
  // 		return nil, nilPtrErr
  // 	}
  // 	return wrapAppChooserDialog(glib.Take(unsafe.Pointer(c))), nil
  // }
  // AppChooserDialogNewForContentType() is a wrapper around gtk_app_chooser_dialog_new_for_content_type().