gtkpacker.pp 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. {
  2. }
  3. {****************************************************************************
  4. Interface
  5. ****************************************************************************}
  6. {$ifdef read_interface}
  7. type
  8. TGtkPackerOptions = longint;
  9. const
  10. GTK_PACK_EXPAND = 1 shl 0;
  11. GTK_FILL_X = 1 shl 1;
  12. GTK_FILL_Y = 1 shl 2;
  13. type
  14. TGtkSideType = longint;
  15. const
  16. GTK_SIDE_TOP = 0;
  17. GTK_SIDE_BOTTOM = 1;
  18. GTK_SIDE_LEFT = 2;
  19. GTK_SIDE_RIGHT = 3;
  20. type
  21. TGtkAnchorType = longint;
  22. const
  23. GTK_ANCHOR_CENTER = 0;
  24. GTK_ANCHOR_NORTH = 1;
  25. GTK_ANCHOR_NORTH_WEST = 2;
  26. GTK_ANCHOR_NORTH_EAST = 3;
  27. GTK_ANCHOR_SOUTH = 4;
  28. GTK_ANCHOR_SOUTH_WEST = 5;
  29. GTK_ANCHOR_SOUTH_EAST = 6;
  30. GTK_ANCHOR_WEST = 7;
  31. GTK_ANCHOR_EAST = 8;
  32. GTK_ANCHOR_N = GTK_ANCHOR_NORTH;
  33. GTK_ANCHOR_NW = GTK_ANCHOR_NORTH_WEST;
  34. GTK_ANCHOR_NE = GTK_ANCHOR_NORTH_EAST;
  35. GTK_ANCHOR_S = GTK_ANCHOR_SOUTH;
  36. GTK_ANCHOR_SW = GTK_ANCHOR_SOUTH_WEST;
  37. GTK_ANCHOR_SE = GTK_ANCHOR_SOUTH_EAST;
  38. GTK_ANCHOR_W = GTK_ANCHOR_WEST;
  39. GTK_ANCHOR_E = GTK_ANCHOR_EAST;
  40. type
  41. PGtkPackerChild = ^TGtkPackerChild;
  42. TGtkPackerChild = record
  43. widget : PGtkWidget;
  44. anchor : TGtkAnchorType;
  45. side : TGtkSideType;
  46. options : TGtkPackerOptions;
  47. flag0 : longint;
  48. flag1 : longint;
  49. flag2 : {$ifdef win32}longint{$else}word{$endif};
  50. end;
  51. PGtkPacker = ^TGtkPacker;
  52. TGtkPacker = record
  53. parent : TGtkContainer;
  54. children : PGList;
  55. spacing : guint;
  56. flag0 : longint;
  57. flag1 : longint;
  58. flag2 : {$ifdef win32}longint{$else}word{$endif};
  59. end;
  60. PGtkPackerClass = ^TGtkPackerClass;
  61. TGtkPackerClass = record
  62. parent_class : TGtkContainerClass;
  63. end;
  64. type
  65. GTK_PACKER=PGtkPacker;
  66. GTK_PACKER_CLASS=PGtkPackerClass;
  67. function GTK_PACKER_TYPE:TGtkType;cdecl;external gtkdll name 'gtk_packer_get_type';
  68. function GTK_IS_PACKER(obj:pointer):boolean;
  69. function GTK_IS_PACKER_CLASS(klass:pointer):boolean;
  70. function gtk_packer_get_type:TGtkType;cdecl;external gtkdll name 'gtk_packer_get_type';
  71. function gtk_packer_new:PGtkWidget;cdecl;external gtkdll name 'gtk_packer_new';
  72. procedure gtk_packer_add_defaults(packer:PGtkPacker; child:PGtkWidget; side:TGtkSideType; anchor:TGtkAnchorType; options:TGtkPackerOptions);cdecl;external gtkdll name 'gtk_packer_add_defaults';
  73. procedure gtk_packer_add(packer:PGtkPacker; child:PGtkWidget; side:TGtkSideType; anchor:TGtkAnchorType; options:TGtkPackerOptions; border_width:guint; pad_x:guint; pad_y:guint; i_pad_x:guint; i_pad_y:guint);cdecl;external gtkdll name 'gtk_packer_add';
  74. procedure gtk_packer_set_child_packing(packer:PGtkPacker; child:PGtkWidget; side:TGtkSideType; anchor:TGtkAnchorType; options:TGtkPackerOptions; border_width:guint; pad_x:guint; pad_y:guint; i_pad_x:guint; i_pad_y:guint);cdecl;external gtkdll name 'gtk_packer_set_child_packing';
  75. procedure gtk_packer_reorder_child(packer:PGtkPacker; child:PGtkWidget; position:gint);cdecl;external gtkdll name 'gtk_packer_reorder_child';
  76. procedure gtk_packer_set_spacing(packer:PGtkPacker; spacing:guint);cdecl;external gtkdll name 'gtk_packer_set_spacing';
  77. procedure gtk_packer_set_default_border_width(packer:PGtkPacker; border:guint);cdecl;external gtkdll name 'gtk_packer_set_default_border_width';
  78. procedure gtk_packer_set_default_pad(packer:PGtkPacker; pad_x:guint; pad_y:guint);cdecl;external gtkdll name 'gtk_packer_set_default_pad';
  79. procedure gtk_packer_set_default_ipad(packer:PGtkPacker; i_pad_x:guint; i_pad_y:guint);cdecl;external gtkdll name 'gtk_packer_set_default_ipad';
  80. {$endif read_interface}
  81. {****************************************************************************
  82. Implementation
  83. ****************************************************************************}
  84. {$ifdef read_implementation}
  85. function GTK_IS_PACKER(obj:pointer):boolean;
  86. begin
  87. GTK_IS_PACKER:=(obj<>nil) and GTK_IS_PACKER_CLASS(PGtkTypeObject(obj)^.klass);
  88. end;
  89. function GTK_IS_PACKER_CLASS(klass:pointer):boolean;
  90. begin
  91. GTK_IS_PACKER_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GTK_PACKER_TYPE);
  92. end;
  93. {$endif read_implementation}