[cells-gtk-cvs] CVS update: root/gtk-ffi/gtk-utilities.lisp

Peter Denno pdenno at common-lisp.net
Sun May 29 21:24:11 UTC 2005


Update of /project/cells-gtk/cvsroot/root/gtk-ffi
In directory common-lisp.net:/tmp/cvs-serv9151/gtk-ffi

Modified Files:
	gtk-utilities.lisp 
Log Message:
Cleaned up so that it doesn't generate strings and intern just to call g-value functions.
Date: Sun May 29 23:24:10 2005
Author: pdenno

Index: root/gtk-ffi/gtk-utilities.lisp
diff -u root/gtk-ffi/gtk-utilities.lisp:1.13 root/gtk-ffi/gtk-utilities.lisp:1.14
--- root/gtk-ffi/gtk-utilities.lisp:1.13	Sat Feb 26 23:44:48 2005
+++ root/gtk-ffi/gtk-utilities.lisp	Sun May 29 23:24:10 2005
@@ -16,6 +16,7 @@
  
 |#
 
+;;; Function with equivalents in gtklib.
 
 (in-package :gtk-ffi)
 
@@ -163,21 +164,22 @@
     (gtk-tree-store-newv (length col-types) gtk-types)))
 
 (defun gtk-tree-store-set (tstore iter types-lst data-lst)
+  "Sets the value of one or more cells in a row referenced by iter."
   (with-g-value (value)
     (loop for col from 0
         for data in data-lst
         for type in types-lst
         do ;; (print (list :tree-store-set value type (as-gtk-type type)))
           (g-value-init value (as-gtk-type type))
-          (funcall (intern (format nil "G-VALUE-SET-~a" (case type 
-                                                          (:date 'float)
-                                                          (:icon 'string)
-                                                          (t type)))
-                     :gtk-ffi)
+          (funcall (case type
+		     ((:string :icon) #'g-value-set-string)
+		     (:int #'g-value-set-int)
+		     (:long #'g-value-set-long)
+		     (:boolean #'g-value-set-boolean)
+		     ((:float :date) #'g-value-set-float)
+		     (t (error "Invalid type: ~S?" type)))
             value
-            (if (eql type :date)
-                (coerce data 'single-float)
-              data))
+            (if (eql type :date) (coerce data 'single-float) data))
           (gtk-tree-store-set-value tstore iter col value)
           (g-value-unset value))))
 




More information about the Cells-gtk-cvs mailing list