;; -*-theme-d-*-

;; Copyright (C) 2015 Tommi Höynälänmaa

(define-body (gnome gtk)

  (prelink-body (gnome wrap gtk))
  
  (define gtk-text-buffer-create-tag
    (prim-proc gtk-text-buffer-create-tag
	       (<gtk-text-buffer> <string> (rest <object>)) <gtk-text-tag>
	       nonpure))

  (add-method create-tag gtk-text-buffer-create-tag)

  (define gtk-entry-new
    (prim-proc theme-gtk-entry-new () <gtk-widget> nonpure))

  (define gtk-entry-create
    (prim-proc theme-gtk-entry-new () <gtk-entry> nonpure))

  (define gtk-tree-or-list-store-set
    (prim-proc gtk-tree-or-list-store-set (<object> <object> (rest <object>))
	       <none>
	       nonpure))

  (define gtk-tree-selection-get-selected
    (prim-proc theme-gtk-tree-selection-get-selected
  	       (<gtk-tree-selection>)
  	       (:pair <gtk-tree-model> <gtk-tree-iter>)
  	       pure))

  (add-method get-selected gtk-tree-selection-get-selected)

  (define gtk-stock-id
    (prim-proc gtk-stock-id (<symbol>) <string> pure))

  (define gtk-dialog-new
    (prim-proc theme-gtk-dialog-new (<string> <boolean> <boolean>) <gtk-widget>
	       nonpure))

  (define gtk-dialog-create
    (prim-proc theme-gtk-dialog-new (<string> <boolean> <boolean>) <gtk-dialog>
	       nonpure))

  (define gtk-frame-new-alt
    (prim-proc theme-gtk-frame-new ((:maybe <string>) <symbol> <integer>
				    <integer>)
	       <gtk-widget>
	       nonpure))

  (define gtk-frame-create-alt
    (prim-proc theme-gtk-frame-new ((:maybe <string>) <symbol> <integer>
				    <integer>)
	       <gtk-frame>
	       nonpure))
  
  (define gtk-action-group-add-actions
    (prim-proc theme-gtk-action-group-add-actions (<gtk-action-group> <list>)
  	       <none> nonpure))

  (add-method add-actions gtk-action-group-add-actions)

  (define gtk-action-group-add-toggle-actions
    (prim-proc theme-gtk-action-group-add-toggle-actions
  	       (<gtk-action-group> <list>)
  	       <none> nonpure))

  (add-method add-toggle-actions gtk-action-group-add-toggle-actions)

  (define gtk-action-group-add-radio-actions
    (prim-proc theme-gtk-action-group-add-radio-actions
  	       (<gtk-action-group> <list> <integer> <signal-handler>)
  	       <none> nonpure))

  (add-method add-radio-actions gtk-action-group-add-radio-actions)

  (define gtk-ui-manager-add-ui-from-string
    (prim-proc gtk-ui-manager-add-ui-from-string
  	       (<gtk-ui-manager> <string>) <integer> nonpure))

  (add-method add-ui-from-string gtk-ui-manager-add-ui-from-string)

  (define gtk-rc-style-create gtk-rc-style-new)

  (define gtk-combo-box-create-text
    (prim-proc gtk-combo-box-new-text () <gtk-combo-box> nonpure))

  )
