Merge branch 'master' of git://github.com/dmitryvk/cl-gtk2
[cl-gtk2.git] / gtk / gtk.tree-view-dnd.lisp
diff --git a/gtk/gtk.tree-view-dnd.lisp b/gtk/gtk.tree-view-dnd.lisp
new file mode 100644 (file)
index 0000000..224ace6
--- /dev/null
@@ -0,0 +1,28 @@
+(in-package :gtk)
+
+(define-vtable ("GtkTreeDragSource" tree-drag-source)
+  (:skip parent-instance g-type-interface)
+  ;;methods
+  (row-draggable (:boolean
+                 (tree-drag-source g-object)
+                 (path (g-boxed-foreign tree-path))))
+  (drag-data-get (:boolean
+                 (tree-drag-source g-object)
+                 (path (g-boxed-foreign tree-path))
+                 (selection-data (g-boxed-foreign selection-data))))
+  (drag-data-delete (:boolean
+                    (tree-drag-source g-object)
+                    (path (g-boxed-foreign tree-path)))))
+
+(define-vtable ("GtkTreeDragDest" tree-drag-dest)
+  (:skip parent-instance g-type-interface)
+  ;;methods
+  (drag-data-received (:boolean
+                      (tree-drag-dest g-object)
+                      (path (g-boxed-foreign tree-path))
+                      (selection-data (g-boxed-foreign selection-data))))
+  (row-drop-possible (:boolean
+                     (tree-drag-dest g-object)
+                     (path (g-boxed-foreign tree-path))
+                     (selection-data (g-boxed-foreign selection-data)))))
+