gtkbindings.inc 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. PGtkBindingEntry = ^TGtkBindingEntry;
  7. PGtkBindingSignal = ^TGtkBindingSignal;
  8. PGtkBindingArg = ^TGtkBindingArg;
  9. { Binding sets }
  10. { From RC content }
  11. PGtkBindingSet = ^TGtkBindingSet;
  12. TGtkBindingSet = record
  13. set_name : Pgchar;
  14. priority : gint;
  15. widget_path_pspecs : PGSList;
  16. widget_class_pspecs : PGSList;
  17. class_branch_pspecs : PGSList;
  18. entries : PGtkBindingEntry;
  19. current : PGtkBindingEntry;
  20. flag0 : word;
  21. end;
  22. { key portion }
  23. TGtkBindingEntry = record
  24. keyval : guint;
  25. modifiers : TGdkModifierType;
  26. binding_set : PGtkBindingSet;
  27. flag0 : word;
  28. set_next : PGtkBindingEntry;
  29. hash_next : PGtkBindingEntry;
  30. signals : PGtkBindingSignal;
  31. end;
  32. TGtkBindingSignal = record
  33. next : PGtkBindingSignal;
  34. signal_name : Pgchar;
  35. n_args : guint;
  36. args : PGtkBindingArg;
  37. end;
  38. TGtkBindingArg = record
  39. arg_type : TGtkType;
  40. d : record
  41. case longint of
  42. 0 : ( long_data : glong );
  43. 1 : ( double_data : gdouble );
  44. 2 : ( string_data : Pgchar );
  45. end;
  46. end;
  47. {$ENDIF read_interface_types}
  48. //------------------------------------------------------------------------------
  49. {$IFDEF read_interface_rest}
  50. const
  51. bm_TGtkBindingSet_parsed = $1;
  52. bp_TGtkBindingSet_parsed = 0;
  53. bm_TGtkBindingEntry_destroyed = $1;
  54. bp_TGtkBindingEntry_destroyed = 0;
  55. bm_TGtkBindingEntry_in_emission = $2;
  56. bp_TGtkBindingEntry_in_emission = 1;
  57. procedure gtk_binding_entry_add(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType);
  58. function parsed(var a : TGtkBindingSet) : guint;
  59. procedure set_parsed(var a : TGtkBindingSet; __parsed : guint);
  60. function destroyed(var a : TGtkBindingEntry) : guint;
  61. procedure set_destroyed(var a : TGtkBindingEntry; __destroyed : guint);
  62. function in_emission(var a : TGtkBindingEntry) : guint;
  63. procedure set_in_emission(var a : TGtkBindingEntry; __in_emission : guint);
  64. { Application-level methods }
  65. function gtk_binding_set_new(set_name:Pgchar):PGtkBindingSet; cdecl; external gtklib;
  66. function gtk_binding_set_by_class(object_class:gpointer):PGtkBindingSet; cdecl; external gtklib;
  67. function gtk_binding_set_find(set_name:Pgchar):PGtkBindingSet; cdecl; external gtklib;
  68. function gtk_bindings_activate(anObject:PGtkObject; keyval:guint; modifiers:TGdkModifierType):gboolean; cdecl; external gtklib;
  69. function gtk_binding_set_activate(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; anObject:PGtkObject):gboolean; cdecl; external gtklib;
  70. procedure gtk_binding_entry_clear(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType); cdecl; external gtklib;
  71. {$IFNDEF KYLIX}
  72. procedure gtk_binding_entry_add_signal(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; signal_name:Pgchar; n_args:guint;
  73. args:array of const); cdecl; overload; external gtklib;
  74. procedure gtk_binding_entry_add_signal(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; signal_name:Pgchar; n_args:guint); cdecl; overload; external gtklib;
  75. {$ELSE}
  76. procedure gtk_binding_entry_add_signal(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; signal_name:Pgchar; n_args:guint); varargs; cdecl; external gtklib;
  77. {$ENDIF}
  78. procedure gtk_binding_set_add_path(binding_set:PGtkBindingSet; path_type:TGtkPathType; path_pattern:Pgchar; priority:TGtkPathPriorityType); cdecl; external gtklib;
  79. { Non-public methods }
  80. procedure gtk_binding_entry_remove(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType); cdecl; external gtklib;
  81. procedure gtk_binding_entry_add_signall(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; signal_name:Pgchar; binding_args:PGSList); cdecl; external gtklib;
  82. function gtk_binding_parse_binding(scanner:PGScanner):guint; cdecl; external gtklib;
  83. function _gtk_bindings_activate_event(anObject:PGtkObject; event:PGdkEventKey):gboolean; cdecl; external gtklib;
  84. procedure _gtk_binding_reset_parsed; cdecl; external gtklib;
  85. {$ENDIF read_interface_rest}
  86. //------------------------------------------------------------------------------
  87. {$IFDEF read_implementation}
  88. function parsed(var a : TGtkBindingSet) : guint;
  89. begin
  90. parsed:=(a.flag0 and bm_TGtkBindingSet_parsed) shr bp_TGtkBindingSet_parsed;
  91. end;
  92. procedure set_parsed(var a : TGtkBindingSet; __parsed : guint);
  93. begin
  94. a.flag0:=a.flag0 or ((__parsed shl bp_TGtkBindingSet_parsed) and bm_TGtkBindingSet_parsed);
  95. end;
  96. function destroyed(var a : TGtkBindingEntry) : guint;
  97. begin
  98. destroyed:=(a.flag0 and bm_TGtkBindingEntry_destroyed) shr bp_TGtkBindingEntry_destroyed;
  99. end;
  100. procedure set_destroyed(var a : TGtkBindingEntry; __destroyed : guint);
  101. begin
  102. a.flag0:=a.flag0 or ((__destroyed shl bp_TGtkBindingEntry_destroyed) and bm_TGtkBindingEntry_destroyed);
  103. end;
  104. function in_emission(var a : TGtkBindingEntry) : guint;
  105. begin
  106. in_emission:=(a.flag0 and bm_TGtkBindingEntry_in_emission) shr bp_TGtkBindingEntry_in_emission;
  107. end;
  108. procedure set_in_emission(var a : TGtkBindingEntry; __in_emission : guint);
  109. begin
  110. a.flag0:=a.flag0 or ((__in_emission shl bp_TGtkBindingEntry_in_emission) and bm_TGtkBindingEntry_in_emission);
  111. end;
  112. procedure gtk_binding_entry_add(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType);
  113. begin
  114. gtk_binding_entry_clear(binding_set,keyval,modifiers);
  115. end;
  116. {$ENDIF read_implementation}
  117. // included by gtk2.pas