]> Pileus Git - ~andy/gtk/blob - docs/reference/gtk/tmpl/gtktreednd.sgml
9d9273fc2dc6fdaa8f423b998f21dab1345e7056
[~andy/gtk] / docs / reference / gtk / tmpl / gtktreednd.sgml
1 <!-- ##### SECTION Title ##### -->
2 GtkTreeView drag-and-drop
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Interfaces for drag-and-drop support in GtkTreeView
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 GTK+ supports Drag-and-Drop in tree views with a high-level and a low-level 
10 API.
11 </para>
12 <para>
13 The low-level API consists of the GTK+ DND API, augmented by some treeview 
14 utility functions: gtk_tree_view_set_drag_dest_row(),
15 gtk_tree_view_get_drag_dest_row(), gtk_tree_view_get_dest_row_at_pos(), 
16 gtk_tree_view_create_row_drag_icon(), gtk_tree_set_row_drag_data() and
17 gtk_tree_get_row_drag_data(). This API leaves a lot of flexibility, but
18 nothing is done automatically, and implementing advanced features like
19 hover-to-open-rows or autoscrolling on top of this API is a lot of work.
20 </para>
21 <para>
22 On the other hand, if you write to the high-level API, then all the 
23 bookkeeping of rows is done for you, as well as things like hover-to-open 
24 and auto-scroll, but your models have to implement the 
25 #GtkTreeDragSource and #GtkTreeDragDest interfaces.
26 </para>
27
28 <!-- ##### SECTION See_Also ##### -->
29 <para>
30
31 </para>
32
33 <!-- ##### SECTION Stability_Level ##### -->
34
35
36 <!-- ##### STRUCT GtkTreeDragSource ##### -->
37 <para>
38
39 </para>
40
41
42 <!-- ##### STRUCT GtkTreeDragSourceIface ##### -->
43 <para>
44
45 </para>
46
47 @g_iface: 
48 @row_draggable: 
49 @drag_data_get: 
50 @drag_data_delete: 
51
52 <!-- ##### FUNCTION gtk_tree_drag_source_drag_data_delete ##### -->
53 <para>
54
55 </para>
56
57 @drag_source: 
58 @path: 
59 @Returns: 
60
61
62 <!-- ##### FUNCTION gtk_tree_drag_source_drag_data_get ##### -->
63 <para>
64
65 </para>
66
67 @drag_source: 
68 @path: 
69 @selection_data: 
70 @Returns: 
71
72
73 <!-- ##### FUNCTION gtk_tree_drag_source_row_draggable ##### -->
74 <para>
75
76 </para>
77
78 @drag_source: 
79 @path: 
80 @Returns: 
81
82
83 <!-- ##### STRUCT GtkTreeDragDest ##### -->
84 <para>
85
86 </para>
87
88
89 <!-- ##### STRUCT GtkTreeDragDestIface ##### -->
90 <para>
91
92 </para>
93
94 @g_iface: 
95 @drag_data_received: 
96 @row_drop_possible: 
97
98 <!-- ##### FUNCTION gtk_tree_drag_dest_drag_data_received ##### -->
99 <para>
100
101 </para>
102
103 @drag_dest: 
104 @dest: 
105 @selection_data: 
106 @Returns: 
107
108
109 <!-- ##### FUNCTION gtk_tree_drag_dest_row_drop_possible ##### -->
110 <para>
111
112 </para>
113
114 @drag_dest: 
115 @dest_path: 
116 @selection_data: 
117 @Returns: 
118
119
120 <!-- ##### FUNCTION gtk_tree_set_row_drag_data ##### -->
121 <para>
122
123 </para>
124
125 @selection_data: 
126 @tree_model: 
127 @path: 
128 @Returns: 
129
130
131 <!-- ##### FUNCTION gtk_tree_get_row_drag_data ##### -->
132 <para>
133
134 </para>
135
136 @selection_data: 
137 @tree_model: 
138 @path: 
139 @Returns: 
140
141