/packages/gtk1/src/gtk/gtkbindings.pp

https://github.com/slibre/freepascal · Puppet · 128 lines · 104 code · 24 blank · 0 comment · 0 complexity · 01fc5696c295b9deb60c5da42b576f3d MD5 · raw file

  1. {
  2. }
  3. {****************************************************************************
  4. Interface
  5. ****************************************************************************}
  6. {$ifdef read_interface}
  7. type
  8. PGtkPatternSpec = ^TGtkPatternSpec;
  9. TGtkPatternSpec = record
  10. match_type : TGtkMatchType;
  11. pattern_length : guint;
  12. pattern : Pgchar;
  13. pattern_reversed : Pgchar;
  14. user_data : gpointer;
  15. seq_id : guint;
  16. end;
  17. procedure gtk_pattern_spec_init(pspec:PGtkPatternSpec; pattern:Pgchar);cdecl;external gtkdll name 'gtk_pattern_spec_init';
  18. procedure gtk_pattern_spec_free_segs(pspec:PGtkPatternSpec);cdecl;external gtkdll name 'gtk_pattern_spec_free_segs';
  19. function gtk_pattern_match(pspec:PGtkPatternSpec; string_length:guint; thestring:Pgchar; string_reversed:Pgchar):gboolean;cdecl;external gtkdll name 'gtk_pattern_match';
  20. function gtk_pattern_match_string(pspec:PGtkPatternSpec; thestring:Pgchar):gboolean;cdecl;external gtkdll name 'gtk_pattern_match_string';
  21. function gtk_pattern_match_simple(pattern:Pgchar; thestring:Pgchar):gboolean;cdecl;external gtkdll name 'gtk_pattern_match_simple';
  22. type
  23. PGtkBindingSet = ^TGtkBindingSet;
  24. PGtkBindingEntry = ^TGtkBindingEntry;
  25. PGtkBindingSignal = ^TGtkBindingSignal;
  26. PGtkBindingArg = ^TGtkBindingArg;
  27. TGtkBindingSet = record
  28. set_name : Pgchar;
  29. priority : gint;
  30. widget_path_pspecs : PGSList;
  31. widget_class_pspecs : PGSList;
  32. class_branch_pspecs : PGSList;
  33. entries : PGtkBindingEntry;
  34. current : PGtkBindingEntry;
  35. end;
  36. TGtkBindingEntry = record
  37. keyval : guint;
  38. modifiers : guint;
  39. binding_set : PGtkBindingSet;
  40. flag0 : {$ifdef win32}longint{$else}word{$endif};
  41. set_next : PGtkBindingEntry;
  42. hash_next : PGtkBindingEntry;
  43. signals : PGtkBindingSignal;
  44. end;
  45. TGtkBindingSignal = record
  46. next : PGtkBindingSignal;
  47. signal_name : Pgchar;
  48. n_args : guint;
  49. args : PGtkBindingArg;
  50. end;
  51. TGtkBindingArg = record
  52. arg_type : TGtkType;
  53. d : record
  54. case longint of
  55. 0 : ( long_data : glong );
  56. 1 : ( double_data : gdouble );
  57. 2 : ( string_data : Pgchar );
  58. end;
  59. end;
  60. const
  61. bm_TGtkBindingEntry_destroyed = $1;
  62. bp_TGtkBindingEntry_destroyed = 0;
  63. bm_TGtkBindingEntry_in_emission = $2;
  64. bp_TGtkBindingEntry_in_emission = 1;
  65. function destroyed(var a : TGtkBindingEntry) : guint;
  66. procedure set_destroyed(var a : TGtkBindingEntry; __destroyed : guint);
  67. function in_emission(var a : TGtkBindingEntry) : guint;
  68. procedure set_in_emission(var a : TGtkBindingEntry; __in_emission : guint);
  69. function gtk_binding_set_new(set_name:Pgchar):PGtkBindingSet;cdecl;external gtkdll name 'gtk_binding_set_new';
  70. function gtk_binding_set_by_class(object_class:gpointer):PGtkBindingSet;cdecl;external gtkdll name 'gtk_binding_set_by_class';
  71. function gtk_binding_set_find(set_name:Pgchar):PGtkBindingSet;cdecl;external gtkdll name 'gtk_binding_set_find';
  72. function gtk_bindings_activate(theobject:PGtkObject; keyval:guint; modifiers:guint):gboolean;cdecl;external gtkdll name 'gtk_bindings_activate';
  73. function gtk_binding_set_activate(binding_set:PGtkBindingSet; keyval:guint; modifiers:guint; theobject:PGtkObject):gboolean;cdecl;external gtkdll name 'gtk_binding_set_activate';
  74. procedure gtk_binding_entry_add(binding_set:PGtkBindingSet; keyval:guint; modifiers:guint);cdecl;external gtkdll name 'gtk_binding_entry_clear';
  75. procedure gtk_binding_entry_clear(binding_set:PGtkBindingSet; keyval:guint; modifiers:guint);cdecl;external gtkdll name 'gtk_binding_entry_clear';
  76. procedure gtk_binding_entry_add_signal(binding_set:PGtkBindingSet; keyval:guint; modifiers:guint; signal_name:Pgchar; n_args:guint; args:array of const);cdecl;external gtkdll name 'gtk_binding_entry_add_signal';
  77. procedure gtk_binding_set_add_path(binding_set:PGtkBindingSet; path_type:TGtkPathType; path_pattern:Pgchar; priority:TGtkPathPriorityType);cdecl;external gtkdll name 'gtk_binding_set_add_path';
  78. {$ifndef gtkwin}
  79. procedure gtk_binding_entry_remove(binding_set:PGtkBindingSet; keyval:guint; modifiers:guint);cdecl;external gtkdll name 'gtk_binding_entry_remove';
  80. procedure gtk_binding_entry_add_signall(binding_set:PGtkBindingSet; keyval:guint; modifiers:guint; signal_name:Pgchar; binding_args:PGSList);cdecl;external gtkdll name 'gtk_binding_entry_add_signall';
  81. function gtk_binding_parse_binding(scanner:PGScanner):guint;cdecl;external gtkdll name 'gtk_binding_parse_binding';
  82. {$endif}
  83. {$endif read_interface}
  84. {****************************************************************************
  85. Implementation
  86. ****************************************************************************}
  87. {$ifdef read_implementation}
  88. function destroyed(var a : TGtkBindingEntry) : guint;
  89. begin
  90. destroyed:=(a.flag0 and bm_TGtkBindingEntry_destroyed) shr bp_TGtkBindingEntry_destroyed;
  91. end;
  92. procedure set_destroyed(var a : TGtkBindingEntry; __destroyed : guint);
  93. begin
  94. a.flag0:=a.flag0 or ((__destroyed shl bp_TGtkBindingEntry_destroyed) and bm_TGtkBindingEntry_destroyed);
  95. end;
  96. function in_emission(var a : TGtkBindingEntry) : guint;
  97. begin
  98. in_emission:=(a.flag0 and bm_TGtkBindingEntry_in_emission) shr bp_TGtkBindingEntry_in_emission;
  99. end;
  100. procedure set_in_emission(var a : TGtkBindingEntry; __in_emission : guint);
  101. begin
  102. a.flag0:=a.flag0 or ((__in_emission shl bp_TGtkBindingEntry_in_emission) and bm_TGtkBindingEntry_in_emission);
  103. end;
  104. {$endif read_implementation}