X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gtk%2Fgtk.tree-view-column.lisp;h=da1e3a1aefc5fd5f868de18d627d8c774d9328a7;hb=bd6107b4baeadf2e895ac82f8c977ca3c0c5ad3a;hp=ac3f371956bf34451ed28a51940075d2c96158ca;hpb=51aa0c04d9522fa9c17555cc779036aa9703ef02;p=cl-gtk2.git diff --git a/gtk/gtk.tree-view-column.lisp b/gtk/gtk.tree-view-column.lisp index ac3f371..da1e3a1 100644 --- a/gtk/gtk.tree-view-column.lisp +++ b/gtk/gtk.tree-view-column.lisp @@ -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 @@ -71,13 +71,38 @@ (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))