[libdazzle] tests: implement DnD node deletion



commit 400f7abb2df03fec50ce7543f924b48289900018
Author: Christian Hergert <chergert redhat com>
Date:   Tue Dec 5 02:39:10 2017 -0800

    tests: implement DnD node deletion

 tests/test-tree.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)
---
diff --git a/tests/test-tree.c b/tests/test-tree.c
index 1ba9ea9..73d8a89 100644
--- a/tests/test-tree.c
+++ b/tests/test-tree.c
@@ -130,6 +130,21 @@ drag_data_received_cb (DzlTreeBuilder      *builder,
 }
 
 static gboolean
+drag_node_delete_cb (DzlTreeBuilder *builder,
+                     DzlTreeNode    *node)
+{
+  g_assert (DZL_IS_TREE_BUILDER (builder));
+  g_assert (DZL_IS_TREE_NODE (node));
+
+  /* This is called when GTK_ACTION_MOVE is used and we need
+   * to cleanup the old node which is not gone.
+   */
+  g_print ("Delete node %s\n", dzl_tree_node_get_text (node));
+
+  return FALSE;
+}
+
+static gboolean
 drag_node_received_cb (DzlTreeBuilder      *builder,
                        DzlTreeNode         *drag_node,
                        DzlTreeNode         *drop_node,
@@ -147,7 +162,9 @@ drag_node_received_cb (DzlTreeBuilder      *builder,
            dzl_tree_node_get_text (drop_node),
            position);
 
-  return FALSE;
+  /* Pretend we succeeded */
+
+  return TRUE;
 }
 
 gint
@@ -202,6 +219,7 @@ main (gint   argc,
   g_signal_connect (builder, "drag-data-get", G_CALLBACK (node_drag_data_get_cb), NULL);
   g_signal_connect (builder, "drag-data-received", G_CALLBACK (drag_data_received_cb), NULL);
   g_signal_connect (builder, "drag-node-received", G_CALLBACK (drag_node_received_cb), NULL);
+  g_signal_connect (builder, "drag-node-delete", G_CALLBACK (drag_node_delete_cb), NULL);
   g_signal_connect (builder, "node-draggable", G_CALLBACK (node_draggable_cb), NULL);
   g_signal_connect (builder, "node-droppable", G_CALLBACK (node_droppable_cb), NULL);
   dzl_tree_add_builder (DZL_TREE (tree), builder);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]