+ GtkWxTreeModel *wxtree_model = (GtkWxTreeModel *) drag_source;
+ g_return_val_if_fail (GTK_IS_WX_TREE_MODEL (wxtree_model), FALSE);
+
+ return wxtree_model->internal->row_draggable( drag_source, path );
+}
+
+static gboolean
+wxgtk_tree_model_drag_data_delete (GtkTreeDragSource *drag_source,
+ GtkTreePath *path)
+{
+ GtkWxTreeModel *wxtree_model = (GtkWxTreeModel *) drag_source;
+ g_return_val_if_fail (GTK_IS_WX_TREE_MODEL (wxtree_model), FALSE);
+
+ return wxtree_model->internal->drag_data_delete( drag_source, path );
+}
+
+static gboolean
+wxgtk_tree_model_drag_data_get (GtkTreeDragSource *drag_source,
+ GtkTreePath *path,
+ GtkSelectionData *selection_data)
+{
+ GtkWxTreeModel *wxtree_model = (GtkWxTreeModel *) drag_source;
+ g_return_val_if_fail (GTK_IS_WX_TREE_MODEL (wxtree_model), FALSE);
+
+#if 0
+ wxPrintf( "drag_get_data\n");
+
+ wxGtkString atom_selection(gdk_atom_name(selection_data->selection));
+ wxPrintf( "selection %s\n", wxString::FromAscii(atom_selection) );
+
+ wxGtkString atom_target(gdk_atom_name(selection_data->target));
+ wxPrintf( "target %s\n", wxString::FromAscii(atom_target) );
+
+ wxGtkString atom_type(gdk_atom_name(selection_data->type));
+ wxPrintf( "type %s\n", wxString::FromAscii(atom_type) );
+
+ wxPrintf( "format %d\n", selection_data->format );
+#endif
+
+ return wxtree_model->internal->drag_data_get( drag_source, path, selection_data );
+}
+
+static gboolean
+wxgtk_tree_model_drag_data_received (GtkTreeDragDest *drag_dest,
+ GtkTreePath *dest,
+ GtkSelectionData *selection_data)
+{
+ GtkWxTreeModel *wxtree_model = (GtkWxTreeModel *) drag_dest;
+ g_return_val_if_fail (GTK_IS_WX_TREE_MODEL (wxtree_model), FALSE);
+
+ return wxtree_model->internal->drag_data_received( drag_dest, dest, selection_data );
+}
+
+static gboolean
+wxgtk_tree_model_row_drop_possible (GtkTreeDragDest *drag_dest,
+ GtkTreePath *dest_path,
+ GtkSelectionData *selection_data)
+{
+ GtkWxTreeModel *wxtree_model = (GtkWxTreeModel *) drag_dest;
+ g_return_val_if_fail (GTK_IS_WX_TREE_MODEL (wxtree_model), FALSE);
+
+ return wxtree_model->internal->row_drop_possible( drag_dest, dest_path, selection_data );
+}
+
+/* sortable iface */
+static gboolean
+wxgtk_tree_model_get_sort_column_id (GtkTreeSortable *sortable,
+ gint *sort_column_id,
+ GtkSortType *order)
+{
+ GtkWxTreeModel *wxtree_model = (GtkWxTreeModel *) sortable;