chiark / gitweb /
Symbolic column names with CELL-LAYOUT-ADD-ATTRIBUTE now possible
[clg] / gtk / gtktree.lisp
index 7864a12021fac625916da1622c1861741ff49cb1..b65bc52cd5c64bc8480beae099d73509e6d18f78 100644 (file)
@@ -1,5 +1,5 @@
 ;; Common Lisp bindings for GTK+ v2.0
-;; Copyright (C) 1999-2001 Espen S. Johnsen <esj@stud.cs.uit.no>
+;; Copyright (C) 1999-2005 Espen S. Johnsen <espen@users.sf.net>
 ;;
 ;; This library is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU Lesser General Public
@@ -15,7 +15,7 @@
 ;; License along with this library; if not, write to the Free Software
 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-;; $Id: gtktree.lisp,v 1.3 2004-11-21 17:57:56 espen Exp $
+;; $Id: gtktree.lisp,v 1.7 2005-02-27 19:56:06 espen Exp $
 
 
 (in-package "GTK")
@@ -47,11 +47,12 @@ (defbinding cell-layout-reorder () nil
 (defbinding cell-layout-clear () nil
   (cell-layout cell-layout))
 
-(defbinding cell-layout-add-attribute (cell-layout cell attribute column) nil
+(defbinding cell-layout-add-attribute 
+    (cell-layout cell attribute column &optional model) nil
   (cell-layout cell-layout)
   (cell cell-renderer)
   ((string-downcase attribute) string)
-  (column int))
+  ((if model (column-index model column) column) int))
 
 (def-callback-marshal %cell-layout-data-func 
     (nil cell-layout cell-renderer tree-model (copy-of tree-iter)))
@@ -61,7 +62,7 @@ (defbinding cell-layout-set-cell-data-func (cell-layout cell function) nil
   (cell cell-renderer)
   ((callback %cell-layout-data-func) pointer)
   ((register-callback-function function) unsigned-int)
-  ((callback %destroy-user-data) pointer))
+  ((callback user-data-destroy-func) pointer))
 
 (defbinding cell-layout-clear-attributes () nil
   (cell-layout cell-layout)
@@ -292,7 +293,7 @@ (defbinding (tree-row-reference-valid-p "gtk_tree_row_reference_valid") () boole
   (reference tree-row-reference))
 
 
-(defbinding tree-model-get-column-type () type-number
+(defbinding tree-model-get-column-type () gtype ;type-number
   (tree-model tree-model)
   (index int))
 
@@ -312,9 +313,9 @@ (defbinding %tree-model-get-value () nil
   (column int)
   (gvalue gvalue))
 
-(defun tree-model-get-column-value (model iter column)
+(defun tree-model-column-value (model iter column)
   (let ((index (column-index model column)))
-    (with-gvalue (gvalue (tree-model-get-column-type model index))
+    (with-gvalue (gvalue)
       (%tree-model-get-value model iter index gvalue))))
 
 (defbinding tree-model-iter-next () boolean
@@ -337,7 +338,7 @@ (defbinding tree-model-iter-n-children () int
   (iter tree-iter))
 
 (defbinding tree-model-iter-nth-child
-    (tree-model parent &optional (iter (make-instance 'tree-iter))) boolean
+    (tree-model parent &optional (iter (make-instance 'tree-iter))) boolean
   (tree-model tree-model)
   (iter tree-iter :return)
   (parent (or null tree-iter))
@@ -418,7 +419,8 @@ (defun tree-model-column-value-setter (model column)
       (let ((setter 
             (mkbinding (column-setter-name model)
              nil (type-of model) 'tree-iter 'int
-             (type-from-number (tree-model-get-column-type model index))
+;            (type-from-number (tree-model-get-column-type model index))
+             (tree-model-get-column-type model index)
              'int)))
        #'(lambda (value iter)
            (funcall setter model iter index value -1))))))))
@@ -465,7 +467,7 @@ (defbinding tree-selection-set-select-function (selection function) nil
   (selection tree-selection)
   ((callback %tree-selection-func) pointer)
   ((register-callback-function function) unsigned-int)
-  ((callback %destroy-user-data) pointer))
+  ((callback user-data-destroy-func) pointer))
 
 (defbinding tree-selection-get-selected 
     (selection &optional (iter (make-instance 'tree-iter))) boolean
@@ -588,7 +590,7 @@ (defbinding %tree-store-insert-before () nil
   (parent (or null tree-iter))
   (sibling (or null tree-iter)))
 
-(defun tree-store-insert-after 
+(defun tree-store-insert-before 
     (store parent sibling &optional data (iter (make-instance 'tree-iter)))
   (%tree-store-insert-before store iter parent sibling)
   (when data (%tree-model-set store iter data))
@@ -684,7 +686,7 @@ (defbinding tree-view-remove-column () int
   (tree-view tree-view)
   (tree-view-column tree-view-column))
 
-(defbinding tree-view-insert-column (view columnd position) int
+(defbinding tree-view-insert-column (view column position) int
   (view tree-view)
   (column tree-view-column)
   ((if (eq position :end) -1 position) int))