gtktree.inc 5.9 KB

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