("GtkFileChooser"
(:cffi gtk::current-name gtk::file-chooser-current-name (:string :free-to-foreign t :encoding :utf-8)
nil "gtk_file_chooser_set_current_name")
- (:cffi gtk::filename gtk::file-chooser-filename (glib:g-string :free-from-foreign t :free-to-foreign t)
+ (:cond :+win32
+ :cffi gtk::filename gtk::file-chooser-filename (glib:g-string :free-from-foreign t :free-to-foreign t)
+ "gtk_file_chooser_get_filename_utf8" "gtk_file_chooser_set_filename_utf8")
+ (:cond :-win32
+ :cffi gtk::filename gtk::file-chooser-filename (glib:g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_filename" "gtk_file_chooser_set_filename")
- (:cffi gtk::current-folder gtk::file-chooser-current-folder (glib:g-string :free-from-foreign t :free-to-foreign t)
+ (:cond :+win32
+ :cffi gtk::current-folder gtk::file-chooser-current-folder (glib:g-string :free-from-foreign t :free-to-foreign t)
+ "gtk_file_chooser_get_current_folder_utf8" "gtk_file_chooser_set_current_folder_utf8")
+ (:cond :-win32
+ :cffi gtk::current-folder gtk::file-chooser-current-folder (glib:g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_current_folder" "gtk_file_chooser_set_current_folder")
(:cffi gtk::uri gtk::file-chooser-uri (glib:g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_uri" "gtk_file_chooser_set_uri")
(:cffi gtk::current-folder-uri gtk::file-chooser-current-folder-uri (glib:g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_current_folder_uri" "gtk_file_chooser_set_current_folder_uri")
- (:cffi gtk::preview-filename gtk::file-chooser-preview-filename (glib:g-string :free-from-foreign t :free-to-foreign t)
+ (:cond :+win32
+ :cffi gtk::preview-filename gtk::file-chooser-preview-filename (glib:g-string :free-from-foreign t :free-to-foreign t)
+ "gtk_file_chooser_get_preview_filename_utf8" nil)
+ (:cond :-win32
+ :cffi gtk::preview-filename gtk::file-chooser-preview-filename (glib:g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_preview_filename" nil)
(:cffi gtk::preview-uri gtk::file-chooser-preview-uri (glib:g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_preview_uri" nil))
(write-char (char-downcase c) stream))
(write-string "_get_type" stream)))
+(defclass print-readtime-condition ()
+ ((condition :initarg :condition)))
+
+(defmethod print-object ((o print-readtime-condition) stream)
+ (format stream "#~A" (slot-value o 'condition)))
+
(defun get-g-class-definition (type &optional lisp-name-package)
(when (and (stringp type) (null (ignore-errors (gtype type))))
(let ((type-init-name (probable-type-init-name type)))
(,@(mapcar (lambda (property)
(property->property-definition name property))
own-properties)
- ,@(cdr (find g-name *additional-properties* :key 'car :test 'string=))))))
+ ,@(mapcan (lambda (property-definition)
+ (if (eq :cond (car property-definition))
+ (list (make-instance 'print-readtime-condition :condition (cadr property-definition)) (cddr property-definition))
+ (list property-definition)))
+ (cdr (find g-name *additional-properties* :key 'car :test 'string=)))))))
(defun get-g-interface-definition (interface &optional lisp-name-package)
(when (and (stringp interface) (null (ignore-errors (gtype interface))))
,@(append (mapcar (lambda (property)
(property->property-definition name property))
properties)
- (cdr (find g-name *additional-properties* :key 'car :test 'string=))))))
+ (mapcan (lambda (property-definition)
+ (if (eq :cond (car property-definition))
+ (list (make-instance 'print-readtime-condition :condition (cadr property-definition)) (cddr property-definition))
+ (list property-definition)))
+ (cdr (find g-name *additional-properties* :key 'car :test 'string=)))))))
(defun get-g-class-definitions-for-root-1 (type)
(unless (member (gtype type) *generation-exclusions* :test 'g-type=)
(:cffi current-name file-chooser-current-name
(:string :free-to-foreign t :encoding :utf-8) nil
"gtk_file_chooser_set_current_name")
+ #+win32
+ (:cffi filename file-chooser-filename
+ (g-string :free-from-foreign t :free-to-foreign t)
+ "gtk_file_chooser_get_filename_utf8" "gtk_file_chooser_set_filename_utf8")
+ #-win32
(:cffi filename file-chooser-filename
(g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_filename" "gtk_file_chooser_set_filename")
+ #+win32
+ (:cffi current-folder file-chooser-current-folder
+ (g-string :free-from-foreign t :free-to-foreign t)
+ "gtk_file_chooser_get_current_folder_utf8"
+ "gtk_file_chooser_set_current_folder_utf8")
+ #-win32
(:cffi current-folder file-chooser-current-folder
(g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_current_folder" "gtk_file_chooser_set_current_folder")
(g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_current_folder_uri"
"gtk_file_chooser_set_current_folder_uri")
+ #+win32
+ (:cffi preview-filename file-chooser-preview-filename
+ (g-string :free-from-foreign t :free-to-foreign t)
+ "gtk_file_chooser_get_preview_filename_utf8" nil)
+ #-win32
(:cffi preview-filename file-chooser-preview-filename
(g-string :free-from-foreign t :free-to-foreign t)
"gtk_file_chooser_get_preview_filename" nil)
; TODO: gtk_color_selection_set_change_palette_with_screen_hook
-(defcfun (file-chooser-select-filename "gtk_file_chooser_select_filename") :boolean
+(defcfun (file-chooser-select-filename #+win32 "gtk_file_chooser_select_filename_utf8"
+ #-win32 "gtk_file_chooser_select_filename") :boolean
(file-chooser g-object)
(filename :string))
(export 'file-chooser-select-filename)
-(defcfun (file-chooser-unselect-filename "gtk_file_chooser_unselect_filename") :void
+(defcfun (file-chooser-unselect-filename #+win32 "gtk_file_chooser_unselect_filename_utf8"
+ #-win32 "gtk_file_chooser_unselect_filename") :void
(file-chooser g-object)
(filename :string))
(export 'file-chooser-unselect-all)
-(defcfun (file-chooser-filenames "gtk_file_chooser_get_filenames") (gslist (g-string :free-from-foreign t))
+(defcfun (file-chooser-filenames #+win32 "gtk_file_chooser_get_filenames_utf8"
+ #-win32 "gtk_file_chooser_get_filenames") (gslist (g-string :free-from-foreign t))
(file-chooser g-object))
(export 'file-chooser-filenames)
(export 'file-chooser-filters)
-(defcfun gtk-file-chooser-add-shortcut-folder :boolean
+(defcfun (gtk-file-chooser-add-shortcut-folder #+win32 "gtk_file_chooser_add_shortcut_folder_utf8"
+ #-win32 "gtk_file_chooser_add_shortcut_folder") :boolean
(file-chooser g-object)
(folder :string)
(error :pointer))
(export 'file-chooser-add-shortcut-folder)
-(defcfun gtk-file-chooser-remove-shortcut-folder :boolean
+(defcfun (gtk-file-chooser-remove-shortcut-folder #+win32 "gtk_file_chooser_remove_shortcut_folder_utf8"
+ #-win32 "gtk_file_chooser_remove_shortcut_folder") :boolean
(file-chooser g-object)
(folder :string)
(error :pointer))
(export 'file-chooser-remove-shortcut-folder)
-(defcfun (file-chooser-shortcut-folders "gtk_file_chooser_list_shortcut_folders") (gslist (g-string :free-from-foreign t))
+(defcfun (file-chooser-shortcut-folders #+win32 "gtk_file_chooser_list_shortcut_folders_utf8"
+ #-win32 "gtk_file_chooser_list_shortcut_folders") (gslist (g-string :free-from-foreign t))
(file-chooser g-object))
(export 'file-chooser-shortcut-folders)