static gboolean tree_store_drag_can_drag_cb (G_GNUC_UNUSED GdauiTreeStore *store, const gchar *path, FavoriteSelector *tsel) { GdaTreeNode *node; node = gda_tree_get_node (tsel->priv->tree, path, FALSE); if (node) { const GValue *cvalue; cvalue = gda_tree_node_get_node_attribute (node, "fav_contents"); if (cvalue) return TRUE; } return FALSE; }
static gboolean tree_store_drag_get_cb (G_GNUC_UNUSED GdauiTreeStore *store, const gchar *path, GtkSelectionData *selection_ldap, LdapFavoriteSelector *fsel) { GdaTreeNode *node; node = gda_tree_get_node (fsel->priv->tree, path, FALSE); if (node) { const GValue *cvalue; cvalue = gda_tree_node_get_node_attribute (node, "fav_contents"); if (cvalue) { const gchar *str; str = g_value_get_string (cvalue); gtk_selection_data_set (selection_ldap, gtk_selection_data_get_target (selection_ldap), 8, (guchar*) str, strlen (str)); return TRUE; } } return FALSE; }