doc: include structures and opaque boxed types in generated reference
[cl-gtk2.git] / gtk / gtk.generated-classes.lisp
index e1b0db2..13ac1d7 100644 (file)
                 "gtk_tree_view_column_sizing_get_type")
                (:grow-only 0) (:autosize 1) (:fixed 2))
 
+(define-g-enum "GtkSortType" sort-type
+               (:export t :type-initializer "gtk_sort_type_get_type")
+               (:ascending 0) (:descending 1))
+
 (define-g-enum "GtkProgressBarOrientation" progress-bar-orientation
                (:export t :type-initializer
                 "gtk_progress_bar_orientation_get_type")
                (:export t :type-initializer "gtk_arrow_type_get_type") (:up 0)
                (:down 1) (:left 2) (:right 3) (:none 4))
 
-(define-g-enum "GtkSortType" sort-type
-               (:export t :type-initializer "gtk_sort_type_get_type")
-               (:ascending 0) (:descending 1))
-
 (define-g-enum "GtkToolbarStyle" toolbar-style
                (:export t :type-initializer "gtk_toolbar_style_get_type")
                (:icons 0) (:text 1) (:both 2) (:both-horiz 3))
 
-(define-g-enum "GtkWrapMode" wrap-mode
-               (:export t :type-initializer "gtk_wrap_mode_get_type") (:none 0)
-               (:char 1) (:word 2) (:word-char 3))
-
 (define-g-enum "GtkJustification" justification
                (:export t :type-initializer "gtk_justification_get_type")
                (:left 0) (:right 1) (:center 2) (:fill 3))
 
+(define-g-enum "GtkWrapMode" wrap-mode
+               (:export t :type-initializer "gtk_wrap_mode_get_type") (:none 0)
+               (:char 1) (:word 2) (:word-char 3))
+
 (define-g-enum "GtkButtonBoxStyle" button-box-style
                (:export t :type-initializer "gtk_button_box_style_get_type")
                (:default-style 0) (:spread 1) (:edge 2) (:start 3) (:end 4)
                (:center 5))
 
+(define-g-enum "GtkOrientation" orientation
+               (:export t :type-initializer "gtk_orientation_get_type")
+               (:horizontal 0) (:vertical 1))
+
 (define-g-enum "GtkSelectionMode" selection-mode
                (:export t :type-initializer "gtk_selection_mode_get_type")
                (:none 0) (:single 1) (:browse 2) (:multiple 3) (:extended 3))
                (:invalid 0) (:menu 1) (:small-toolbar 2) (:large-toolbar 3)
                (:button 4) (:dnd 5) (:dialog 6))
 
-(define-g-enum "GtkOrientation" orientation
-               (:export t :type-initializer "gtk_orientation_get_type")
-               (:horizontal 0) (:vertical 1))
-
 (define-g-enum "GtkPositionType" position-type
                (:export t :type-initializer "gtk_position_type_get_type")
                (:left 0) (:right 1) (:top 2) (:bottom 3))
                (:none 0) (:ok 1) (:close 2) (:cancel 3) (:yes-no 4)
                (:ok-cancel 5))
 
-(define-g-enum "GtkWindowType" window-type
-               (:export t :type-initializer "gtk_window_type_get_type")
-               (:toplevel 0) (:popup 1))
-
 (define-g-enum "GtkWindowPosition" window-position
                (:export t :type-initializer "gtk_window_position_get_type")
                (:none 0) (:center 1) (:mouse 2) (:center-always 3)
                (:center-on-parent 4))
 
+(define-g-enum "GtkWindowType" window-type
+               (:export t :type-initializer "gtk_window_type_get_type")
+               (:toplevel 0) (:popup 1))
+
 (define-g-enum "GtkResizeMode" resize-mode
                (:export t :type-initializer "gtk_resize_mode_get_type")
                (:parent 0) (:queue 1) (:immediate 2))
                 "gtk_text_buffer_target_info_get_type")
                (:buffer-contents -1) (:rich-text -2) (:text -3))
 
