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{ default view mode } 10 PGtkTreeViewMode = ^TGtkTreeViewMode; 11 TGtkTreeViewMode = ( 12 GTK_TREE_VIEW_LINE, 13 GTK_TREE_VIEW_ITEM 14 ); 15 16{ owner of selection list } 17 PGtkTree = ^TGtkTree; 18 TGtkTree = record 19 container : TGtkContainer; 20 children : PGList; 21 root_tree : PGtkTree; 22 tree_owner : PGtkWidget; 23 selection : PGList; 24 level : guint; 25 indent_value : guint; 26 current_indent : guint; 27 flag0 : word; 28 end; 29 30 PGtkTreeClass = ^TGtkTreeClass; 31 TGtkTreeClass = record 32 parent_class : TGtkContainerClass; 33 selection_changed : procedure (tree:PGtkTree); cdecl; 34 select_child : procedure (tree:PGtkTree; child:PGtkWidget); cdecl; 35 unselect_child : procedure (tree:PGtkTree; child:PGtkWidget); cdecl; 36 end; 37{$ENDIF read_interface_types} 38 39//------------------------------------------------------------------------------ 40 41{$IFDEF read_interface_rest} 42const 43 bm_TGtkTree_selection_mode = $3; 44 bp_TGtkTree_selection_mode = 0; 45 bm_TGtkTree_view_mode = $4; 46 bp_TGtkTree_view_mode = 2; 47 bm_TGtkTree_view_line = $8; 48 bp_TGtkTree_view_line = 3; 49 50{ set this flag to enable tree debugging output } 51{ $define TREE_DEBUG } 52function GTK_TYPE_TREE : GType; 53function GTK_TREE(obj: pointer) : PGtkTree; 54function GTK_TREE_CLASS(klass: pointer) : PGtkTreeClass; 55function GTK_IS_TREE(obj: pointer) : boolean; 56function GTK_IS_TREE_CLASS(klass: pointer) : boolean; 57function GTK_TREE_GET_CLASS(obj: pointer) : PGtkTreeClass; 58function GTK_IS_ROOT_TREE(obj: pointer) : boolean; 59function GTK_TREE_ROOT_TREE(obj: pointer) : PGtkTree; 60function GTK_TREE_SELECTION_OLD(obj: pointer) : PGList; 61 62function selection_mode(var a : TGtkTree) : guint; overload; 63procedure set_selection_mode(var a : TGtkTree; __selection_mode : guint); overload; 64function view_mode(var a : TGtkTree) : guint; 65procedure set_view_mode(var a : TGtkTree; __view_mode : guint); 66function view_line(var a : TGtkTree) : guint; 67procedure set_view_line(var a : TGtkTree; __view_line : guint); 68 69 70function gtk_tree_get_type:TGtkType; cdecl; external gtklib; 71function gtk_tree_new:PGtkWidget; cdecl; external gtklib; 72procedure gtk_tree_append(tree:PGtkTree; tree_item:PGtkWidget); cdecl; external gtklib; 73procedure gtk_tree_prepend(tree:PGtkTree; tree_item:PGtkWidget); cdecl; external gtklib; 74procedure gtk_tree_insert(tree:PGtkTree; tree_item:PGtkWidget; position:gint); cdecl; external gtklib; 75procedure gtk_tree_remove_items(tree:PGtkTree; items:PGList); cdecl; external gtklib; 76procedure gtk_tree_clear_items(tree:PGtkTree; start:gint; theEnd:gint); cdecl; external gtklib; 77procedure gtk_tree_select_item(tree:PGtkTree; item:gint); cdecl; external gtklib; 78procedure gtk_tree_unselect_item(tree:PGtkTree; item:gint); cdecl; external gtklib; 79procedure gtk_tree_select_child(tree:PGtkTree; tree_item:PGtkWidget); cdecl; external gtklib; 80procedure gtk_tree_unselect_child(tree:PGtkTree; tree_item:PGtkWidget); cdecl; external gtklib; 81function gtk_tree_child_position(tree:PGtkTree; child:PGtkWidget):gint; cdecl; external gtklib; 82procedure gtk_tree_set_selection_mode(tree:PGtkTree; mode:TGtkSelectionMode); cdecl; external gtklib; 83procedure gtk_tree_set_view_mode(tree:PGtkTree; mode:TGtkTreeViewMode); cdecl; external gtklib; 84procedure gtk_tree_set_view_lines(tree:PGtkTree; flag:gboolean); cdecl; external gtklib; 85{ deprecated function, use gtk_container_remove instead. 86 } 87procedure gtk_tree_remove_item(tree:PGtkTree; child:PGtkWidget); cdecl; external gtklib; 88{$ENDIF read_interface_rest} 89 90//------------------------------------------------------------------------------ 91 92{$IFDEF read_implementation} 93function GTK_TYPE_TREE : GType; 94begin 95 GTK_TYPE_TREE:=gtk_tree_get_type; 96end; 97 98function GTK_TREE(obj: pointer) : PGtkTree; 99begin 100 GTK_TREE:=PGtkTree(GTK_CHECK_CAST(obj,GTK_TYPE_TREE)); 101end; 102 103function GTK_TREE_CLASS(klass: pointer) : PGtkTreeClass; 104begin 105 GTK_TREE_CLASS:=PGtkTreeClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_TREE)); 106end; 107 108function GTK_IS_TREE(obj: pointer) : boolean; 109begin 110 GTK_IS_TREE:=GTK_CHECK_TYPE(obj,GTK_TYPE_TREE); 111end; 112 113function GTK_IS_TREE_CLASS(klass: pointer) : boolean; 114begin 115 GTK_IS_TREE_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_TREE); 116end; 117 118function GTK_TREE_GET_CLASS(obj: pointer) : PGtkTreeClass; 119begin 120 GTK_TREE_GET_CLASS:=PGtkTreeClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_TREE)); 121end; 122 123function GTK_IS_ROOT_TREE(obj: pointer) : boolean; 124begin 125 GTK_IS_ROOT_TREE:=(PGtkObject((GTK_TREE(obj))^.root_tree)) = (PGtkObject(obj)); 126end; 127 128function GTK_TREE_ROOT_TREE(obj: pointer) : PGtkTree; 129begin 130 GTK_TREE_ROOT_TREE:=GTK_TREE(obj)^.root_tree; 131end; 132 133function GTK_TREE_SELECTION_OLD(obj: pointer) : PGList; 134begin 135 GTK_TREE_SELECTION_OLD:=(GTK_TREE_ROOT_TREE(obj))^.selection; 136end; 137 138function selection_mode(var a : TGtkTree) : guint; 139begin 140 selection_mode:=(a.flag0 and bm_TGtkTree_selection_mode) shr bp_TGtkTree_selection_mode; 141end; 142 143procedure set_selection_mode(var a : TGtkTree; __selection_mode : guint); 144begin 145 a.flag0:=a.flag0 or ((__selection_mode shl bp_TGtkTree_selection_mode) and bm_TGtkTree_selection_mode); 146end; 147 148function view_mode(var a : TGtkTree) : guint; 149begin 150 view_mode:=(a.flag0 and bm_TGtkTree_view_mode) shr bp_TGtkTree_view_mode; 151end; 152 153procedure set_view_mode(var a : TGtkTree; __view_mode : guint); 154begin 155 a.flag0:=a.flag0 or ((__view_mode shl bp_TGtkTree_view_mode) and bm_TGtkTree_view_mode); 156end; 157 158function view_line(var a : TGtkTree) : guint; 159begin 160 view_line:=(a.flag0 and bm_TGtkTree_view_line) shr bp_TGtkTree_view_line; 161end; 162 163procedure set_view_line(var a : TGtkTree; __view_line : guint); 164begin 165 a.flag0:=a.flag0 or ((__view_line shl bp_TGtkTree_view_line) and bm_TGtkTree_view_line); 166end; 167 168{$ENDIF read_implementation} 169// included by gtk2.pas 170 171