(defpackage :gtk-generation
(:use :cl :gobject :cffi :glib)
- (:export #:gtk-generate))
+ (:export #:gtk-generate
+ #:gtk-generate-child-properties))
(in-package :gtk-generation)
"GtkPrintOperationPreview"
"GtkRecentChooser"
"GtkToolShell"
+ "GtkOrientable"
+ "GtkActivatable"
"AtkImplementorIface")
:objects '("GtkSettings" "GtkRcStyle" "GtkStyle" "GtkTooltip" "GtkAccelGroup"
"GtkAccelMap" "GtkAction" "GtkActionGroup" "GtkBuilder" "GtkClipboard"
(:cffi gtk::preview-text gtk::font-selection-dialog-preview-text :string "gtk_font_selection_dialog_get_preview_text" "gtk_font_selection_dialog_set_preview_text")
(:cffi gtk::apply-button gtk::font-selection-dialog-apply-button g-object "gtk_font_selection_dialog_get_apply_button" nil)
(:cffi gtk::cancel-button gtk::font-selection-dialog-cancel-button g-object "gtk_font_selection_dialog_get_cancel_button" nil)
- (:cffi gtk::ok-button gtk::font-selection-dialog-ok-button g-object "gtk_font_selection_dialog_get_ok_button" nil))))))
\ No newline at end of file
+ (:cffi gtk::ok-button gtk::font-selection-dialog-ok-button g-object "gtk_font_selection_dialog_get_ok_button" nil))
+ ("GtkFixed"
+ (:cffi gtk::has-window gtk::fixed-has-window :boolean "gtk_fixed_get_has_window" "gtk_fixed_set_has_window"))
+ ("GtkLayout"
+ (:cffi gtk::bin-window gtk::layout-bin-window g-object "gtk_layout_get_bin_window" nil))
+ ("GtkCalendar"
+ (:cffi gtk::detail-function gtk::calendar-detail-function nil nil gtk::calendar-set-detail-function))
+ ("GtkContainer"
+ (:cffi gtk::focus-child gtk::container-focus-child g-object "gtk_container_get_focus_child" "gtk_container_set_focus_child")
+ (:cffi gtk::focus-vadjustment gtk::container-focus-vadjustment g-object "gtk_container_get_focus_vadjustment" "gtk_container_set_focus_vadjustment")
+ (:cffi gtk::focus-hadjustment gtk::container-focus-hadjustment g-object "gtk_container_get_focus_hadjustment" "gtk_container_set_focus_hadjustment"))
+ ("GtkWidget"
+ (:cffi gtk::direction gtk::widget-direction gtk::text-direction "gtk_widget_get_direction" "gtk_widget_set_direction")
+ (:cffi gtk::composite-name gtk::widget-composite-name (glib:g-string :free-from-foreign t :free-to-foreign t) "gtk_widget_get_composite_name" "gtk_widget_set_composite_name")
+ (:cffi gtk::redraw-on-allocate gtk::widget-redraw-on-allocate :boolean nil "gtk_widget_set_redraw_on_allocate")
+ (:cffi gtk::accessible gtk::widget-accessible g-object "gtk_widget_get_accessible" nil)
+ (:cffi gtk::tooltip-window gtk::widget-tooltip-window g-object "gtk_widget_get_tooltip_window" "gtk_widget_set_tooltip_window"))
+ ("GtkTextTag"
+ (:cffi gtk::priority gtk::text-tag-priority :int "gtk_text_tag_get_priority" "gtk_text_tag_set_priority"))))))
+
+(defun gtk-generate-child-properties (filename)
+ (with-open-file (stream filename :direction :output :if-exists :supersede)
+ (let ((*package* (find-package :gtk))
+ (*print-case* :downcase))
+ (write-string "(in-package :gtk)" stream)
+ (terpri stream)
+ (format stream "~{~S~%~%~}" (gtk:generate-child-properties)))))
\ No newline at end of file