+(define-g-enum "GtkStateType" state-type
+               (:export t :type-initializer "gtk_state_type_get_type")
+               (:normal 0) (:active 1) (:prelight 2) (:selected 3)
+               (:insensitive 4))
+
+(define-g-enum "GtkDirectionType" direction-type
+               (:export t :type-initializer "gtk_direction_type_get_type")
+               (:tab-forward 0) (:tab-backward 1) (:up 2) (:down 3) (:left 4)
+               (:right 5))
+
+(define-g-enum "GtkDragResult" drag-result
+               (:export t :type-initializer "gtk_drag_result_get_type")
+               (:success 0) (:no-target 1) (:user-cancelled 2)
+               (:timeout-expired 3) (:grab-broken 4) (:error 5))
+
+(define-g-enum "GtkWidgetHelpType" widget-help-type
+               (:export t :type-initializer "gtk_widget_help_type_get_type")
+               (:tooltip 0) (:whats-this 1))
+
+(define-g-enum "GtkPackType" pack-type
+               (:export t :type-initializer "gtk_pack_type_get_type")
+               (:start 0) (:end 1))
+
+(define-g-enum "GtkNotebookTab" notebook-tab
+               (:export t :type-initializer "gtk_notebook_tab_get_type")
+               (:first 0) (:last 1))
+
+(define-g-enum "GtkMovementStep" movement-step
+               (:export t :type-initializer "gtk_movement_step_get_type")
+               (:logical-positions 0) (:visual-positions 1) (:words 2)
+               (:display-lines 3) (:display-line-ends 4) (:paragraphs 5)
+               (:paragraph-ends 6) (:pages 7) (:buffer-ends 8)
+               (:horizontal-pages 9))
+
+(define-g-enum "GtkAnchorType" anchor-type
+               (:export t :type-initializer "gtk_anchor_type_get_type")
+               (:center 0) (:north 1) (:north-west 2) (:north-east 3)
+               (:south 4) (:south-west 5) (:south-east 6) (:west 7) (:east 8)
+               (:n 1) (:nw 2) (:ne 3) (:s 4) (:sw 5) (:se 6) (:w 7) (:e 8))
+
+(define-g-enum "GtkAssistantPageType" assistant-page-type
+               (:export t :type-initializer "gtk_assistant_page_type_get_type")
+               (:content 0) (:intro 1) (:confirm 2) (:summary 3) (:progress 4))
+
+(define-g-enum "GtkBuilderError" builder-error
+               (:export t :type-initializer "gtk_builder_error_get_type")
+               (:invalid-type-function 0) (:unhandled-tag 1)
+               (:missing-attribute 2) (:invalid-attribute 3) (:invalid-tag 4)
+               (:missing-property-value 5) (:invalid-value 6)
+               (:version-mismatch 7) (:duplicate-id 8))
+
+(define-g-enum "GtkCellType" cell-type
+               (:export t :type-initializer "gtk_cell_type_get_type")
+               (:empty 0) (:text 1) (:pixmap 2) (:pixtext 3) (:widget 4))
+
+(define-g-enum "GtkCListDragPos" c-list-drag-pos
+               (:export t :type-initializer "gtk_clist_drag_pos_get_type")
+               (:none 0) (:before 1) (:into 2) (:after 3))
+
+(define-g-enum "GtkCTreeExpanderStyle" c-tree-expander-style
+               (:export t :type-initializer
+                "gtk_ctree_expander_style_get_type")
+               (:none 0) (:square 1) (:triangle 2) (:circular 3))
+
+(define-g-enum "GtkCTreeExpansionType" c-tree-expansion-type
+               (:export t :type-initializer
+                "gtk_ctree_expansion_type_get_type")
+               (:expand 0) (:expand-recursive 1) (:collapse 2)
+               (:collapse-recursive 3) (:toggle 4) (:toggle-recursive 5))
+
+(define-g-enum "GtkCTreeLineStyle" c-tree-line-style
+               (:export t :type-initializer "gtk_ctree_line_style_get_type")
+               (:none 0) (:solid 1) (:dotted 2) (:tabbed 3))
+
+(define-g-enum "GtkCTreePos" c-tree-pos
+               (:export t :type-initializer "gtk_ctree_pos_get_type")
+               (:before 0) (:as-child 1) (:after 2))
+
+(define-g-enum "GtkDeleteType" delete-type
+               (:export t :type-initializer "gtk_delete_type_get_type")
+               (:chars 0) (:word-ends 1) (:words 2) (:display-lines 3)
+               (:display-line-ends 4) (:paragraph-ends 5) (:paragraphs 6)
+               (:whitespace 7))
+
+(define-g-enum "GtkExpanderStyle" expander-style
+               (:export t :type-initializer "gtk_expander_style_get_type")
+               (:collapsed 0) (:semi-collapsed 1) (:semi-expanded 2)
+               (:expanded 3))
+
+(define-g-enum "GtkFileChooserConfirmation" file-chooser-confirmation
+               (:export t :type-initializer
+                "gtk_file_chooser_confirmation_get_type")
+               (:confirm 0) (:accept-filename 1) (:select-again 2))
+
+(define-g-enum "GtkFileChooserError" file-chooser-error
+               (:export t :type-initializer "gtk_file_chooser_error_get_type")
+               (:nonexistent 0) (:bad-filename 1) (:already-exists 2)
+               (:incomplete-hostname 3))
+
+(define-g-enum "GtkIconThemeError" icon-theme-error
+               (:export t :type-initializer "gtk_icon_theme_error_get_type")
+               (:not-found 0) (:failed 1))
+
+(define-g-enum "GtkIconViewDropPosition" icon-view-drop-position
+               (:export t :type-initializer
+                "gtk_icon_view_drop_position_get_type")
+               (:no-drop 0) (:drop-into 1) (:drop-left 2) (:drop-right 3)
+               (:drop-above 4) (:drop-below 5))
+
+(define-g-enum "GtkIMPreeditStyle" i-m-preedit-style (:export t) (:nothing 0)
+               (:callback 1) (:none 2))
+
+(define-g-enum "GtkIMStatusStyle" i-m-status-style (:export t) (:nothing 0)
+               (:callback 1) (:none 2))
+
+(define-g-enum "GtkMatchType" match-type
+               (:export t :type-initializer "gtk_match_type_get_type") (:all 0)
+               (:all-tail 1) (:head 2) (:tail 3) (:exact 4) (:last 5))
+
+(define-g-enum "GtkMenuDirectionType" menu-direction-type
+               (:export t :type-initializer "gtk_menu_direction_type_get_type")
+               (:parent 0) (:child 1) (:next 2) (:prev 3))
+
+(define-g-enum "GtkNumberUpLayout" number-up-layout
+               (:export t :type-initializer "gtk_number_up_layout_get_type")
+               (:lrtb 0) (:lrbt 1) (:rltb 2) (:rlbt 3) (:tblr 4) (:tbrl 5)
+               (:btlr 6) (:btrl 7))
+
+(define-g-enum "GtkPageOrientation" page-orientation
+               (:export t :type-initializer "gtk_page_orientation_get_type")
+               (:portrait 0) (:landscape 1) (:reverse-portrait 2)
+               (:reverse-landscape 3))
+
+(define-g-enum "GtkPageSet" page-set
+               (:export t :type-initializer "gtk_page_set_get_type") (:all 0)
+               (:even 1) (:odd 2))
+
+(define-g-enum "GtkPathPriorityType" path-priority-type
+               (:export t :type-initializer "gtk_path_priority_type_get_type")
+               (:lowest 0) (:gtk 4) (:application 8) (:theme 10) (:rc 12)
+               (:highest 15))
+
+(define-g-enum "GtkPathType" path-type
+               (:export t :type-initializer "gtk_path_type_get_type")
+               (:widget 0) (:widget-class 1) (:class 2))
+
+(define-g-enum "GtkPreviewType" preview-type
+               (:export t :type-initializer "gtk_preview_type_get_type")
+               (:color 0) (:grayscale 1))
+
+(define-g-enum "GtkPrintDuplex" print-duplex
+               (:export t :type-initializer "gtk_print_duplex_get_type")
+               (:simplex 0) (:horizontal 1) (:vertical 2))
+
+(define-g-enum "GtkPrintError" print-error
+               (:export t :type-initializer "gtk_print_error_get_type")
+               (:general 0) (:internal-error 1) (:nomem 2) (:invalid-file 3))
+
+(define-g-enum "GtkPrintOperationAction" print-operation-action
+               (:export t :type-initializer
+                "gtk_print_operation_action_get_type")
+               (:print-dialog 0) (:print 1) (:preview 2) (:export 3))
+
+(define-g-enum "GtkPrintOperationResult" print-operation-result
+               (:export t :type-initializer
+                "gtk_print_operation_result_get_type")
+               (:error 0) (:apply 1) (:cancel 2) (:in-progress 3))
+
+(define-g-enum "GtkPrintPages" print-pages
+               (:export t :type-initializer "gtk_print_pages_get_type")
+               (:all 0) (:current 1) (:ranges 2))
+
+(define-g-enum "GtkPrintQuality" print-quality
+               (:export t :type-initializer "gtk_print_quality_get_type")
+               (:low 0) (:normal 1) (:high 2) (:draft 3))
+
+(define-g-enum "GtkRcTokenType" rc-token-type
+               (:export t :type-initializer "gtk_rc_token_type_get_type")
+               (:invalid 270) (:include 271) (:normal 272) (:active 273)
+               (:prelight 274) (:selected 275) (:insensitive 276) (:fg 277)
+               (:bg 278) (:text 279) (:base 280) (:xthickness 281)
+               (:ythickness 282) (:font 283) (:fontset 284) (:font-name 285)
+               (:bg-pixmap 286) (:pixmap-path 287) (:style 288) (:binding 289)
+               (:bind 290) (:widget 291) (:widget-class 292) (:class 293)
+               (:lowest 294) (:gtk 295) (:application 296) (:theme 297)
+               (:rc 298) (:highest 299) (:engine 300) (:module-path 301)
+               (:im-module-path 302) (:im-module-file 303) (:stock 304)
+               (:ltr 305) (:rtl 306) (:color 307) (:unbind 308) (:last 309))
+
+(define-g-enum "GtkRecentChooserError" recent-chooser-error
+               (:export t :type-initializer
+                "gtk_recent_chooser_error_get_type")
+               (:not-found 0) (:invalid-uri 1))
+
+(define-g-enum "GtkRecentManagerError" recent-manager-error
+               (:export t :type-initializer
+                "gtk_recent_manager_error_get_type")
+               (:not-found 0) (:invalid-uri 1) (:invalid-encoding 2)
+               (:not-registered 3) (:read 4) (:write 5) (:unknown 6))
+
+(define-g-enum "GtkResponseType" response-type
+               (:export t :type-initializer "gtk_response_type_get_type")
+               (:none -1) (:reject -2) (:accept -3) (:delete-event -4) (:ok -5)
+               (:cancel -6) (:close -7) (:yes -8) (:no -9) (:apply -10)
+               (:help -11))
+
+(define-g-enum "GtkScrollStep" scroll-step
+               (:export t :type-initializer "gtk_scroll_step_get_type")
+               (:steps 0) (:pages 1) (:ends 2) (:horizontal-steps 3)
+               (:horizontal-pages 4) (:horizontal-ends 5))
+
+(define-g-enum "GtkScrollType" scroll-type
+               (:export t :type-initializer "gtk_scroll_type_get_type")
+               (:none 0) (:jump 1) (:step-backward 2) (:step-forward 3)
+               (:page-backward 4) (:page-forward 5) (:step-up 6) (:step-down 7)
+               (:page-up 8) (:page-down 9) (:step-left 10) (:step-right 11)
+               (:page-left 12) (:page-right 13) (:start 14) (:end 15))
+
+(define-g-enum "GtkSideType" side-type
+               (:export t :type-initializer "gtk_side_type_get_type") (:top 0)
+               (:bottom 1) (:left 2) (:right 3))
+
+(define-g-enum "GtkSpinType" spin-type
+               (:export t :type-initializer "gtk_spin_type_get_type")
+               (:step-forward 0) (:step-backward 1) (:page-forward 2)
+               (:page-backward 3) (:home 4) (:end 5) (:user-defined 6))
+
+(define-g-enum "GtkSubmenuDirection" submenu-direction
+               (:export t :type-initializer "gtk_submenu_direction_get_type")
+               (:left 0) (:right 1))
+
+(define-g-enum "GtkSubmenuPlacement" submenu-placement
+               (:export t :type-initializer "gtk_submenu_placement_get_type")
+               (:top-bottom 0) (:left-right 1))
+
+(define-g-enum "GtkTextWindowType" text-window-type
+               (:export t :type-initializer "gtk_text_window_type_get_type")
+               (:private 0) (:widget 1) (:text 2) (:left 3) (:right 4) (:top 5)
+               (:bottom 6))
+
+(define-g-enum "GtkToolbarChildType" toolbar-child-type
+               (:export t :type-initializer "gtk_toolbar_child_type_get_type")
+               (:space 0) (:button 1) (:togglebutton 2) (:radiobutton 3)
+               (:widget 4))
+
+(define-g-enum "GtkToolbarSpaceStyle" toolbar-space-style
+               (:export t :type-initializer "gtk_toolbar_space_style_get_type")
+               (:empty 0) (:line 1))
+
+(define-g-enum "GtkTreeViewDropPosition" tree-view-drop-position
+               (:export t :type-initializer
+                "gtk_tree_view_drop_position_get_type")
+               (:before 0) (:after 1) (:into-or-before 2) (:into-or-after 3))
+
+(define-g-enum "GtkTreeViewMode" tree-view-mode
+               (:export t :type-initializer "gtk_tree_view_mode_get_type")
+               (:line 0) (:item 1))
+
+(define-g-enum "GtkVisibility" visibility
+               (:export t :type-initializer "gtk_visibility_get_type")
+               (:none 0) (:partial 1) (:full 2))
+
 (define-g-flags "GtkTextSearchFlags" text-search-flags
                 (:export t :type-initializer "gtk_text_search_flags_get_type")
                 (:visible-only 1) (:text-only 2))
 
