/usr/share/guile-gnome-2/gnome/gtk.scm is in guile-gnome2-gtk 2.16.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | ;; guile-gnome
;; Copyright (C) 2003,2004,2009 Andy Wingo <wingo at pobox dot com>
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;; published by the Free Software Foundation; either version 2 of
;; the License, or (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, contact:
;;
;; Free Software Foundation Voice: +1-617-542-5942
;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
;; Boston, MA 02111-1307, USA gnu@gnu.org
;;; Commentary:
;;
;;A GTK+ 2.x wrapper for Guile.
;;
;;; Code:
(define-module (gnome gtk)
#:use-module (oop goops)
#:use-module (gnome gobject)
#:use-module (gnome gobject generics)
#:use-module (gnome gobject utils)
#:use-module (gnome gw support modules)
#:export (<guile-gtk-tree-model>
on-get-flags on-get-n-columns on-get-column-type
on-get-iter on-get-path on-get-value on-iter-next
on-iter-children on-iter-has-child on-iter-n-children
on-iter-nth-child on-iter-parent
gtk-tree-or-list-store-set
gtk-text-buffer-create-tag create-tag
gtk-stock-id))
(define-macro (time-debug . forms)
`(begin ,@forms))
(time-debug (use-modules (gnome gw gdk)))
(time-debug (use-modules (gnome gw gtk)))
(re-export-modules (gnome gw gdk)
(gnome gw gtk))
;; Support explicit object destruction.
(define-method (initialize (instance <gtk-object>) initargs)
(next-method)
(connect instance 'destroy
(lambda args
(gtype-instance-destroy! instance))))
(define <guile-gtk-tree-model> <guile-gtk-generic-tree-model>)
;; FIXME: doc me!
(define-generic-with-docs on-get-flags
"")
(define-generic-with-docs on-get-n-columns
"")
(define-generic-with-docs on-get-column-type
"")
(define-generic-with-docs on-get-iter
"")
(define-generic-with-docs on-get-path
"")
(define-generic-with-docs on-get-value
"")
(define-generic-with-docs on-iter-next
"")
(define-generic-with-docs on-iter-children
"")
(define-generic-with-docs on-iter-has-child
"")
(define-generic-with-docs on-iter-n-children
"")
(define-generic-with-docs on-iter-nth-child
"")
(define-generic-with-docs on-iter-parent
"")
;; Support tree models written in guile.
(define-method (on-get-flags (obj <guile-gtk-tree-model>))
(make <gtk-tree-model-flags> #:value 0))
;; Miscellany.
(define (gtk-tree-or-list-store-set store iter . args)
(or (even? (length args)) (scm-error 'gruntime-error "Invalid arguments"))
(let loop ((args args))
(if (eq? args '())
*unspecified*
(begin
(set-value store iter (car args) (cadr args))
(loop (cddr args))))))
(define-method (set (store <gtk-list-store>) (iter <gtk-tree-iter>) . args)
(apply gtk-tree-or-list-store-set store iter args))
(define-method (set (store <gtk-tree-store>) (iter <gtk-tree-iter>) . args)
(apply gtk-tree-or-list-store-set store iter args))
(define (gtk-text-buffer-create-tag buffer tag-name . properties)
(let ((tag (make <gtk-text-tag> #:name tag-name)))
(if (not (even? (length properties)))
(scm-error 'gruntime-error "Invalid property list: ~A" properties))
(add (get-tag-table buffer) tag)
(let loop ((props properties))
(if (null? props)
tag
(begin
(set tag (car props) (cadr props))
(loop (cddr props)))))))
(define-method (create-tag (buffer <gtk-text-buffer>) tag-name . properties)
(apply gtk-text-buffer-create-tag buffer tag-name properties))
(export create-tag)
(define (gtk-stock-id nick)
(string-append "gtk-" (symbol->string nick)))
|