X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gtk%2Fgtk.tree-view.lisp;h=6c475678b78c170f8b52aebe08da59a13e6f3e4c;hb=1f9c939a43d645eaf55e4d375f6b1b609dd1c5bd;hp=f9a1e1989839acb47119f434aba749737cc0098d;hpb=5fe17678137c04ece910ae65a35ee58a0c7761c7;p=cl-gtk2.git diff --git a/gtk/gtk.tree-view.lisp b/gtk/gtk.tree-view.lisp index f9a1e19..6c47567 100644 --- a/gtk/gtk.tree-view.lisp +++ b/gtk/gtk.tree-view.lisp @@ -324,9 +324,30 @@ (export 'tree-view-convert-widget-to-tree-coords) -; TODO: gtk_tree_view_enable_model_drag_dest +(defcfun gtk-tree-view-enable-model-drag-dest :void + (tree-view (g-object tree-view)) + (targets :pointer) + (n-targets :int) + (actions gdk-drag-action)) -; TODO: gtk_tree_view_enable_model_drag_source +(defun tree-view-enable-model-drag-dest (tree-view targets actions) + (with-foreign-boxed-array (n-targets targets-ptr target-entry targets) + (gtk-tree-view-enable-model-drag-dest tree-view targets-ptr n-targets actions))) + +(export 'tree-view-enable-model-drag-dest) + +(defcfun gtk-tree-view-enable-model-drag-source :void + (tree-view (g-object tree-view)) + (start-button-mask modifier-type) + (targets :pointer) + (n-targets :int) + (actions gdk-drag-action)) + +(defun tree-view-enable-model-drag-source (tree-view start-button-mask targets actions) + (with-foreign-boxed-array (n-targets targets-ptr target-entry targets) + (gtk-tree-view-enable-model-drag-source tree-view start-button-mask targets-ptr n-targets actions))) + +(export 'tree-view-enable-model-drag-source) ; TODO: gtk_tree_view_unset_rows_drag_source @@ -336,7 +357,20 @@ ; TOOD: gtk_tree_view_get_drag_dest_row -; TOOD: gtk_tree_view_get_dest_row_at_pos +(defcfun gtk-tree-view-get-dest-row-at-pos :boolean + (tree_view (g-object tree-view)) + (drag-x :int) + (drag-y :int) + (path :pointer) + (pos :pointer)) + +(defun tree-view-get-dest-row-at-pos (tree-view x y) + (with-foreign-objects ((path :pointer) (pos :int)) + (when (gtk-tree-view-get-dest-row-at-pos tree-view x y path pos) + (values (mem-ref path '(g-boxed-foreign tree-path :return)) + (mem-ref pos 'tree-view-drop-position))))) + +(export 'tree-view-get-dest-row-at-pos) ; TOOD: gtk_tree_view_create_drag_icon @@ -452,4 +486,16 @@ (export 'tree-view-get-tooltip-context) -; TODO: GtkTreeView drag-and-drop \ No newline at end of file +; TODO: GtkTreeView drag-and-drop + +(defcfun gtk-cell-view-get-size-of-row :boolean + (cell-view (g-object cell-view)) + (path (g-boxed-foreign tree-path)) + (requisition (g-boxed-foreign requisition))) + +(defun cell-view-get-size-of-row (cell-view path) + (let ((requisition (make-requisition))) + (gtk-cell-view-get-size-of-row cell-view path requisition) + requisition)) + +(export 'cell-view-get-size-of-row)