+(define-g-flags "GtkAccelFlags" accel-flags
+                (:export t :type-initializer "gtk_accel_flags_get_type")
+                (:visible 1) (:locked 2) (:mask 7))
+
+(define-g-flags "GtkArgFlags" arg-flags
+                (:export t :type-initializer "gtk_arg_flags_get_type")
+                (:readable 1) (:writable 2) (:construct 4) (:construct-only 8)
+                (:child-arg 16))
+
+(define-g-flags "GtkAttachOptions" attach-options
+                (:export t :type-initializer "gtk_attach_options_get_type")
+                (:expand 1) (:shrink 2) (:fill 4))
+
+(define-g-flags "GtkButtonAction" button-action
+                (:export t :type-initializer "gtk_button_action_get_type")
+                (:ignored 0) (:selects 1) (:drags 2) (:expands 4))
+
+(define-g-flags "GtkCalendarDisplayOptions" calendar-display-options
+                (:export t :type-initializer
+                 "gtk_calendar_display_options_get_type")
+                (:show-heading 1) (:show-day-names 2) (:no-month-change 4)
+                (:show-week-numbers 8) (:week-start-monday 16)
+                (:show-details 32))
+
+(define-g-flags "GtkCellRendererState" cell-renderer-state
+                (:export t :type-initializer
+                 "gtk_cell_renderer_state_get_type")
+                (:selected 1) (:prelit 2) (:insensitive 4) (:sorted 8)
+                (:focused 16))
+
+(define-g-flags "GtkDebugFlag" debug-flag
+                (:export t :type-initializer "gtk_debug_flag_get_type")
+                (:misc 1) (:plugsocket 2) (:text 4) (:tree 8) (:updates 16)
+                (:keybindings 32) (:multihead 64) (:modules 128)
+                (:geometry 256) (:icontheme 512) (:printing 1024)
+                (:builder 2048))
+
+(define-g-flags "GtkDestDefaults" dest-defaults
+                (:export t :type-initializer "gtk_dest_defaults_get_type")
+                (:motion 1) (:highlight 2) (:drop 4) (:all 7))
+
+(define-g-flags "GtkDialogFlags" dialog-flags
+                (:export t :type-initializer "gtk_dialog_flags_get_type")
+                (:modal 1) (:destroy-with-parent 2) (:no-separator 4))
+
+(define-g-flags "GtkFileFilterFlags" file-filter-flags
+                (:export t :type-initializer "gtk_file_filter_flags_get_type")
+                (:filename 1) (:uri 2) (:display-name 4) (:mime-type 8))
+
+(define-g-flags "GtkIconLookupFlags" icon-lookup-flags
+                (:export t :type-initializer "gtk_icon_lookup_flags_get_type")
+                (:no-svg 1) (:force-svg 2) (:use-builtin 4)
+                (:generic-fallback 8) (:force-size 16))
+
+(define-g-flags "GtkObjectFlags" object-flags
+                (:export t :type-initializer "gtk_object_flags_get_type")
+                (:in-destruction 1) (:floating 2) (:reserved-1 4)
+                (:reserved-2 8))
+
+(define-g-flags "GtkPrivateFlags" private-flags
+                (:export t :type-initializer "gtk_private_flags_get_type")
+                (:user-style 1) (:resize-pending 4) (:has-pointer 8)
+                (:shadowed 16) (:has-shape-mask 32) (:in-reparent 64)
+                (:direction-set 128) (:direction-ltr 256) (:anchored 512)
+                (:child-visible 1024) (:redraw-on-alloc 2048)
+                (:alloc-needed 4096) (:request-needed 8192))
+
+(define-g-flags "GtkRcFlags" rc-flags
+                (:export t :type-initializer "gtk_rc_flags_get_type") (:fg 1)
+                (:bg 2) (:text 4) (:base 8))
+
+(define-g-flags "GtkRecentFilterFlags" recent-filter-flags
+                (:export t :type-initializer
+                 "gtk_recent_filter_flags_get_type")
+                (:uri 1) (:display-name 2) (:mime-type 4) (:application 8)
+                (:group 16) (:age 32))
+
+(define-g-flags "GtkSignalRunType" signal-run-type
+                (:export t :type-initializer "gtk_signal_run_type_get_type")
+                (:first 1) (:last 2) (:both 3) (:no-recurse 8) (:action 32)
+                (:no-hooks 64))
+
+(define-g-flags "GtkTargetFlags" target-flags
+                (:export t :type-initializer "gtk_target_flags_get_type")
+                (:same-app 1) (:same-widget 2) (:other-app 4) (:other-widget 8))
+
+(define-g-flags "GtkTreeModelFlags" tree-model-flags
+                (:export t :type-initializer "gtk_tree_model_flags_get_type")
+                (:iters-persist 1) (:list-only 2))
+
+(define-g-flags "GtkUIManagerItemType" ui-manager-item-type (:export t)
+                (:auto 0) (:menubar 1) (:menu 2) (:toolbar 4) (:placeholder 8)
+                (:popup 16) (:menuitem 32) (:toolitem 64) (:separator 128)
+                (:accelerator 256) (:popup-with-accels 512))
+
+(define-g-flags "GtkWidgetFlags" widget-flags
+                (:export t :type-initializer "gtk_widget_flags_get_type")
+                (:toplevel 16) (:no-window 32) (:realized 64) (:mapped 128)
+                (:visible 256) (:sensitive 512) (:parent-sensitive 1024)
+                (:can-focus 2048) (:has-focus 4096) (:can-default 8192)
+                (:has-default 16384) (:has-grab 32768) (:rc-style 65536)
+                (:composite-child 131072) (:no-reparent 262144)
+                (:app-paintable 524288) (:receives-default 1048576)
+                (:double-buffered 2097152) (:no-show-all 4194304))
+
 (define-g-interface "GtkBuildable" buildable
                     (:export t :type-initializer "gtk_buildable_get_type"))
 
                     (do-overwrite-confirmation
                      file-chooser-do-overwrite-confirmation
                      "do-overwrite-confirmation" "gboolean" t t)
-                    (show-hidden file-chooser-show-hidden "show-hidden"
-                     "gboolean" t t)
-                    (preview-widget file-chooser-preview-widget
-                     "preview-widget" "GtkWidget" t t)
-                    (local-only file-chooser-local-only "local-only" "gboolean"
-                     t t)
-                    (file-system-backend file-chooser-file-system-backend
-                     "file-system-backend" "gchararray" nil nil)
                     (select-multiple file-chooser-select-multiple
                      "select-multiple" "gboolean" t t)
+                    (filter file-chooser-filter "filter" "GtkFileFilter" t t)
+                    (local-only file-chooser-local-only "local-only" "gboolean"
+                     t t)
+                    (preview-widget file-chooser-preview-widget
+                     "preview-widget" "GtkWidget" t t)
+                    (use-preview-label file-chooser-use-preview-label
+                     "use-preview-label" "gboolean" t t)
                     (preview-widget-active file-chooser-preview-widget-active
                      "preview-widget-active" "gboolean" t t)
