forked from AuroraMiddleware/gtk
142 lines
2.4 KiB
Plaintext
142 lines
2.4 KiB
Plaintext
<!-- ##### SECTION Title ##### -->
|
|
GtkTreeView drag-and-drop
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
Interfaces for drag-and-drop support in GtkTreeView
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
GTK+ supports Drag-and-Drop in tree views with a high-level and a low-level
|
|
API.
|
|
</para>
|
|
<para>
|
|
The low-level API consists of the GTK+ DND API, augmented by some treeview
|
|
utility functions: gtk_tree_view_set_drag_dest_row(),
|
|
gtk_tree_view_get_drag_dest_row(), gtk_tree_view_get_dest_row_at_pos(),
|
|
gtk_tree_view_create_row_drag_icon(), gtk_tree_set_row_drag_data() and
|
|
gtk_tree_get_row_drag_data(). This API leaves a lot of flexibility, but
|
|
nothing is done automatically, and implementing advanced features like
|
|
hover-to-open-rows or autoscrolling on top of this API is a lot of work.
|
|
</para>
|
|
<para>
|
|
On the other hand, if you write to the high-level API, then all the
|
|
bookkeeping of rows is done for you, as well as things like hover-to-open
|
|
and auto-scroll, but your models have to implement the
|
|
#GtkTreeDragSource and #GtkTreeDragDest interfaces.
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
<!-- ##### SECTION Stability_Level ##### -->
|
|
|
|
|
|
<!-- ##### STRUCT GtkTreeDragSource ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
|
<!-- ##### STRUCT GtkTreeDragSourceIface ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@g_iface:
|
|
@row_draggable:
|
|
@drag_data_get:
|
|
@drag_data_delete:
|
|
|
|
<!-- ##### FUNCTION gtk_tree_drag_source_drag_data_delete ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@drag_source:
|
|
@path:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_tree_drag_source_drag_data_get ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@drag_source:
|
|
@path:
|
|
@selection_data:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_tree_drag_source_row_draggable ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@drag_source:
|
|
@path:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### STRUCT GtkTreeDragDest ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
|
<!-- ##### STRUCT GtkTreeDragDestIface ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@g_iface:
|
|
@drag_data_received:
|
|
@row_drop_possible:
|
|
|
|
<!-- ##### FUNCTION gtk_tree_drag_dest_drag_data_received ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@drag_dest:
|
|
@dest:
|
|
@selection_data:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_tree_drag_dest_row_drop_possible ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@drag_dest:
|
|
@dest_path:
|
|
@selection_data:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_tree_set_row_drag_data ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@selection_data:
|
|
@tree_model:
|
|
@path:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_tree_get_row_drag_data ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@selection_data:
|
|
@tree_model:
|
|
@path:
|
|
@Returns:
|
|
|
|
|