Typo.
[cl-gtk2.git] / gtk / gtk.tree-view-column.lisp
index ac3f371..ca86c4c 100644 (file)
@@ -37,7 +37,7 @@
     ((tree-column (g-object tree-column))
      (cell (g-object cell-renderer))
      (tree-model (g-object tree-model))
-     (iter (g-boxed-ref tree-iter))
+     (iter (g-boxed-foreign tree-iter))
      (data :pointer))
   (let ((fn (get-stable-pointer-value data)))
     (restart-case
@@ -48,7 +48,7 @@
   (free-stable-pointer data))
 
 (defcfun gtk-tree-view-column-set-cell-data-func :void
-  (tree-column (g-object tree-column))
+  (tree-column (g-object tree-view-column))
   (cell-renderer (g-object cell-renderer))
   (func :pointer)
   (func-data :pointer)
@@ -62,6 +62,8 @@
    (allocate-stable-pointer function)
    (callback gtk-tree-cell-data-func-destroy-cb)))
 
+(export 'tree-view-column-set-cell-data-function)
+
 (defcfun (tree-view-column-clear-attributes "gtk_tree_view_column_clear_attributes") :void
   (tree-column (g-object tree-column))
   (cell-renderer (g-object cell-renderer)))
 (defcfun (tree-view-column-cell-set-cell-data "gtk_tree_view_column_cell_set_cell_data") :void
   (tree-column (g-object tree-view-column))
   (tree-model (g-object tree-model))
-  (iter (g-boxed-ref tree-iter))
+  (iter (g-boxed-foreign tree-iter))
   (is-expander :boolean)
   (is-expanded :boolean))
 
-(export 'tree-view-column-set-cell-data)
+(export 'tree-view-column-cell-set-data)
+
+(defcfun gtk-tree-view-column-cell-get-size :void
+  (tree-column (g-object tree-view-column))
+  (cell-area (g-boxed-foreign rectangle))
+  (x-offset (:pointer :int))
+  (y-offset (:pointer :int))
+  (width (:pointer :int))
+  (height (:pointer :int)))
+
+(defun tree-view-column-cell-size (tree-column cell-area)
+  (with-foreign-objects ((x :int) (y :int) (width :int) (height :int))
+    (gtk-tree-view-column-cell-get-size tree-column cell-area x y width height)
+    (values (mem-ref x :int) (mem-ref y :int) (mem-ref width :int) (mem-ref height :int))))
+
+(export 'tree-view-column-cell-size)
+
+(defcfun gtk-tree-view-column-cell-get-position :boolean
+  (tree-column (g-object tree-view-column))
+  (cell-renderer (g-object cell-renderer))
+  (start-pos (:pointer :int))
+  (width (:pointer :int)))
+
+(defun tree-view-column-cell-position (tree-column cell-renderer)
+  (with-foreign-objects ((start :int) (width :int))
+    (when (gtk-tree-view-column-cell-get-position tree-column cell-renderer start width)
+      (list (mem-ref start :int) (mem-ref width :int)))))
 
-;; TODO gtk_tree_view_column_cell_get_size () gtk_tree_view_column_cell_get_position ()
 
 (defcfun (tree-view-column-focus-cell "gtk_tree_view_column_focus_cell") :void
   (tree-column (g-object tree-view-column))