+                    (file-system-backend file-chooser-file-system-backend
+                     "file-system-backend" "gchararray" nil nil)
                     (extra-widget file-chooser-extra-widget "extra-widget"
                      "GtkWidget" t t)
-                    (filter file-chooser-filter "filter" "GtkFileFilter" t t)
-                    (use-preview-label file-chooser-use-preview-label
-                     "use-preview-label" "gboolean" t t)
+                    (show-hidden file-chooser-show-hidden "show-hidden"
+                     "gboolean" t t)
                     (action file-chooser-action "action" "GtkFileChooserAction"
-                     t t))
+                     t t)
+                    (:cffi current-name file-chooser-current-name
+                     (:string :free-to-foreign t :encoding :utf-8) nil
+                     "gtk_file_chooser_set_current_name")
+                    (: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")
+                    (: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")
+                    (:cffi uri file-chooser-uri
+                     (g-string :free-from-foreign t :free-to-foreign t)
+                     "gtk_file_chooser_get_uri" "gtk_file_chooser_set_uri")
+                    (:cffi current-folder-uri file-chooser-current-folder-uri
+                     (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 preview-filename file-chooser-preview-filename
+                     (g-string :free-from-foreign t :free-to-foreign t)
+                     "gtk_file_chooser_get_preview_filename" nil)
+                    (:cffi preview-uri file-chooser-preview-uri
+                     (g-string :free-from-foreign t :free-to-foreign t)
+                     "gtk_file_chooser_get_preview_uri" nil))
 
 (define-g-interface "GtkFileChooserEmbed" file-chooser-embed (:export t))
 
 
 (define-g-interface "GtkRecentChooser" recent-chooser
                     (:export t :type-initializer "gtk_recent_chooser_get_type")
+                    (show-private recent-chooser-show-private "show-private"
+                     "gboolean" t t)
                     (show-tips recent-chooser-show-tips "show-tips" "gboolean"
                      t t)
-                    (show-not-found recent-chooser-show-not-found
-                     "show-not-found" "gboolean" t t)
-                    (sort-type recent-chooser-sort-type "sort-type"
-                     "GtkRecentSortType" t t)
                     (filter recent-chooser-filter "filter" "GtkRecentFilter" t
                      t)
+                    (show-not-found recent-chooser-show-not-found
+                     "show-not-found" "gboolean" t t)
+                    (recent-manager recent-chooser-recent-manager
+                     "recent-manager" "GtkRecentManager" nil nil)
+                    (limit recent-chooser-limit "limit" "gint" t t)
                     (show-icons recent-chooser-show-icons "show-icons"
                      "gboolean" t t)
-                    (select-multiple recent-chooser-select-multiple
-                     "select-multiple" "gboolean" t t)
                     (local-only recent-chooser-local-only "local-only"
                      "gboolean" t t)
-                    (limit recent-chooser-limit "limit" "gint" t t)
-                    (recent-manager recent-chooser-recent-manager
-                     "recent-manager" "GtkRecentManager" nil nil)
-                    (show-private recent-chooser-show-private "show-private"
-                     "gboolean" t t))
+                    (sort-type recent-chooser-sort-type "sort-type"
+                     "GtkRecentSortType" t t)
+                    (select-multiple recent-chooser-select-multiple
+                     "select-multiple" "gboolean" t t))
 
 (define-g-interface "GtkToolShell" tool-shell
                     (:export t :type-initializer "gtk_tool_shell_get_type"))
 
+(define-g-interface "GtkOrientable" orientable
+                    (:export t :type-initializer "gtk_orientable_get_type")
+                    (orientation orientable-orientation "orientation"
+                     "GtkOrientation" t t))
+
+(define-g-interface "GtkActivatable" activatable
+                    (:export t :type-initializer "gtk_activatable_get_type")
+                    (related-action activatable-related-action "related-action"
+                     "GtkAction" t t)
+                    (use-action-appearance activatable-use-action-appearance
+                     "use-action-appearance" "gboolean" t t))
+
 (define-g-interface "AtkImplementorIface" atk-implementor-iface (:export t))
 
 (define-g-object-class "GtkObject" gtk-object
                          "gchararray" t t)
                         (tooltip-text widget-tooltip-text "tooltip-text"
                          "gchararray" t t)
-                        (window widget-window "window" "GdkWindow" t nil)))
+                        (window widget-window "window" "GdkWindow" t nil)
+                        (:cffi direction widget-direction text-direction
+                         "gtk_widget_get_direction" "gtk_widget_set_direction")
+                        (:cffi composite-name widget-composite-name
+                         (g-string :free-from-foreign t :free-to-foreign t)
+                         "gtk_widget_get_composite_name"
+                         "gtk_widget_set_composite_name")
+                        (:cffi redraw-on-allocate widget-redraw-on-allocate
+                         :boolean nil "gtk_widget_set_redraw_on_allocate")
+                        (:cffi accessible widget-accessible g-object
+                         "gtk_widget_get_accessible" nil)
+                        (:cffi tooltip-window widget-tooltip-window g-object
+                         "gtk_widget_get_tooltip_window"
+                         "gtk_widget_set_tooltip_window")))
 
 (define-g-object-class "GtkContainer" container
                        (:superclass widget :export t :interfaces
                          "guint" t t)
                         (resize-mode container-resize-mode "resize-mode"
                          "GtkResizeMode" t t)
-                        (child container-child "child" "GtkWidget" nil t)))
+                        (child container-child "child" "GtkWidget" nil t)
+                        (:cffi focus-child container-focus-child g-object
+                         "gtk_container_get_focus_child"
+                         "gtk_container_set_focus_child")
+                        (:cffi focus-vadjustment container-focus-vadjustment
+                         g-object "gtk_container_get_focus_vadjustment"
+                         "gtk_container_set_focus_vadjustment")
+                        (:cffi focus-hadjustment container-focus-hadjustment
+                         g-object "gtk_container_get_focus_hadjustment"
+                         "gtk_container_set_focus_hadjustment")))
 
 (define-g-object-class "GtkBin" bin
                        (:superclass container :export t :interfaces
                        (:superclass dialog :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_font_selection_dialog_get_type")
-                       nil)
+                       ((:cffi font-name font-selection-dialog-font-name
+                         (g-string :free-from-foreign t :free-to-foreign t)
+                         "gtk_font_selection_dialog_get_font_name"
+                         "gtk_font_selection_dialog_set_font_name")
+                        (:cffi preview-text font-selection-dialog-preview-text
+                         :string "gtk_font_selection_dialog_get_preview_text"
+                         "gtk_font_selection_dialog_set_preview_text")
+                        (:cffi apply-button font-selection-dialog-apply-button
+                         g-object "gtk_font_selection_dialog_get_apply_button"
+                         nil)
+                        (:cffi cancel-button
+                         font-selection-dialog-cancel-button g-object
+                         "gtk_font_selection_dialog_get_cancel_button" nil)
+                        (:cffi ok-button font-selection-dialog-ok-button
+                         g-object "gtk_font_selection_dialog_get_ok_button"
+                         nil)))
 
 (define-g-object-class "GtkInputDialog" input-dialog
                        (:superclass dialog :export t :interfaces
 
 (define-g-object-class "GtkMenuItem" menu-item
                        (:superclass item :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_menu_item_get_type")
                        ((right-justified menu-item-right-justified
                          "right-justified" "gboolean" t t)
                         (submenu menu-item-submenu "submenu" "GtkMenu" t t)
                         (accel-path menu-item-accel-path "accel-path"
-                         "gchararray" t t)))
+                         "gchararray" t t)
+                        (label menu-item-label "label" "gchararray" t t)
+                        (use-underline menu-item-use-underline "use-underline"
+                         "gboolean" t t)))
 
 (define-g-object-class "GtkCheckMenuItem" check-menu-item
                        (:superclass menu-item :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_check_menu_item_get_type")
                        ((active check-menu-item-active "active" "gboolean" t t)
                         (inconsistent check-menu-item-inconsistent
 
 (define-g-object-class "GtkRadioMenuItem" radio-menu-item
                        (:superclass check-menu-item :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_radio_menu_item_get_type")
                        ((group radio-menu-item-group "group" "GtkRadioMenuItem"
                          nil t)))
 
 (define-g-object-class "GtkImageMenuItem" image-menu-item
                        (:superclass menu-item :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_image_menu_item_get_type")
-                       ((image image-menu-item-image "image" "GtkWidget" t t)))
+                       ((image image-menu-item-image "image" "GtkWidget" t t)
+                        (use-stock image-menu-item-use-stock "use-stock"
+                         "gboolean" t t)
+                        (accel-group image-menu-item-accel-group "accel-group"
+                         "GtkAccelGroup" nil t)
+                        (always-show-image image-menu-item-always-show-image
+                         "always-show-image" "gboolean" t t)))
 
 (define-g-object-class "GtkSeparatorMenuItem" separator-menu-item
                        (:superclass menu-item :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_separator_menu_item_get_type")
                        nil)
 
 (define-g-object-class "GtkTearoffMenuItem" tearoff-menu-item
                        (:superclass menu-item :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_tearoff_menu_item_get_type")
                        nil)
 
 
 (define-g-object-class "GtkButton" button
                        (:superclass bin :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_button_get_type")
                        ((label button-label "label" "gchararray" t t)
                         (image button-image "image" "GtkWidget" t t)
 
 (define-g-object-class "GtkToggleButton" toggle-button
                        (:superclass button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_toggle_button_get_type")
                        ((active toggle-button-active "active" "gboolean" t t)
                         (inconsistent toggle-button-inconsistent "inconsistent"
 
 (define-g-object-class "GtkCheckButton" check-button
                        (:superclass toggle-button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_check_button_get_type")
                        nil)
 
 (define-g-object-class "GtkRadioButton" radio-button
                        (:superclass check-button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_radio_button_get_type")
                        ((group radio-button-group "group" "GtkRadioButton" nil
                          t)))
 
 (define-g-object-class "GtkColorButton" color-button
                        (:superclass button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_color_button_get_type")
                        ((use-alpha color-button-use-alpha "use-alpha"
                          "gboolean" t t)
 
 (define-g-object-class "GtkFontButton" font-button
                        (:superclass button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_font_button_get_type")
                        ((title font-button-title "title" "gchararray" t t)
                         (font-name font-button-font-name "font-name"
 
 (define-g-object-class "GtkLinkButton" link-button
                        (:superclass button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_link_button_get_type")
                        ((uri link-button-uri "uri" "gchararray" t t)
                         (visited link-button-visited "visited" "gboolean" t t)))
 
 (define-g-object-class "GtkScaleButton" scale-button
                        (:superclass button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable"
+                         "GtkOrientable")
                         :type-initializer "gtk_scale_button_get_type")
-                       ((orientation scale-button-orientation "orientation"
-                         "GtkOrientation" t t)
-                        (value scale-button-value "value" "gdouble" t t)
+                       ((value scale-button-value "value" "gdouble" t t)
                         (size scale-button-size "size" "GtkIconSize" t t)
                         (adjustment scale-button-adjustment "adjustment"
                          "GtkAdjustment" t t)
 
 (define-g-object-class "GtkVolumeButton" volume-button
                        (:superclass scale-button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable"
+                         "GtkOrientable")
                         :type-initializer "gtk_volume_button_get_type")
                        nil)
 
 
 (define-g-object-class "GtkComboBox" combo-box
                        (:superclass bin :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable" "GtkCellLayout"
-                         "GtkCellEditable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkCellEditable"
+                         "GtkCellLayout")
                         :type-initializer "gtk_combo_box_get_type")
                        ((model combo-box-model "model" "GtkTreeModel" t t)
                         (wrap-width combo-box-wrap-width "wrap-width" "gint" t
                         (popup-shown combo-box-popup-shown "popup-shown"
                          "gboolean" t nil)
                         (button-sensitivity combo-box-button-sensitivity
-                         "button-sensitivity" "GtkSensitivityType" t t)))
+                         "button-sensitivity" "GtkSensitivityType" t t)
+                        (:cffi active-iter combo-box-active-iter
+                         (g-boxed-foreign tree-iter) combo-box-get-active-iter
+                         "gtk_combo_box_set_active_iter")
+                        (:cffi row-separator-func combo-box-separator-func nil
+                         nil combo-box-set-separator-func)))
 
 (define-g-object-class "GtkComboBoxEntry" combo-box-entry
                        (:superclass combo-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable" "GtkCellLayout"
-                         "GtkCellEditable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkCellEditable"
+                         "GtkCellLayout")
                         :type-initializer "gtk_combo_box_entry_get_type")
                        ((text-column combo-box-entry-text-column "text-column"
                          "gint" t t)))
 
 (define-g-object-class "GtkToolItem" tool-item
                        (:superclass bin :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_tool_item_get_type")
                        ((visible-horizontal tool-item-visible-horizontal
                          "visible-horizontal" "gboolean" t t)
                         (visible-vertical tool-item-visible-vertical
                          "visible-vertical" "gboolean" t t)
                         (is-important tool-item-is-important "is-important"
-                         "gboolean" t t)))
+                         "gboolean" t t)
+                        (:cffi expand tool-item-expand :boolean
+                         "gtk_tool_item_get_expand" "gtk_tool_item_set_expand")
+                        (:cffi use-drag-window tool-item-use-drag-window
+                         :boolean "gtk_tool_item_get_use_drag_window"
+                         "gtk_tool_item_set_use_drag_window")
+                        (:cffi icon-size tool-item-icon-size icon-size
+                         "gtk_tool_item_get_icon_size" nil)
+                        (:cffi orientation tool-item-orientation orientation
+                         "gtk_tool_item_get_orientation" nil)
+                        (:cffi toolbar-style tool-item-toolbar-style
+                         toolbar-style "gtk_tool_item_get_toolbar_style" nil)
+                        (:cffi relief-style tool-item-relief-style relief-style
+                         "gtk_tool_item_get_relief_style" nil)))
 
 (define-g-object-class "GtkToolButton" tool-button
                        (:superclass tool-item :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_tool_button_get_type")
                        ((label tool-button-label "label" "gchararray" t t)
                         (use-underline tool-button-use-underline
 
 (define-g-object-class "GtkMenuToolButton" menu-tool-button
                        (:superclass tool-button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_menu_tool_button_get_type")
-                       ((menu menu-tool-button-menu "menu" "GtkMenu" t t)))
+                       ((menu menu-tool-button-menu "menu" "GtkMenu" t t)
+                        (:cffi arrow-tooltip-text
+                         menu-tool-button-arrow-tooltip-text :string nil
+                         "gtk_menu_tool_button_set_arrow_tooltip_text")
+                        (:cffi arrow-tooltip-markup
+                         menu-tool-button-arrow-tooltip-markup :string nil
+                         "gtk_menu_tool_button_set_arrow_tooltip_markup")))
 
 (define-g-object-class "GtkToggleToolButton" toggle-tool-button
                        (:superclass tool-button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_toggle_tool_button_get_type")
                        ((active toggle-tool-button-active "active" "gboolean" t
                          t)))
 
 (define-g-object-class "GtkRadioToolButton" radio-tool-button
                        (:superclass toggle-tool-button :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_radio_tool_button_get_type")
                        ((group radio-tool-button-group "group"
                          "GtkRadioToolButton" nil t)))
 
 (define-g-object-class "GtkSeparatorToolItem" separator-tool-item
                        (:superclass tool-item :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_separator_tool_item_get_type")
                        ((draw separator-tool-item-draw "draw" "gboolean" t t)))
 
                          "gboolean" t t)
                         (tearoff-title menu-tearoff-title "tearoff-title"
                          "gchararray" t t)
-                        (monitor menu-monitor "monitor" "gint" t t)))
+                        (monitor menu-monitor "monitor" "gint" t t)
+                        (:cffi screen menu-screen g-object nil
+                         "gtk_menu_set_screen")))
 
 (define-g-object-class "GtkRecentChooserMenu" recent-chooser-menu
                        (:superclass menu :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable"
+                        ("AtkImplementorIface" "GtkActivatable" "GtkBuildable"
                          "GtkRecentChooser")
                         :type-initializer "gtk_recent_chooser_menu_get_type")
                        ((show-numbers recent-chooser-menu-show-numbers
                         (enable-tree-lines tree-view-enable-tree-lines
                          "enable-tree-lines" "gboolean" t t)
                         (tooltip-column tree-view-tooltip-column
-                         "tooltip-column" "gint" t t)))
+                         "tooltip-column" "gint" t t)
+                        (:cffi selection tree-view-selection g-object
+                         "gtk_tree_view_get_selection" nil)
+                        (:cffi column-drag-function
+                         tree-view-column-drag-function nil nil
+                         tree-view-set-column-drag-function)
+                        (:cffi bin-window tree-view-bin-window g-object
+                         "gtk_tree_view_get_bin_window" nil)
+                        (:cffi search-equal-func tree-view-search-equal-func
+                         nil nil tree-view-set-search-equal-func)
+                        (:cffi search-entry tree-view-search-entry g-object
+                         "gtk_tree_view_get_search_entry"
+                         "gtk_tree_view_set_search_entry")
+                        (:cffi search-position-func
+                         tree-view-search-position-func nil nil
+                         tree-view-set-search-position-func)
+                        (:cffi row-separator-func tree-view-row-separator-func
+                         nil nil tree-view-set-row-separartor-func)))
 
 (define-g-object-class "GtkIconView" icon-view
                        (:superclass container :export t :interfaces
 
 (define-g-object-class "GtkBox" box
                        (:superclass container :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_box_get_type")
                        ((spacing box-spacing "spacing" "gint" t t)
                         (homogeneous box-homogeneous "homogeneous" "gboolean" t
 
 (define-g-object-class "GtkButtonBox" button-box
                        (:superclass box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_button_box_get_type")
                        ((layout-style button-box-layout-style "layout-style"
                          "GtkButtonBoxStyle" t t)))
 
 (define-g-object-class "GtkHButtonBox" h-button-box
                        (:superclass button-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_hbutton_box_get_type")
                        nil)
 
 (define-g-object-class "GtkVButtonBox" v-button-box
                        (:superclass button-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_vbutton_box_get_type")
                        nil)
 
 (define-g-object-class "GtkVBox" v-box
                        (:superclass box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_vbox_get_type")
                        nil)
 
 (define-g-object-class "GtkColorSelection" color-selection
                        (:superclass v-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_color_selection_get_type")
                        ((has-palette color-selection-has-palette "has-palette"
                          "gboolean" t t)
 (define-g-object-class "GtkFileChooserWidget" file-chooser-widget
                        (:superclass v-box :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkFileChooser"
-                         "GtkFileChooserEmbed")
+                         "GtkFileChooserEmbed" "GtkOrientable")
                         :type-initializer "gtk_file_chooser_widget_get_type")
                        nil)
 
 (define-g-object-class "GtkFontSelection" font-selection
                        (:superclass v-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_font_selection_get_type")
                        ((font-name font-selection-font-name "font-name"
                          "gchararray" t t)
 
 (define-g-object-class "GtkGammaCurve" gamma-curve
                        (:superclass v-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_gamma_curve_get_type")
                        nil)
 
 (define-g-object-class "GtkRecentChooserWidget" recent-chooser-widget
                        (:superclass v-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable"
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable"
                          "GtkRecentChooser")
                         :type-initializer "gtk_recent_chooser_widget_get_type")
                        nil)
 
 (define-g-object-class "GtkHBox" h-box
                        (:superclass box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_hbox_get_type")
                        nil)
 
 (define-g-object-class "GtkFileChooserButton" file-chooser-button
                        (:superclass h-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable" "GtkFileChooser")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkFileChooser"
+                         "GtkOrientable")
                         :type-initializer "gtk_file_chooser_button_get_type")
                        ((dialog file-chooser-button-dialog "dialog"
                          "GtkFileChooser" nil nil)
 
 (define-g-object-class "GtkStatusbar" statusbar
                        (:superclass h-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_statusbar_get_type")
                        ((has-resize-grip statusbar-has-resize-grip
                          "has-resize-grip" "gboolean" t t)))
 
-(define-g-object-class "GtkCombo" combo
-                       (:superclass h-box :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
-                        :type-initializer "gtk_combo_get_type")
-                       ((enable-arrow-keys combo-enable-arrow-keys
-                         "enable-arrow-keys" "gboolean" t t)
-                        (enable-arrows-always combo-enable-arrows-always
-                         "enable-arrows-always" "gboolean" t t)
-                        (case-sensitive combo-case-sensitive "case-sensitive"
-                         "gboolean" t t)
-                        (allow-empty combo-allow-empty "allow-empty" "gboolean"
-                         t t)
-                        (value-in-list combo-value-in-list "value-in-list"
-                         "gboolean" t t)))
-
 (define-g-object-class "GtkFixed" fixed
                        (:superclass container :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_fixed_get_type")
-                       nil)
+                       ((:cffi has-window fixed-has-window :boolean
+                         "gtk_fixed_get_has_window"
+                         "gtk_fixed_set_has_window")))
 
 (define-g-object-class "GtkPaned" paned
                        (:superclass container :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_paned_get_type")
                        ((position paned-position "position" "gint" t t)
                         (position-set paned-position-set "position-set"
 
 (define-g-object-class "GtkHPaned" h-paned
                        (:superclass paned :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_hpaned_get_type")
                        nil)
 
 (define-g-object-class "GtkVPaned" v-paned
                        (:superclass paned :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_vpaned_get_type")
                        nil)
 
                         (vadjustment layout-vadjustment "vadjustment"
                          "GtkAdjustment" t t)
                         (width layout-width "width" "guint" t t)
-                        (height layout-height "height" "guint" t t)))
+                        (height layout-height "height" "guint" t t)
+                        (:cffi bin-window layout-bin-window g-object
+                         "gtk_layout_get_bin_window" nil)))
 
 (define-g-object-class "GtkSocket" socket
                        (:superclass container :export t :interfaces
                         (overwrite text-view-overwrite "overwrite" "gboolean" t
                          t)
                         (accepts-tab text-view-accepts-tab "accepts-tab"
-                         "gboolean" t t)))
+                         "gboolean" t t)
+                        (im-module text-view-im-module "im-module" "gchararray"
+                         t t)))
 
 (define-g-object-class "GtkToolbar" toolbar
                        (:superclass container :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable" "GtkToolShell")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable"
+                         "GtkToolShell")
                         :type-initializer "gtk_toolbar_get_type")
-                       ((orientation toolbar-orientation "orientation"
-                         "GtkOrientation" t t)
-                        (toolbar-style toolbar-toolbar-style "toolbar-style"
+                       ((toolbar-style toolbar-toolbar-style "toolbar-style"
                          "GtkToolbarStyle" t t)
                         (show-arrow toolbar-show-arrow "show-arrow" "gboolean"
                          t t)
                         (tooltips toolbar-tooltips "tooltips" "gboolean" t t)
-                        (icon-size toolbar-icon-size "icon-size" "GtkIconSize"
-                         t t)
+                        (icon-size toolbar-icon-size "icon-size" "gint" t t)
                         (icon-size-set toolbar-icon-size-set "icon-size-set"
                          "gboolean" t t)))
 
                         :type-initializer "gtk_tree_get_type")
                        nil)
 
-(define-g-object-class "GtkCList" c-list
-                       (:superclass container :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
-                        :type-initializer "gtk_clist_get_type")
-                       ((n-columns c-list-n-columns "n-columns" "guint" t nil)
-                        (shadow-type c-list-shadow-type "shadow-type"
-                         "GtkShadowType" t t)
-                        (selection-mode c-list-selection-mode "selection-mode"
-                         "GtkSelectionMode" t t)
-                        (row-height c-list-row-height "row-height" "guint" t t)
-                        (titles-active c-list-titles-active "titles-active"
-                         "gboolean" t t)
-                        (reorderable c-list-reorderable "reorderable"
-                         "gboolean" t t)
-                        (use-drag-icons c-list-use-drag-icons "use-drag-icons"
-                         "gboolean" t t)
-                        (sort-type c-list-sort-type "sort-type" "GtkSortType" t
-                         t)))
-
 (define-g-object-class "GtkMisc" misc
                        (:superclass widget :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         (detail-width-chars calendar-detail-width-chars
                          "detail-width-chars" "gint" t t)
                         (detail-height-rows calendar-detail-height-rows
-                         "detail-height-rows" "gint" t t)))
+                         "detail-height-rows" "gint" t t)
+                        (:cffi detail-function calendar-detail-function nil nil
+                         calendar-set-detail-function)))
 
 (define-g-object-class "GtkCellView" cell-view
                        (:superclass widget :export t :interfaces
                          "background-gdk" "GdkColor" t t)
                         (background-set cell-view-background-set
                          "background-set" "gboolean" t t)
-                        (model cell-view-model "model" "GtkTreeModel" t t)))
+                        (model cell-view-model "model" "GtkTreeModel" t t)
+                        (:cffi displayed-row cell-view-displayed-row
+                         (g-boxed-foreign tree-path)
+                         "gtk_cell_view_get_displayed_row"
+                         "gtk_cell_view_set_displayed_row")))
 
 (define-g-object-class "GtkDrawingArea" drawing-area
                        (:superclass widget :export t :interfaces
                         (overwrite-mode entry-overwrite-mode "overwrite-mode"
                          "gboolean" t t)
                         (text-length entry-text-length "text-length" "guint" t
-                         nil)))
+                         nil)
+                        (invisible-char-set entry-invisible-char-set
+                         "invisible-char-set" "gboolean" t t)
+                        (caps-lock-warning entry-caps-lock-warning
+                         "caps-lock-warning" "gboolean" t t)
+                        (progress-fraction entry-progress-fraction
+                         "progress-fraction" "gdouble" t t)
+                        (progress-pulse-step entry-progress-pulse-step
+                         "progress-pulse-step" "gdouble" t t)
+                        (primary-icon-pixbuf entry-primary-icon-pixbuf
+                         "primary-icon-pixbuf" "GdkPixbuf" t t)
+                        (secondary-icon-pixbuf entry-secondary-icon-pixbuf
+                         "secondary-icon-pixbuf" "GdkPixbuf" t t)
+                        (primary-icon-stock entry-primary-icon-stock
+                         "primary-icon-stock" "gchararray" t t)
+                        (secondary-icon-stock entry-secondary-icon-stock
+                         "secondary-icon-stock" "gchararray" t t)
+                        (primary-icon-name entry-primary-icon-name
+                         "primary-icon-name" "gchararray" t t)
+                        (secondary-icon-name entry-secondary-icon-name
+                         "secondary-icon-name" "gchararray" t t)
+                        (primary-icon-gicon entry-primary-icon-gicon
+                         "primary-icon-gicon" "GIcon" t t)
+                        (secondary-icon-gicon entry-secondary-icon-gicon
+                         "secondary-icon-gicon" "GIcon" t t)
+                        (primary-icon-storage-type
+                         entry-primary-icon-storage-type
+                         "primary-icon-storage-type" "GtkImageType" t nil)
+                        (secondary-icon-storage-type
+                         entry-secondary-icon-storage-type
+                         "secondary-icon-storage-type" "GtkImageType" t nil)
+                        (primary-icon-activatable
+                         entry-primary-icon-activatable
+                         "primary-icon-activatable" "gboolean" t t)
+                        (secondary-icon-activatable
+                         entry-secondary-icon-activatable
+                         "secondary-icon-activatable" "gboolean" t t)
+                        (primary-icon-sensitive entry-primary-icon-sensitive
+                         "primary-icon-sensitive" "gboolean" t t)
+                        (secondary-icon-sensitive
+                         entry-secondary-icon-sensitive
+                         "secondary-icon-sensitive" "gboolean" t t)
+                        (primary-icon-tooltip-text
+                         entry-primary-icon-tooltip-text
+                         "primary-icon-tooltip-text" "gchararray" t t)
+                        (secondary-icon-tooltip-text
+                         entry-secondary-icon-tooltip-text
+                         "secondary-icon-tooltip-text" "gchararray" t t)
+                        (primary-icon-tooltip-markup
+                         entry-primary-icon-tooltip-markup
+                         "primary-icon-tooltip-markup" "gchararray" t t)
+                        (secondary-icon-tooltip-markup
+                         entry-secondary-icon-tooltip-markup
+                         "secondary-icon-tooltip-markup" "gchararray" t t)
+                        (im-module entry-im-module "im-module" "gchararray" t
+                         t)))
 
 (define-g-object-class "GtkSpinButton" spin-button
                        (:superclass entry :export t :interfaces
 
 (define-g-object-class "GtkRuler" ruler
                        (:superclass widget :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_ruler_get_type")
                        ((lower ruler-lower "lower" "gdouble" t t)
                         (upper ruler-upper "upper" "gdouble" t t)
 
 (define-g-object-class "GtkHRuler" h-ruler
                        (:superclass ruler :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_hruler_get_type")
                        nil)
 
 (define-g-object-class "GtkVRuler" v-ruler
                        (:superclass ruler :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_vruler_get_type")
                        nil)
 
 (define-g-object-class "GtkRange" range
                        (:superclass widget :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_range_get_type")
                        ((update-policy range-update-policy "update-policy"
                          "GtkUpdateType" t t)
 
 (define-g-object-class "GtkScale" scale
                        (:superclass range :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_scale_get_type")
                        ((digits scale-digits "digits" "gint" t t)
                         (draw-value scale-draw-value "draw-value" "gboolean" t
 
 (define-g-object-class "GtkHScale" h-scale
                        (:superclass scale :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_hscale_get_type")
                        nil)
 
 (define-g-object-class "GtkVScale" v-scale
                        (:superclass scale :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_vscale_get_type")
                        nil)
 
 (define-g-object-class "GtkScrollbar" scrollbar
                        (:superclass range :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_scrollbar_get_type")
                        nil)
 
 (define-g-object-class "GtkHScrollbar" h-scrollbar
                        (:superclass scrollbar :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_hscrollbar_get_type")
                        nil)
 
 (define-g-object-class "GtkVScrollbar" v-scrollbar
                        (:superclass scrollbar :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_vscrollbar_get_type")
                        nil)
 
 (define-g-object-class "GtkSeparator" separator
                        (:superclass widget :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_separator_get_type")
                        nil)
 
 (define-g-object-class "GtkHSeparator" h-separator
                        (:superclass separator :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_hseparator_get_type")
                        nil)
 
 (define-g-object-class "GtkVSeparator" v-separator
                        (:superclass separator :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable")
+                        ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_vseparator_get_type")
                        nil)
 
                         (sort-indicator tree-view-column-sort-indicator
                          "sort-indicator" "gboolean" t t)
                         (sort-order tree-view-column-sort-order "sort-order"
-                         "GtkSortType" t t)))
+                         "GtkSortType" t t)
+                        (:cffi tree-view tree-view-column-tree-view g-object
+                         "gtk_tree_view_column_get_tree_view" nil)
+                        (:cffi sort-column-id tree-view-column-sort-column-id
+                         :int "gtk_tree_view_column_get_sort_column_id"
+                         "gtk_tree_view_column_set_sort_column_id")
+                        (:cffi cell-renderers tree-view-column-cell-renderers
+                         (glist g-object :free-from-foreign t)
+                         "gtk_tree_view_column_get_cell_renderers" nil)))
 
 (define-g-object-class "GtkCellRenderer" cell-renderer
                        (:superclass gtk-object :export t :interfaces nil
 (define-g-object-class "GtkFileFilter" file-filter
                        (:superclass gtk-object :export t :interfaces nil
                         :type-initializer "gtk_file_filter_get_type")
-                       nil)
+                       ((:cffi name file-filter-name :string
+                         "gtk_file_filter_get_name"
+                         "gtk_file_filter_set_name")))
 
 (define-g-object-class "GtkRecentFilter" recent-filter
                        (:superclass gtk-object :export t :interfaces nil
                          "gtk-recent-files-max-age" "gint" t t)
                         (gtk-fontconfig-timestamp
                          settings-gtk-fontconfig-timestamp
-                         "gtk-fontconfig-timestamp" "gint" t t)
+                         "gtk-fontconfig-timestamp" "guint" t t)
                         (gtk-sound-theme-name settings-gtk-sound-theme-name
                          "gtk-sound-theme-name" "gchararray" t t)
                         (gtk-enable-input-feedback-sounds
                          "gtk-enable-tooltips" "gboolean" t t)
                         (gtk-button-images settings-gtk-button-images
                          "gtk-button-images" "gboolean" t t)
-                        (gtk-entry-select-on-focus
-                         settings-gtk-entry-select-on-focus
-                         "gtk-entry-select-on-focus" "gboolean" t t)
-                        (gtk-entry-password-hint-timeout
-                         settings-gtk-entry-password-hint-timeout
-                         "gtk-entry-password-hint-timeout" "guint" t t)
-                        (gtk-label-select-on-focus
-                         settings-gtk-label-select-on-focus
-                         "gtk-label-select-on-focus" "gboolean" t t)
+                        (gtk-menu-images settings-gtk-menu-images
+                         "gtk-menu-images" "gboolean" t t)
                         (gtk-scrolled-window-placement
                          settings-gtk-scrolled-window-placement
                          "gtk-scrolled-window-placement" "GtkCornerType" t t)
-                        (gtk-menu-images settings-gtk-menu-images
-                         "gtk-menu-images" "gboolean" t t)
                         (gtk-can-change-accels settings-gtk-can-change-accels
                          "gtk-can-change-accels" "gboolean" t t)
                         (gtk-menu-popup-delay settings-gtk-menu-popup-delay
                         (gtk-toolbar-style settings-gtk-toolbar-style
                          "gtk-toolbar-style" "GtkToolbarStyle" t t)
                         (gtk-toolbar-icon-size settings-gtk-toolbar-icon-size
-                         "gtk-toolbar-icon-size" "GtkIconSize" t t)))
+                         "gtk-toolbar-icon-size" "GtkIconSize" t t)
+                        (gtk-label-select-on-focus
+                         settings-gtk-label-select-on-focus
+                         "gtk-label-select-on-focus" "gboolean" t t)
+                        (gtk-entry-select-on-focus
+                         settings-gtk-entry-select-on-focus
+                         "gtk-entry-select-on-focus" "gboolean" t t)
+                        (gtk-entry-password-hint-timeout
+                         settings-gtk-entry-password-hint-timeout
+                         "gtk-entry-password-hint-timeout" "guint" t t)))
 
 (define-g-object-class "GtkRcStyle" rc-style
                        (:superclass g-object :export t :interfaces nil
                         (stock-id action-stock-id "stock-id" "gchararray" t t)
                         (icon-name action-icon-name "icon-name" "gchararray" t
                          t)
+                        (gicon action-gicon "gicon" "GIcon" t t)
                         (visible-horizontal action-visible-horizontal
                          "visible-horizontal" "gboolean" t t)
                         (visible-vertical action-visible-vertical
                         (sensitive action-sensitive "sensitive" "gboolean" t t)
                         (visible action-visible "visible" "gboolean" t t)
                         (action-group action-action-group "action-group"
-                         "GtkActionGroup" t t)))
+                         "GtkActionGroup" t t)
+                        (:cffi accel-path action-accel-path
+                         (:string :free-from-foreign nil :free-to-foreign t)
+                         "gtk_action_get_accel_path"
+                         "gtk_action_set_accel_path")
+                        (:cffi accel-group action-accel-group g-object nil
+                         "gtk_action_set_accel_group")))
 
 (define-g-object-class "GtkActionGroup" action-group
                        (:superclass g-object :export t :interfaces
                        ((name action-group-name "name" "gchararray" t nil)
                         (sensitive action-group-sensitive "sensitive"
                          "gboolean" t t)
-                        (visible action-group-visible "visible" "gboolean" t
-                         t)))
+                        (visible action-group-visible "visible" "gboolean" t t)
+                        (:cffi translate-function
+                         action-group-translate-function nil nil
+                         action-group-set-translate-func)
+                        (:cffi translation-domain
+                         action-group-translation-domain nil nil
+                         gtk-action-group-set-translation-domain)))
 
 (define-g-object-class "GtkBuilder" builder
                        (:superclass g-object :export t :interfaces nil
 
 (define-g-object-class "GtkListStore" list-store
                        (:superclass g-object :export t :interfaces
-                        ("GtkBuildable" "GtkTreeModel" "GtkTreeDragSource"
-                         "GtkTreeDragDest" "GtkTreeSortable")
+                        ("GtkBuildable" "GtkTreeDragDest" "GtkTreeDragSource"
+                         "GtkTreeModel" "GtkTreeSortable")
                         :type-initializer "gtk_list_store_get_type")
                        nil)
 
                         (embedded status-icon-embedded "embedded" "gboolean" t
                          nil)
                         (blinking status-icon-blinking "blinking" "gboolean" t
-                         t)))
+                         t)
+                        (has-tooltip status-icon-has-tooltip "has-tooltip"
+                         "gboolean" t t)
+                        (tooltip-text status-icon-tooltip-text "tooltip-text"
+                         "gchararray" t t)
+                        (tooltip-markup status-icon-tooltip-markup
+                         "tooltip-markup" "gchararray" t t)))
 
 (define-g-object-class "GtkTextBuffer" text-buffer
                        (:superclass g-object :export t :interfaces nil
                          "gboolean" t t)
                         (paragraph-background-set
                          text-tag-paragraph-background-set
-                         "paragraph-background-set" "gboolean" t t)))
+                         "paragraph-background-set" "gboolean" t t)
+                        (:cffi priority text-tag-priority :int
+                         "gtk_text_tag_get_priority"
+                         "gtk_text_tag_set_priority")))
 
 (define-g-object-class "GtkTextTagTable" text-tag-table
                        (:superclass g-object :export t :interfaces nil
 
 (define-g-object-class "GtkTreeModelFilter" tree-model-filter
                        (:superclass g-object :export t :interfaces
-                        ("GtkTreeModel" "GtkTreeDragSource") :type-initializer
+                        ("GtkTreeDragSource" "GtkTreeModel") :type-initializer
                         "gtk_tree_model_filter_get_type")
                        ((child-model tree-model-filter-child-model
                          "child-model" "GtkTreeModel" t nil)
 
 (define-g-object-class "GtkTreeModelSort" tree-model-sort
                        (:superclass g-object :export t :interfaces
-                        ("GtkTreeModel" "GtkTreeDragSource" "GtkTreeSortable")
+                        ("GtkTreeDragSource" "GtkTreeModel" "GtkTreeSortable")
                         :type-initializer "gtk_tree_model_sort_get_type")
                        ((model tree-model-sort-model "model" "GtkTreeModel" t
                          nil)))
 (define-g-object-class "GtkTreeSelection" tree-selection
                        (:superclass g-object :export t :interfaces nil
                         :type-initializer "gtk_tree_selection_get_type")
-                       nil)
+                       ((:cffi mode tree-selection-mode selection-mode
+                         "gtk_tree_selection_get_mode"
+                         "gtk_tree_selection_set_mode")
+                        (:cffi select-function tree-selection-select-function
+                         nil tree-selection-get-selection-function
+                         tree-selection-set-select-function)))
 
 (define-g-object-class "GtkTreeStore" tree-store
                        (:superclass g-object :export t :interfaces
-                        ("GtkBuildable" "GtkTreeModel" "GtkTreeDragSource"
-                         "GtkTreeDragDest" "GtkTreeSortable")
+                        ("GtkBuildable" "GtkTreeDragDest" "GtkTreeDragSource"
+                         "GtkTreeModel" "GtkTreeSortable")
                         :type-initializer "gtk_tree_store_get_type")
                        nil)
 
-(define-g-object-class "GtkUIManager" u-i-manager
+(define-g-object-class "GtkUIManager" ui-manager
                        (:superclass g-object :export t :interfaces
                         ("GtkBuildable"))
-                       ((add-tearoffs u-i-manager-add-tearoffs "add-tearoffs"
+                       ((add-tearoffs ui-manager-add-tearoffs "add-tearoffs"
                          "gboolean" t t)
-                        (ui u-i-manager-ui "ui" "gchararray" t nil)))
+                        (ui ui-manager-ui "ui" "gchararray" t nil)
+                        (:cffi accel-group ui-manager-accel-group g-object
+                         "gtk_ui_manager_get_accel_group" nil)))
 
 (define-g-object-class "GtkWindowGroup" window-group
                        (:superclass g-object :export t :interfaces nil
                         :type-initializer "gtk_window_group_get_type")
                        nil)
 
+(define-g-object-class "GtkToggleAction" toggle-action
+                       (:superclass action :export t :interfaces
+                        ("GtkBuildable") :type-initializer
+                        "gtk_toggle_action_get_type")
+                       ((draw-as-radio toggle-action-draw-as-radio
+                         "draw-as-radio" "gboolean" t t)
+                        (active toggle-action-active "active" "gboolean" t t)))
+
+(define-g-object-class "GtkRecentAction" recent-action
+                       (:superclass action :export t :interfaces
+                        ("GtkBuildable" "GtkRecentChooser") :type-initializer
+                        "gtk_recent_action_get_type")
+                       ((show-numbers recent-action-show-numbers "show-numbers"
+                         "gboolean" t t)))
+
+(define-g-object-class "GtkRadioAction" radio-action
+                       (:superclass toggle-action :export t :interfaces
+                        ("GtkBuildable") :type-initializer
+                        "gtk_radio_action_get_type")
+                       ((value radio-action-value "value" "gint" t t)
+                        (group radio-action-group "group" "GtkRadioAction" nil
+                         t)
+                        (current-value radio-action-current-value
+                         "current-value" "gint" t t)))
+