1// included by gtk2.pas
2
3{$IFDEF read_forward_definitions}
4{$ENDIF read_forward_definitions}
5
6//------------------------------------------------------------------------------
7
8{$IFDEF read_interface_types}
9   // internal type
10   PGtkTreeDragSource = pointer;
11   // internal type
12   PGtkTreeDragDest = pointer;
13
14{ VTable - not signals  }
15   PGtkTreeDragSourceIface = ^TGtkTreeDragSourceIface;
16   TGtkTreeDragSourceIface = record
17        g_iface : TGTypeInterface;
18        row_draggable : function (drag_source:PGtkTreeDragSource; path:PGtkTreePath):gboolean; cdecl;
19        drag_data_get : function (drag_source:PGtkTreeDragSource; path:PGtkTreePath; selection_data:PGtkSelectionData):gboolean; cdecl;
20        drag_data_delete : function (drag_source:PGtkTreeDragSource; path:PGtkTreePath):gboolean; cdecl;
21     end;
22
23
24{ VTable - not signals  }
25   PGtkTreeDragDestIface = ^TGtkTreeDragDestIface;
26   TGtkTreeDragDestIface = record
27        g_iface : TGTypeInterface;
28        drag_data_received : function (drag_dest:PGtkTreeDragDest; dest:PGtkTreePath; selection_data:PGtkSelectionData):gboolean; cdecl;
29        row_drop_possible : function (drag_dest:PGtkTreeDragDest; dest_path:PGtkTreePath; selection_data:PGtkSelectionData):gboolean; cdecl;
30     end;
31
32{$ENDIF read_interface_types}
33
34//------------------------------------------------------------------------------
35
36{$IFDEF read_interface_rest}
37function GTK_TYPE_TREE_DRAG_SOURCE : GType;
38function GTK_TREE_DRAG_SOURCE(obj: pointer) : PGtkTreeDragSource;
39function GTK_IS_TREE_DRAG_SOURCE(obj: pointer) : boolean;
40function GTK_TREE_DRAG_SOURCE_GET_IFACE(obj: pointer) : PGtkTreeDragSourceIface;
41
42
43function gtk_tree_drag_source_get_type:GType; cdecl; external gtklib;
44{ Returns whether the given row can be dragged  }
45function gtk_tree_drag_source_row_draggable(drag_source:PGtkTreeDragSource; path:PGtkTreePath):gboolean; cdecl; external gtklib;
46{ Deletes the given row, or returns FALSE if it can't  }
47function gtk_tree_drag_source_drag_data_delete(drag_source:PGtkTreeDragSource; path:PGtkTreePath):gboolean; cdecl; external gtklib;
48{ Fills in selection_data with type selection_data->target based on
49   the row denoted by path, returns TRUE if it does anything
50  }
51function gtk_tree_drag_source_drag_data_get(drag_source:PGtkTreeDragSource; path:PGtkTreePath; selection_data:PGtkSelectionData):gboolean; cdecl; external gtklib;
52function GTK_TYPE_TREE_DRAG_DEST : GType;
53function GTK_TREE_DRAG_DEST(obj: pointer) : PGtkTreeDragDest;
54function GTK_IS_TREE_DRAG_DEST(obj: pointer) : boolean;
55function GTK_TREE_DRAG_DEST_GET_IFACE(obj: pointer) : PGtkTreeDragDestIface;
56
57
58function gtk_tree_drag_dest_get_type:GType; cdecl; external gtklib;
59{ Inserts a row before dest which contains data in selection_data,
60   or returns FALSE if it can't
61  }
62function gtk_tree_drag_dest_drag_data_received(drag_dest:PGtkTreeDragDest; dest:PGtkTreePath; selection_data:PGtkSelectionData):gboolean; cdecl; external gtklib;
63{ Returns TRUE if we can drop before path; path may not exist.  }
64function gtk_tree_drag_dest_row_drop_possible(drag_dest:PGtkTreeDragDest; dest_path:PGtkTreePath; selection_data:PGtkSelectionData):gboolean; cdecl; external gtklib;
65{ The selection data would normally have target type GTK_TREE_MODEL_ROW in this
66   case. If the target is wrong these functions return FALSE.
67  }
68function gtk_tree_set_row_drag_data(selection_data:PGtkSelectionData; tree_model:PGtkTreeModel; path:PGtkTreePath):gboolean; cdecl; external gtklib;
69function gtk_tree_get_row_drag_data(selection_data:PGtkSelectionData; var tree_model:PGtkTreeModel; var path:PGtkTreePath):gboolean; cdecl; external gtklib;
70{$ENDIF read_interface_rest}
71
72//------------------------------------------------------------------------------
73
74{$IFDEF read_implementation}
75function GTK_TYPE_TREE_DRAG_SOURCE : GType;
76begin
77   GTK_TYPE_TREE_DRAG_SOURCE:=gtk_tree_drag_source_get_type;
78end;
79
80function GTK_TREE_DRAG_SOURCE(obj: pointer) : PGtkTreeDragSource;
81begin
82   GTK_TREE_DRAG_SOURCE:=PGtkTreeDragSource(G_TYPE_CHECK_INSTANCE_CAST(obj,GTK_TYPE_TREE_DRAG_SOURCE));
83end;
84
85function GTK_IS_TREE_DRAG_SOURCE(obj: pointer) : boolean;
86begin
87   GTK_IS_TREE_DRAG_SOURCE:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GTK_TYPE_TREE_DRAG_SOURCE);
88end;
89
90function GTK_TREE_DRAG_SOURCE_GET_IFACE(obj: pointer) : PGtkTreeDragSourceIface;
91begin
92   GTK_TREE_DRAG_SOURCE_GET_IFACE:=PGtkTreeDragSourceIface(G_TYPE_INSTANCE_GET_INTERFACE(obj,GTK_TYPE_TREE_DRAG_SOURCE));
93end;
94
95function GTK_TYPE_TREE_DRAG_DEST : GType;
96begin
97   GTK_TYPE_TREE_DRAG_DEST:=gtk_tree_drag_dest_get_type;
98end;
99
100function GTK_TREE_DRAG_DEST(obj: pointer) : PGtkTreeDragDest;
101begin
102   GTK_TREE_DRAG_DEST:=PGtkTreeDragDest(G_TYPE_CHECK_INSTANCE_CAST(obj,GTK_TYPE_TREE_DRAG_DEST));
103end;
104
105function GTK_IS_TREE_DRAG_DEST(obj: pointer) : boolean;
106begin
107   GTK_IS_TREE_DRAG_DEST:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GTK_TYPE_TREE_DRAG_DEST);
108end;
109
110function GTK_TREE_DRAG_DEST_GET_IFACE(obj: pointer) : PGtkTreeDragDestIface;
111begin
112   GTK_TREE_DRAG_DEST_GET_IFACE:=PGtkTreeDragDestIface(G_TYPE_INSTANCE_GET_INTERFACE(obj,GTK_TYPE_TREE_DRAG_DEST));
113end;
114
115{$ENDIF read_implementation}
116// included by gtk2.pas
117
118